matlab gravity=9.81;p0=101330;R=287.13;tempC=[15,-56.5,-56.5,-44.5,-2.5];z=[0,11000,20100,32200,47300];invertemp=1./(tempC+273.15);np=18;goverR=gravity/R;elevation=linspace(0,z(end),np);pressure=zeros(1,np);intarg=inline('interp1(z,invertemp,elevatio

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/17 23:31:54

matlab
gravity=9.81;p0=101330;R=287.13;
tempC=[15,-56.5,-56.5,-44.5,-2.5];
z=[0,11000,20100,32200,47300];
invertemp=1./(tempC+273.15);
np=18;
goverR=gravity/R;
elevation=linspace(0,z(end),np);
pressure=zeros(1,np);
intarg=inline('interp1(z,invertemp,elevation)','elevation','z','invertemp');
for i=1:np
pressure(i)=p0*exp(-goverR*quadl(intarg,0.1,elevation(i),[],[],z,...inversetemp));
end
subplot(1,2,1)
plot(tempC,z/1000.0,'k-s')
axis([-60 20 0 elevation(end)/1000.0])
xlabel('Temperature(C)')
ylabel('Elevation(km)')
subplot(1,2,2)
plot(pressure/1000.0,elevation/1000.0,'k')
axis([0,110,0,elevation(end)/1000.0])
ylabel('Elevation(km)')
xlabel('Pressure(kPa)')
Error:File:C:\Users\Administrator\Desktop\Untitled3.m Line:12 Column:4
Incomplete or misformed expression or statement.
就是end那里 怎么也不会改 菜鸟求救!

pressure(i)=p0*exp(-goverR*quadl(intarg,0.1,elevation(i),[],[],z,...inversetemp));
这句里边的inversetemp这个变量是不存在的,所以即使没有语法错误也不能执行.估计可能是invertemp这个变量,修改为:
pressure(i)=p0*exp(-goverR*quadl(intarg,0.1,elevation(i),[],[],z,invertemp)); 这样就好了
另:matlab中的 “...”用在一行的末尾,表示后面的内容不再编译,且本命令行未结束,在下一行继续本命令行的内容.所以那句才会出错的,提示命令行不完整.你在matlab的界面中,会看到 ...后面的字和被 % 注释掉的一个颜色.