MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]程序:a=3; x=solve('1+2+x+a=9') 结果: x=6-a (https://www.labfans.com/bbs/showthread.php?t=4723)

gkyingkyin 2008-10-04 20:58

[求助]程序:a=3; x=solve('1+2+x+a=9') 结果: x=6-a
 
程序:
a=3;
x=solve('1+2+x+a=9')
结果:
x=6-a
请问为什么不是3呢,也就是a在结果中为什么没被赋值?
请大家指点
谢谢!!

meteora1005 2008-10-04 21:46

回复: 新手求助!
 
solve中的是一个字符串表达式,用单引号括起来的,那么外面的任何变量都是赋不进此字符串的,则solve的结果也是以符号形式给出的,你可以看一下,你的结果的x的类型是sym型的,想把a=3赋进字符串有一个办法:
a=3;
x=solve(['1+2+x+',num2str(a),'=9'],'x');
结果是:
x =
3
其中就是用num2str把a转换成字符了,达到赋值传递的目的。:redface:

gkyingkyin 2008-10-05 14:56

回复: 新手求助!
 
十分感谢!!

xiezhh 2008-10-05 21:27

回复: 新手求助!
 
a=3;
x=solve('1+2+x+a=9');
x=eval(x)


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

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