Info

この質問は閉じられています。 編集または回答するには再度開いてください。

multiple text files into one in a for loop

1 回表示 (過去 30 日間)
Chris Murchison
Chris Murchison 2021 年 2 月 24 日
閉鎖済み: Cris LaPierre 2021 年 2 月 24 日
Hi,
I am trying to join multiple text files into one. RIght now, in my code, I have IT number of datafiles but I would like to all combine into one with the rows following on from the previous iteration. The file needs to contain all the columns of data that are shown in the table P. Here is my code:
If anyone can help it would be great;y appreciated.
clc,clear
close all
for IT = 1:50
x1 = -15+30*rand(3,1);
x2 = -15+30*rand(3,1);
N = 2;
r_t = 7000*1000; %km
g_t = 9.8; %m/s2
r = r_t;
g = g_t;
tau_d = 300;
t = 1;
omega = sqrt(g/r);
% target positions
e1 = [1; 1; 0];
e2 = [0; 0; -1];
%parameters and unknowns
mu = 398600.5;
n = sqrt(mu/r_t^3);
b = 0.112;
k1 = 1;
d = 0.037;
k2 = 1;
norm_d = norm(e1-e2);
c = -d/norm_d * exp(-norm_d^2/k2) - b/norm_d*exp(-norm_d^2/k1);
lambda = [b, c, d, k1, k2];
v1_gf = gf_sat_1_vel2(x1, x2, e1, e2, lambda, omega, tau_d, t, N);
v2_gf = gf_sat_1_vel2(x1, x2, e1, e2, lambda, omega, tau_d, t, N);
v10 = [0; 0; 0];
v20 = [0; 0; 0];
y0 = [x1(1); x1(2); x1(3); v10(1); v10(2); v10(3); x2(1); x2(2); x2(3); v20(1); v20(2); v20(3)];
dt=1;
tspan = 0:dt:1000;
[t,y] = ode45(@(t,y)ClohesseyWiltshire(y, n, lambda, e1, e2, omega, tau_d, t, N),tspan, y0);
U1 = zeros(length(t),length(e1));
U2 = zeros(length(t),length(e2));
dv1 = 0;
dv2 = 0;
for i = 1 : length(t)
[u1, u2, vg1, vg2] = ClohesseyWiltshire_u(y(i,:), n, lambda, e1, e2, omega, tau_d, t(i), N);
U1(i, :) = u1;
U2(i, :) = u2;
VD1(i, :) = vg1;
VD2(i, :) = vg2;
U1_norm(i) = norm(u1);
U2_norm(i) = norm(u2);
v1_gf = gf_sat_1_vel2(x1, x2, e1, e2, lambda, omega, tau_d, t(i), N);
V1GF(i, :) = v1_gf;
v2_gf = gf_sat_2_vel2(x1, x2, e1, e2, lambda, omega, tau_d, t(i), N);
V2GF(i, :) = v2_gf;
if i ~= 1
dv1 = norm(u1) * (t(i) - t(i-1)) + dv1;
dv2 = norm(u2) * (t(i) - t(i-1)) + dv2;
end
end
DV = [dv1; dv2];
R1 = y(:,1:3);
R1 = R1';
V1 = y(:,4:6);
V1 = V1';
R2 = y(:,7:9);
R2 = R2';
V2 = y(:,10:12);
V2 = V2';
figure(1)
plot3(R1(1, :), R1(2, :), R1(3, :))
hold on
plot3(R2(1, :), R2(2, :), R2(3, :))
plot3(x1(1),x1(2),x1(3),'o')
plot3(e1(1),e1(2),e1(3),'x')
plot3(x2(1),x2(2),x2(3),'o')
plot3(e2(1),e2(2),e2(3),'x')
hold on
title('Trajectories of Two Satellite Configuration - Gravitational Field')
xlabel('X')
ylabel('Y')
zlabel('Z')
legend({'Satellite 1','Satellite 2'},'Location','Southwest')
V1 = V1';
V2 = V2';
R1 = R1';
R2 = R2';
U1_norm = U1_norm';
U2_norm = U2_norm';
tspan = tspan';
% Create columns of data
% Create a table with the data and variable names
P = table(t, U1, VD1, U2, VD2, V1, V2, R1, R2, V1GF, V2GF, 'VariableNames', {'t', 'U1', 'VD1', 'U2', 'VD2' 'V1', 'V2', 'R1', 'R2', 'V1GF', 'V2GF'});
% Write data to text file
name = ['Database2/',num2str(IT), 'Database.txt'];
writetable(P, name)
end

回答 (0 件)

この質問は閉じられています。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by