physalis
2009-04-29, 13:57
程序语句如下
function y=temper
clear
alt=xlsread('f:\0811252045alt');...
sig=xlsread('f:0811252045sig');
syms pz pz0 z z0 nz0 jf tz0 tz
h=0;g=9.75;m=1;r=1;z0=47400;
for i=1:1024;
h=h+1;
z=alt(h);pz=sig(h);
nz=((pz*(z^2))/(pz0*(z0^2)))*nz0;
jf=g*nz;
int(jf,z,z0);
tz=(tz0*nz0+m/r*jf)/nz
end
这么运行的话没有问题,但是增加了几个已知量之后,程序如下
function y=temper
clear
alt=xlsread('f:\0811252045alt');...
sig=xlsread('f:0811252045sig');
syms pz pz0 z z0 nz0 jf tz0 tz
h=0;g=9.75;m=1;r=1;z0=47400;nz0=1.43e-3;...
tz0=270.65;nz=1.37e-3;pz0=347;
for i=1:1024;
h=h+1;
z=alt(h);pz=sig(h);
nz=((pz*(z^2))/(pz0*(z0^2)))*nz0;
jf=g*nz;
int(jf,z,z0);
tz=(tz0*nz0+m/r*jf)/nz
end
运行显示
??? Function 'int' is not defined for values of class 'double'.
Error in ==> temper at 12
int(jf,z,z);
貌似是数据类型的问题吧?但是用double也不行,想请教一下这种情况应该怎么定义数据类型才能使积分正常运行?请高手指教!
function y=temper
clear
alt=xlsread('f:\0811252045alt');...
sig=xlsread('f:0811252045sig');
syms pz pz0 z z0 nz0 jf tz0 tz
h=0;g=9.75;m=1;r=1;z0=47400;
for i=1:1024;
h=h+1;
z=alt(h);pz=sig(h);
nz=((pz*(z^2))/(pz0*(z0^2)))*nz0;
jf=g*nz;
int(jf,z,z0);
tz=(tz0*nz0+m/r*jf)/nz
end
这么运行的话没有问题,但是增加了几个已知量之后,程序如下
function y=temper
clear
alt=xlsread('f:\0811252045alt');...
sig=xlsread('f:0811252045sig');
syms pz pz0 z z0 nz0 jf tz0 tz
h=0;g=9.75;m=1;r=1;z0=47400;nz0=1.43e-3;...
tz0=270.65;nz=1.37e-3;pz0=347;
for i=1:1024;
h=h+1;
z=alt(h);pz=sig(h);
nz=((pz*(z^2))/(pz0*(z0^2)))*nz0;
jf=g*nz;
int(jf,z,z0);
tz=(tz0*nz0+m/r*jf)/nz
end
运行显示
??? Function 'int' is not defined for values of class 'double'.
Error in ==> temper at 12
int(jf,z,z);
貌似是数据类型的问题吧?但是用double也不行,想请教一下这种情况应该怎么定义数据类型才能使积分正常运行?请高手指教!