alberten 发表于 2007-6-23 13:34

用Matlab怎么解三角函数方程?

比如要解 arccos4X+arccos5X=9(只是个比方,不管有无解),用什么函数、什么格式?万分感谢!

[ 本帖最后由 eight 于 2007-6-25 10:59 编辑 ]

咕噜噜 发表于 2007-6-23 18:11

help fsolve

yf2002043227 发表于 2007-6-23 19:26

>> syms X
y=acos(4*X)+acos(5*X)-9;
solve(y)
Warning: Explicit solution could not be found.
> In solve at 140
In sym.solve at 49

ans =

[ empty sym ]

happy 发表于 2007-6-23 21:00

这个函数应该是有解的,但是不能直接求解,因为matlab中acos的值域是0-pi

换而言之,直接求解的话方程左端最大值为2pi,显然不可能使等式成立

yf2002043227 发表于 2007-6-24 11:08

原帖由 happy 于 2007-6-23 21:00 发表 http://www.chinavib.com/forum/images/common/back.gif
这个函数应该是有解的,但是不能直接求解,因为matlab中acos的值域是0-pi

换而言之,直接求解的话方程左端最大值为2pi,显然不可能使等式成立
:handshake ,忘了这点了,晕

xjzuo 发表于 2007-6-24 16:07

一般思路:简单的问题可以用solve, 没有解析解时,再用fsolve.

happy 发表于 2007-6-24 20:25

原帖由 xjzuo 于 2007-6-24 16:07 发表 http://www.chinavib.com/forum/images/common/back.gif
一般思路:简单的问题可以用solve, 没有解析解时,再用fsolve.

这个问题不是用什么命令的问题,值域的问题

xjzuo 发表于 2007-6-24 22:39

原帖由 happy 于 2007-6-24 20:25 发表 http://www.chinavib.com/forum/images/common/back.gif


这个问题不是用什么命令的问题,值域的问题

我的意思是针对他的标题-----本问题你上面已经提到了注意的地方,自然地,考虑之后,就可以按照我说的做了,毕竟问题最终还是需要命令来求解的. 而且LZ只是举了个简单例子,相信其原问题可能会更复杂一些.

[ 本帖最后由 xjzuo 于 2007-6-25 10:18 编辑 ]
页: [1]
查看完整版本: 用Matlab怎么解三角函数方程?