Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-29, 13:57   #1
physalis
初级会员
 
注册日期: 2009-04-23
年龄: 38
帖子: 4
声望力: 0
physalis 正向着好的方向发展
默认 求助,程序中的问题,请高手指教!

程序语句如下
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也不行,想请教一下这种情况应该怎么定义数据类型才能使积分正常运行?请高手指教!
上传的附件
文件类型: rar 程序中用到的xls文件.rar (12.9 KB, 2 次查看)
physalis 当前离线   回复时引用此帖
旧 2009-04-29, 20:57   #2
physalis
初级会员
 
注册日期: 2009-04-23
年龄: 38
帖子: 4
声望力: 0
physalis 正向着好的方向发展
默认 回复: 求助,程序中的问题,请高手指教!

没有人帮忙么
physalis 当前离线   回复时引用此帖
旧 2009-04-29, 21:56   #3
mathjiang
高级会员
 
注册日期: 2008-01-02
帖子: 247
声望力: 22
mathjiang 正向着好的方向发展
默认 回复: 求助,程序中的问题,请高手指教!

y 是输出,语句中怎么没有y?
mathjiang 当前离线   回复时引用此帖
旧 2009-04-30, 15:40   #4
physalis
初级会员
 
注册日期: 2009-04-23
年龄: 38
帖子: 4
声望力: 0
physalis 正向着好的方向发展
默认 回复: 求助,程序中的问题,请高手指教!

引用:
作者: mathjiang 查看帖子
y 是输出,语句中怎么没有y?
那句话可以去掉的。。。
physalis 当前离线   回复时引用此帖
旧 2009-04-30, 20:44   #5
mathjiang
高级会员
 
注册日期: 2008-01-02
帖子: 247
声望力: 22
mathjiang 正向着好的方向发展
默认 回复: 求助,程序中的问题,请高手指教!

读程序很累,感觉语句书写不规范,比如那个循环就不必如此书写。
错误在于,jf 本质上已经不是符号型变量了,而是double型数值。

此帖于 2009-04-30 21:05 被 mathjiang 编辑。
mathjiang 当前离线   回复时引用此帖
旧 2009-04-30, 22:05   #6
physalis
初级会员
 
注册日期: 2009-04-23
年龄: 38
帖子: 4
声望力: 0
physalis 正向着好的方向发展
默认 回复: 求助,程序中的问题,请高手指教!

引用:
作者: mathjiang 查看帖子
读程序很累,感觉语句书写不规范,比如那个循环就不必如此书写。
错误在于,jf 本质上已经不是符号型变量了,而是double型数值。
确实是double型。。但是我太新手了不会用double。。按照int的用法他就会说too many input argument。。
physalis 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 20:54


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.