# How can I run the calculation of one equation through a range of variables in one loop

1 view (last 30 days)
Stuart Usher on 19 Oct 2021
Commented: Stuart Usher on 20 Oct 2021
Hi
I am inexperienced with MATLAB and new to this forum.
I and am trying to calculate weight transfer at varying inclines at varying amount of acceleration and get a range of values out which i can then calculate the amount of tyre deflection and plot (Wf, Ax), (Wf, S_T), and (Dt, Wf).
I am ok with plotting.
I hope you can help
Stu
i = 1;
for S_T = 0:3:60
TGDs = sin(TS_T); %Sine of incline
TGDc = cos(TC_T); %Cosine of incline
for Ax = 0:0.25:5
Wf(i)=(((W*cWB*TGDc)-(W*hCoG*TGDs)-((W/g)*Ax*hCoG))/WB)/9.81;
end
if Wf>=0
Wfo = Wf;
Dt = (0.5*Wfo)/(0.00028*P*d+3.45);
end
end
i=i+1;

Walter Roberson on 19 Oct 2021
S_T = 0:3:60; %row vector
TGDs = sind(TS_T); %Sine of incline
TGDc = cosd(TC_T); %Cosine of incline
Ax = (0:0.25:5).'; %column vector
Wf = (((W .* cWB .* TGDc) - (W .* hCoG .* TGDs) - ((W./g) .* Ax .* hCoG))./WB)./9.81;
Wfo = nan(size(Wf));
Dt = nan(size(Wf));
This will give you results that are length(ST) columns and length(Ax) rows.
Your existing code only copies to Wfo and Dt for cases where Wf are positive -- leaving it undefined what should happen if Wf <= 0. I duplicate that behaviour as best practical by writing NaN into Wfo and Dt and only putting in other values for the locations where Wf > 0
Stuart Usher on 20 Oct 2021
Hi Walter
This still does not produce what i need, which is the output from the equation calculated using the S-T 0:1:60 (61 calculations) while at Ax 0:0.25:5 (21 calculations) totaling 1281 calcutation of Wf
Stuart

KSSV on 19 Oct 2021
You can proceed something like below. No need to use loops.
i = 1;
S_T = 0:3:60 ;
TGDs = sin(TS_T); %Sine of incline
TGDc = cos(TC_T); %Cosine of incline
Ax = 0:0.25:5;
Wf=(((W*cWB*TGDc)-(W*hCoG*TGDs)-((W/g)*Ax*hCoG))/WB)/9.81;
Wfo = Wf(Wf>=0) ;
Dt = (0.5*Wfo)/(0.00028*P*d+3.45);
Stuart Usher on 20 Oct 2021
Hi KSSV
As above.

R2021b

### Community Treasure Hunt

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

Start Hunting!