Hi,
As per my understanding, you are calculating some data inside for loop and you wish to keep accumulating it into a table. After reviewing the code, it seems like you are only displaying the values rather than storing them in the for loop.
Kindly follow the below mentioned steps to store the values in the table.
- Initialize an empty array before the loop to keep storing the results.
- Append the result of each iteration to this table.
- After the loop, convert the array to a table and display it.
Refer to the code below to show the values in the table.
% Define symbolic variables
Ae = sym('Ae');
cd = sym('cd');
cl = sym('cl');
clt = sym('clt');
clw = sym('clw');
ct = sym('ct');
% Define constants
K = 0.045;
Ve = 0;
a = 5.19;
aw0 = -2/57.3;
awr = 1/57.3;
cd0 = 0.03;
cm0 = -0.0711;
cw = 1.716;
g = 9.81;
h = 0.29;
h0 = -0.08;
ht = 2000.0976;
k = 0;
lt = 6.184;
m = 6300;
ro = 1.006;
s = 25.08;
st = 7.79;
ztw = 0.312;
de=0.279;
e0=2/57.3;
nt=1.5/57.3;
a1=3.2;
a2=2.414;
Vt=(st*lt)/(s*cw);
% Initialize an array to store results
results = [];
for v = 100:15:250
vi = v * 0.515;
eqn = [(((2*m*g)*sin(Ae+Ve)/(ro*s))/vi^2)-ct*cos(k)+cd*cos(Ae)-cl*sin(Ae)==0, ...
(((2*m*g)*cos(Ae+Ve)/(ro*s))/vi^2)-cl*cos(Ae)-cd*sin(Ae)-cd*sin(k)==0, ...
(cm0+((h-h0)*clw))-(Vt*clt)+ct*(ztw/cw)==0, ...
cl-clw-(clt*st/s)==0, ...
cd-cd0-K*cl^2==0, ...
clw-a*(Ae+awr-aw0)==0 ];
[Ae_, ct_, cd_, clt_, clw_, cl_] = vpasolve(eqn, Ae, ct, cd, clt, clw, cl);
awi = Ae_ + awr;
ldi = clw_ / cd_;
setae = Ve + awi - awr;
Ati = (awi * (1 - de)) + nt - e0 - awr;
nei = (clt_ / a2) - ((a1 / a2) * Ati);
Li = 0.5 * ro * s * cl_ * (vi^2);
Ti = 0.5 * ro * s * ct_ * (vi^2);
Di = 0.5 * ro * s * cd_ * (vi^2);
% Append results to the array
results = [results; v, double(Ae_), double(ct_), double(cd_), double(clt_), double(clw_), double(cl_), ...
double(awi), double(ldi), double(setae), double(Ati), double(nei), double(Li), double(Ti), double(Di)];
end
% Convert results to a table
resultsTable = array2table(results, 'VariableNames', {'v', 'Ae_', 'ct_', 'cd_', 'clt_', 'clw_', 'cl_', ...
'awi', 'ldi', 'setae', 'Ati', 'nei', 'Li', 'Ti', 'Di'});
% Display the table
disp(resultsTable);
Kindly refer to the following MathWorks documentation link to more about “array2table” function: https://www.mathworks.com/help/matlab/ref/array2table.html
I hope this will help!