Dear Matlab gurus,
Having trouble plotting several graphs using a for loop. Error comes upto '>='. Tried with '>' only, and it too won't work.
"Error: File: ******.m Line: 14 Column: 7 Unexpected MATLAB operator."
I'm not too good at computing. Help would be much appreciated.
Thanks,
Kelvin
% Drag force coefficient
c = 1.3
% Surface area of skydiver - m^2
A = 1.2
% Altitude - m
h = 40000
% Atmospheric pressure - Pa
p = 101325
% Specific gas constant for dry air - J/kg K
R = 287.058
% Density - mol
D = P/R.*T
for h >= 0
% Temperature - K
T = -1.033.*10.^-16.*h.^4 + 3.344.*10.^-12.*h.^3 + 2.521.*10.^7.*h.^2 - 0.009527.*h + 293;
% Pressure
P = p.*(1 - 2.256.*10.^-5.*h).^5.256;
% Drag Force
F = 1/2.*p.*v.^2.*c.*A;
h = h - 1;
end
% Q1
figure(1);
plot(T, h)
title('Temperature as a fn of Altitude')
xlabel('Temperature (K)')
ylabel('Height (m)')
% Q2
figure(2);
plot(P, h)
title('Pressure as a fn of Altitude')
xlabel('Pressure (Pa)')
ylabel('Height (m)')
% Q3
figure(3);
plot (D, h)
title('Density as a fn of Altitude')
xlabel('Density (mol.)')
ylabel('Height (m)')

 채택된 답변

Image Analyst
Image Analyst 2017년 9월 24일

0 개 추천

It doesn't make sense. What is x??? You didn't define it. Even if you did, you would use "if" or "while" instead of "for". And if you used a while, x would have to change within the loop or else the loop would never end.

댓글 수: 1

Kelvin Kong
Kelvin Kong 2017년 9월 24일
Sorry, forgot to update x. x is meant to be h. Edited*.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

John D'Errico
John D'Errico 2017년 9월 24일
편집: John D'Errico 2017년 9월 24일

0 개 추천

for x >= 0
is not valid MATLAB syntax. No matter what you think it means, you cannot make up new syntax and expect it to work. Computer languages don't work that way.
Perhaps you wanted a while loop. But x is undefined at that point.
I'd start by reading the help docs on for and while. Reading the manual is always a good idea.
doc for
doc while

댓글 수: 3

Kelvin Kong
Kelvin Kong 2017년 9월 24일
Gotcha!
I'll be back! In Arnold's voice hehe..
Kelvin Kong
Kelvin Kong 2017년 9월 24일
What about this for loop? for (h > 0) && (h = 0)
Error with '>'.
Uh, no. What value can be both equal to zero and greater than zero at the same time? Anyway, (h=0) is an assignment, and that will probably return "true" since the assignment can be made successfully. But a for loop is
for k = startValue : stepValue : endingValue
or
for k = setOfKValues
where setOfKValues is a set of values that k will take on in turn as the loop iterates.
I'm thinking you probably want
while h > 0

댓글을 달려면 로그인하십시오.

Kelvin Kong
Kelvin Kong 2017년 9월 25일

0 개 추천

So' I changed the 'for' into 'if', and the error went away. Updated my code, got the graphs windows to open up but no plots. What did I do wrong?
% Drag force coefficient
c = 1.3
% Surface area of skydiver - m^2
A = 1.2
% Altitude - m
h = 40000
% Atmospheric pressure - Pa
p = 101325
% Specific gas constant for dry air - J/kg K
R = 287.058
% Density - mol.
D = P/R.*T
% Mass of Space Diver - kg
m = 100
% Acceleration of gravity - m/s
g = 9.8
% Initial velocity - m/s
u = 0
% Drag
DF = 0
for x = 0:40000:1
if h >= 0
% Temperature - K
T = -1.033.*10.^-16.*h.^4 + 3.344.*10.^-12.*h.^3 + 2.521.*10.^7.*h.^2 - 0.009527.*h + 293;
% Pressure
P = p.*(1 - 2.256.*10.^-5.*h).^5.256;
% Acceleration Eq.
a = (m.*g - DF)/m;
% Velocity Eq.
h0 = h
s = h - h0
v = sqrt(u.^2 + 2.*a.*s);
% Drag Force
DF = 1/2.*p.*v.^2.*c.*A;
h = h - 1;
end
end
% Q1
figure(1);
plot(T, h)
title('Temperature as a fn of Altitude')
xlabel('Temperature (K)')
ylabel('Height (m)')
grid on
% Q2
figure(2);
plot(P, h)
title('Pressure as a fn of Altitude')
xlabel('Pressure (Pa)')
ylabel('Height (m)')
grid on
% Q3
figure(3);
plot (D, h)
title('Density as a fn of Altitude')
xlabel('Density (mol.)')
ylabel('Height (m)')
grid on
% Q4
figure(4);
plot (v, h)
title(' Velocity of Space Diver as Fn of Altitude')
xlabel('Velocity (m/s)')
ylabel('Height (m)')
grid on

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

태그

질문:

2017년 9월 24일

답변:

2017년 9월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by