NACA Airfoil Matlab问题

时间:2013-03-26 07:40:07

标签: matlab

我在生成NACA翼型图时遇到了障碍。这是代码:

% NACA 6414%
clc
clear
format compact

m1=input('Please enter one digit number for maxi camber line:')
p1=input('Please enter one digit number for distance of m and chordline:')
t1=input('Please enter two digit number for thickness of airfoil:')

m=m1*0.01;
p=p1*0.1;
t=t1*0.01;

x1=[0:0.01:p];
x2=[p:0.01:1];
x=[x1,x2]


yc1=(m*(2*p*x1-x1.^2))/(p^2);
yc2=(m/(1-p)^2)*((1-2*p)+2*p*x2-x2.^2);
yt=(t/0.2)*(0.2969*sqrt(x)-0.1260*x-0.3516*x.^2+0.2843*x.^3-0.1015*x.^4)

yc=[yc1,yc2]

ang1=(atan((m/p^2)*(2*p-2*x1)))*180/pi
ang2=(atan((m/(1-p)^2)*(2*p-2*x2)))*180/pi
ang=[ang1,ang2]

xu=x-yt.*sin(ang)
yu=yc+yt.*cos(ang)
xl=x+yt.*sin(ang)
yl=yc-yt.*cos(ang)

xplot=[xu,xl]
yplot=[yu,yl]

plot(xplot,yplot)

它没有生成正常的翼型图,而是带有一个非常奇怪的图形,其中包含图片上的许多圆圈。任何人都可以帮我弄清楚如何解决这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这是问题所在,我怀疑:

 ang1=(atan((m/p^2)*(2*p-2*x1)))*180/pi
 ang2=(atan((m/(1-p)^2)*(2*p-2*x2)))*180/pi
 ang=[ang1,ang2]

 xu=x-yt.*sin(ang)
 yu=yc+yt.*cos(ang)
 xl=x+yt.*sin(ang)
 yl=yc-yt.*cos(ang)

函数sin和cos期望以弧度为单位输入。 atan的输出也是以弧度为单位,但是你将它转换为度数,这意味着你后来绘制的xu,yu等输出将是错误的。除非你真的需要以度为单位的角度,否则尽量避免转换。或者,你可以使用这些函数的其他形式(sind,cosd,atand等)并保持整个度数。