Find Critical Mach number graphically

Hey,
I have to plot two curves to find the critical mach number in matlab. Very rusty at Matlab (been a few years). For the first curve I have to plot the Critical Pressure coefficient value vs. the Critical Mach number and the other curve is the Pressure coefficient (calculated with the minimum pressure coefficient at low speed) vs object mach number
my code thus far is:
Cpo = -0.65; Mcr = linspace(1,8,20); Minfin = linspace(0,1,20);
Ccrit = (2/(1.4*Mcr.^2))*(((((2+(.4*Mcr.^2))/2.4))^3.5)-1); Cp = Cpo/(sqrt(1-Minfin.^2));
plot(Mcr,Ccrit) plot(Minfin,Cp) grid
and I keep getting an error in the Ccrit and Cp lines. Any help is appreciated thanks

7 件のコメント

Brian B
Brian B 2013 年 2 月 12 日
What does the error tell you?
Kyle
Kyle 2013 年 2 月 12 日
error using /
Brian B
Brian B 2013 年 2 月 12 日
Did you try breaking down your equations until you found which division produces the error?
Kyle
Kyle 2013 年 2 月 12 日
I took out the *(((((2+(.4*Mcr.^2))/2.4))^3.5)-1); section and still gave me an error on Ccrit. I apologize if it is an elementary error, just rusty at Matlab
Brian B
Brian B 2013 年 2 月 12 日
No worries. But there's nothing like a little debugging to refresh the memory. I'm not trying to be annoying; this is how I learned MATLAB, too. (And I'm doing my own homework right now, as well.)
In the error
Error using /
you'll notice that the slash is bold and underlined. Click on it. Compare with the function rdivide.
Kyle
Kyle 2013 年 2 月 12 日
Sorry but still don't completely understand where the error is completely
Brian B
Brian B 2013 年 2 月 12 日
You've probably figured it out by now, but you need to change use
Ccrit = (2./(1.4*Mcr.^2)) ...*(((((2+(.4*Mcr.^2))/2.4)).^3.5)-1);
% ^ ^
% | |
% Note the periods before the "/" and before the "^".
You will need to make a similar change to the equation for Cp.

サインインしてコメントする。

回答 (3 件)

Teja Muppirala
Teja Muppirala 2013 年 2 月 12 日

0 投票

You probably just need to change "/" to "./"
Remember, the dot indicates elementwise operations.
This works:
1./[1 2 3]
This does not:
1/[1 2 3]
Youssef  Khmou
Youssef Khmou 2013 年 2 月 12 日

0 投票

hi Kyle : try this :
Cpo = -0.65;
Mcr = linspace(1,8,20);
Minfin = linspace(0,1,20);
Ccrit = (2./(1.4*Mcr.^2)).*(((((2+(.4*Mcr.^2))./2.4)).^3.5)-1);
%keyboard,
Cp = Cpo./(sqrt(1-Minfin.^2));
figure,
plot(Mcr,Ccrit),xlabel('Critical Mach number'), ylabel('Critical Pressure coefficient value')
figure,grid
plot(Minfin,Cp,'r'), xlabel('object mach number'), ylabel(' Pressure coefficient' );grid

1 件のコメント

Youssef  Khmou
Youssef Khmou 2013 年 2 月 12 日
The erro exist only in power operator "^" you have to use element-wise ".^" .

サインインしてコメントする。

Kyle
Kyle 2013 年 2 月 12 日

0 投票

Thank you everyone, got it working. @ Youssef KHMOU, you are a saint thank you

カテゴリ

タグ

質問済み:

2013 年 2 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by