lvhong168 发表于 2010-10-21 15:54:55

当solve求出无数多个解时

matlab中,当solve可以求出无数多个解时,如solve(‘sin(x)’),只输出一个解0,怎样控制这个解是在一个范围内啊?比如我要的输出结果是-pi,而不是0。这样怎样操作啊/谢谢

bainhome 发表于 2010-10-21 17:01:06

本帖最后由 bainhome 于 2010-10-21 17:14 编辑

MATLAB本身符号计算是个短板,从前用的是maple V的符号引擎,最近好像是2009A后,换成了mupad,如果非要要其他结果,自己用的又是2009后的 版本,可以用mupad试试:
1.在command windows中输入:mupad2.打开的mupad独立界面中,输入:sym_ans:=solve(sin(x)=0,x=-5..5)如果用6.5,可以用maple的壳包一下它自己的命令,最终解出解析解: maple('_EnvAllSolutions := true:solve( sin(x)=0, x );')

Walker0728 发表于 2010-10-21 17:16:09

2#bainhome 可以回答的更清楚一些吗,我用的是matlab7.1

messenger 发表于 2010-10-21 18:42:55

回答的已经够清楚了。你用matlab7.1(2009A以前版本)就用 maple('_EnvAllSolutions := true:solve( sin(x)=0, x );')这行代码。

2#bainhome 可以回答的更清楚一些吗,我用的是matlab7.1
Walker0728 发表于 2010-10-21 17:16 http://forum.simwe.com/images/common/back.gif
页: [1]
查看完整版本: 当solve求出无数多个解时