Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-12-10
年龄: 37
帖子: 6
声望力: 0 ![]() |
![]()
[p,c]=solve('168/334=acos((c^2+272.5674^2-(p+63.56)^2)/(2*c*272.5674))-acos((c^2+272.5674^2-(p-63.56)^2)/(2*c*272.5674))',...
'0.2461=acos((-c^2+272.5674^2+(p+63.56)^2)/(2*(p+63.56)*272.5674))-acos((-c^2+272.5674^2+(p-63.56)^2)/(2*(p-63.56)*272.5674))') Warning: Explicit solution could not be found. > In solve at 140 p = [ empty sym ] c = [] 上面是matlab计算的,看起来很复杂,编辑水平有限,大家耐心点帮忙看看.... 就p,c,是要求解的,其它的都是已知的。 路过的高手帮帮忙.. |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-12-10
年龄: 37
帖子: 6
声望力: 0 ![]() |
![]()
方法是对的嘛?
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-12-10
年龄: 37
帖子: 6
声望力: 0 ![]() |
![]()
:tongue: :biggrin:
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-12-20
年龄: 40
帖子: 11
声望力: 17 ![]() |
![]()
首先说 我也是新手 我的做法也很业余
在这个方程上,用solve是最不明智的选择,因为solve解决线性方程还可以,解决非线性方程就差远了,这也是新手容易犯的错误 碰到方程就solve,解非线性方程还是fsolve比较好。 下面是我的结果,同样期待高手批阅。 m文件 function y=fun(x) y=[168/334-acos((x(1)^2+272.5674^2-(x(2)+63.56)^2)/(2*x(1)*272.5674))-acos((x(1)^2+272.5674^2-(x(2)-63.56)^2)/(2*x(1)*272.5674)),0.2461-acos((-x(1)^2+272.5674^2+(x(2)+63.56)^2)/(2*(x(2)+63.56)*272.5674))-acos((-x(1)^2+272.5674^2+(x(2)-63.56)^2)/(2*(x(2)-63.56)*272.5674))] command 窗口 x0=[1.0 1.0] fsolve(@fun,x0) ans = 48.6881 + 8.1128i 0.9401 - 0.7512i 中间过程没有复制粘贴 祝你早日成为高手 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-12-10
年龄: 37
帖子: 6
声望力: 0 ![]() |
![]()
你的方法很对哦
可是x[0]取1.0 1.0 不是很对 值大概在260 90 还是很谢谢你的方法, 不知这种非线性方程取近似值时有什么规律没? x0=[265 90] ans = 1.0e+002 * 2.4694 + 0.0018i 0.8814 - 0.0018i |
![]() |
![]() |
![]() |
#6 |
游客
帖子: n/a
|
![]()
这个值只是个搜索的起点吧
没有什么限制 只是fsolve函数的参数里面有限制 这个我不太明白 |
![]() |
![]() |
#7 |
初级会员
注册日期: 2008-12-20
年龄: 40
帖子: 11
声望力: 17 ![]() |
![]()
我知道了
fsolve这个函数一次只能解出一个0点 |
![]() |
![]() |
![]() |
#8 |
初级会员
注册日期: 2008-12-10
年龄: 37
帖子: 6
声望力: 0 ![]() |
![]()
恩,楼上的有道理。
但是取值不同,结果差别很大哦...... 不知各位大侠遇到这种事没? |
![]() |
![]() |
![]() |
#9 |
初级会员
注册日期: 2008-12-20
年龄: 40
帖子: 11
声望力: 17 ![]() |
![]()
fsolve这个函数每次只能求解一个零点
他从你给定的起点开始搜索 遇到解就停止 所以再用fsolve解题时 应该先用plot画出函数图形 然后从零点的附近选择搜索起点 |
![]() |
![]() |
![]() |
#10 |
初级会员
注册日期: 2009-07-13
年龄: 39
帖子: 1
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]关于求高阶系统的传递函数 | longyingdong | MATLAB论坛 | 0 | 2009-03-26 09:07 |
[求助]采样simulink数据到工作空间的问题 | vsunl | MATLAB论坛 | 0 | 2009-02-23 21:31 |
Matlab声音合成和滤波的问题【附代码-自己写的】 | xmuer | MATLAB论坛 | 4 | 2008-12-17 08:58 |
[求助]电力系统机组启停优化算法程序 | woshi523de | MATLAB论坛 | 1 | 2008-11-18 08:12 |
Studying the World's Most Complex Dynamic Systems | TechnicalArticles | MATLAB技术文章 | 0 | 2008-08-29 00:40 |