小班绘本 月亮的味道:关于Matlab解方程

来源:百度文库 编辑:高考问答 时间:2024/05/06 02:26:23
为什么用t=solve('cos1=cos2'):解不出来结果,给出 t=cos2,而用 t=solve('0.9349=5*t'),确能解出来结果,其中cos1 =0.9349,cos2 =t*5,详细命令如下:
>> cos1 =0.9349
cos1 =
0.9349
>> cos2 =t*5
cos2 =
5*t
>> t=solve('cos1=cos2')
t =
cos2
>>t=solve('0.9349=5*t')
t =
.18698000000000000000000000000000
我急用啊,在线等了,谢谢大家了

在t=solve('cos1=cos2')中,'cos1=cos2'被认为是一个表达式,里面的变量由solve函数自己负责解析出来,和变量cos1,cos2的值没有关系,而且solve函数在内部决定哪一个是用来求解的“未知数”,这里'cos1'被认为是“未知数”,所以“解”就是:cos2. solve函数内部由调用findsym的结果来决定哪一个是“未知数”。

如果是给cos1,cos2都赋了值,"未知数"也不是cos1,cos2的话,在调用solve函数的时候,不要加单引号,也不要用带等号的表达式,把等号换成减号,比如
>> cos1 =0.9349;
>> cos2=5*t;
>> t=solve(cos1-cos2)

t =

9349/50000

俺也遇到同样的问题噢

t*5是未知变量,不能赋值给cos2.