Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-04-29, 10:22   #1
Shadowsong
初级会员
 
注册日期: 2010-03-23
年龄: 37
帖子: 2
声望力: 0
Shadowsong 正向着好的方向发展
默认 新手求助 赋值的变量比较大小时出错 非常感谢

for i=[1:n]
L(i)=sqrt(energy(i)*8/6.02e23/1.6e-19/E/E*M)*1e9 ;
z1(i)=floor(mid-0.5*L(i));
z2(i)=floor(mid+0.5*L(i));
temp=T>z1(i)&T<z2(i) ; %就是这条指令报错了 Function 'gt' is not implemented for MuPAD symbolic objects.

n,mid,E,M都是用户输入的值,energy与T是用户输入的数组,因此对于循环中的每一个i.z1(i)与z2(i)都是可求出的,为什么进行比较运算时还是认为z1(i),z2(i)是字母变量无法比较?
运行程序报错后,我输入z1(1),z2(1),都得到了一个正常的数字结果,输入T,也会显示一个正常的数组,问题应该出在比较的那一行上。

在此提前感谢大家的关注与帮助!

此帖于 2010-04-30 13:20 被 Shadowsong 编辑。
Shadowsong 当前离线   回复时引用此帖
旧 2010-05-16, 17:15   #2
myhonor
初级会员
 
注册日期: 2010-04-07
住址: 西安
帖子: 1
声望力: 0
myhonor 正向着好的方向发展
默认 回复: 新手求助 赋值的变量比较大小时出错 非常感谢

引用:
作者: Shadowsong 查看帖子
for i=[1:n]
L(i)=sqrt(energy(i)*8/6.02e23/1.6e-19/E/E*M)*1e9 ;
z1(i)=floor(mid-0.5*L(i));
z2(i)=floor(mid+0.5*L(i));
temp=T>z1(i)&T<z2(i) ; %就是这条指令报错了 Function 'gt' is not implemented for MuPAD symbolic objects.

n,mid,E,M都是用户输入的值,energy与T是用户输入的数组,因此对于循环中的每一个i.z1(i)与z2(i)都是可求出的,为什么进行比较运算时还是认为z1(i),z2(i)是字母变量无法比较?
运行程序报错后,我输入z1(1),z2(1),都得到了一个正常的数字结果,输入T,也会显示一个正常的数组,问题应该出在比较的那一行上。

在此提前感谢大家的关注与帮助!
temp=T>z1(i)&T<z2(i) ;
按你的说法,T是数组,怎么可以和标量比较呢?
myhonor 当前离线   回复时引用此帖
回复

主题工具
显示模式

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

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



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


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