Function '>' is not defined for values of class 'sym'?
运行程序后出现??? Error using ==> >
Function '>' is not defined for values of class 'sym'.
是什么问题?要怎么改?难道用于比较的大于号不是'>'?
谢谢!
[ 本帖最后由 ChaChing 于 2009-5-12 16:18 编辑 ] 建议楼主看下本版规则! 给齐完整格式:出错代码和出错提示!
回复 沙发 ChaChing 的帖子
??? Error using ==> >Function '>' is not defined for values of class 'sym'.
Error in ==> D:\matlab\work\Ta.m
On line 175==> if L>12
出错提示就是这样的 我的程序太长了,不然就把程序贴出来了,帮我看看怎么回事,谢谢
回复 沙发 ChaChing 的帖子
我重新编了一段简单些的程序,只不过简化了L1,L2,L3的算法,实际程序中L1,L2,L3的算法复杂的多。x=input('输入水进口温度(7-15度):');
while x>15|x<7
x=input('输入量不在指定范围内,请重新输入(7-15度):');
end
L=0;i=0;j=0;tk=x;m=0;L1=0;L2=0;L3=0;
while L>12|L<11.5
L1=9/tk;L2=2;L3=7; L=L1+L2+L3;
if L>12
i=i+1;
if i*j==0, tk=tk+5;
else m=m+1; tk=tk+5/2^m;
end
elseif L<11.5
j=j+1;
if i*j==0, tk=tk-5;
else m=m+1; tk=tk-5/2^m;
end
end
end
disp('tk=');disp(tk)
为什么这里的if L>12没有提示出错?而实际程序里后面的这一段是一样的,却总提示
??? Error using ==> >
Function '>' is not defined for values of class 'sym'.
Error in ==> D:\matlab\work\Ta.m
On line 175==> if L>12
另外,为什么以上这段程序贴到命令窗口可以正常运行,但是直接用M文件RUN就提示
Empty state-space model.
[ 本帖最后由 ChaChing 于 2009-5-12 20:52 编辑 ] 在M文件里也可以运行:
输入水进口温度(7-15度):8
tk=
3
[ 本帖最后由 friendchj 于 2009-5-12 15:56 编辑 ]
回复 6楼 friendchj 的帖子
你好!能说的详细些么?那我要怎么改呢?回复 7楼 shuigongtianlan 的帖子
你检查一下出错时变量L的类型回复 7楼 friendchj 的帖子
我整个程序里没用到符号变量啊,定义的都是数值变量。还有,我贴的程序为什么我不能用M文件运行,昨天还行的 今天就提示
>> Empty state-space model.
回复 8楼 shuigongtianlan 的帖子
看看你的M文件名是否和matlab自带的函数名重复。 刚运行了一下LZ贴出的程序,发现没有错误。。。输入水进口温度(7-15度):10
tk=
3.1250
不过看了LZ的程序,发现L1的值应该是9/tk(tk=x),因而应该是0.9,可matlab运行出的结果却是2.9508,整个程序L1只有一次赋值,很让人费解。。难道是偶没看懂程序???
而且当输入的x=9时,程序一直算不出结果,可能陷入死循环了。。
[ 本帖最后由 maigicku 于 2009-5-12 17:05 编辑 ]
回复 10楼 maigicku 的帖子
楼主的L1是在while循环中的,只要L满足L>12|L<11.5,就不会跳出循环。回复 11楼 friendchj 的帖子
感谢LS指点。。。。弄懂了LZ的程序。。不过当x=9时,L是逐渐递减的,除非收敛,要不然永远循环下去。。LZ的程序有弊端啊。。
页:
[1]