| 查看: 1802 | 回复: 4 | ||
[求助]
使用matlab 中的fsolve 老提示出错
|
|
我最近想用Matlab 中fsolve求解一组非线性方程。编写程序如下: function f= myfun(t) syms x a b t0 t4; a=5000;b=10000;t0=0;t4=1; t1=t(1);t2=t(2);t3=t(3); f(1)=-int(a+b*x,t1,t2)+(t1-t0)*(a+b*t1); f(2)=-int(a+b*x,t2,t3)+(t2-t1)*(a+b*t2); f(3)=-int(a+b*x,t3,t4)+(t3-t2)*(a+b*t3); end 但在调用fsolve(@myfun,[0.2 0.5 0.7]) 计算时,老报错,如下: Undefined function or method 'isfinite' for input arguments of type 'sym'. Error in ==> trustnleqn at 27 if any(~isfinite(Fvec)) Error in ==> fsolve at 366 [x,FVAL,JACOB,EXITFLAG,OUTPUT,msgData]=... 如果不用M函数文件,以上是有结果的,但不知编成M函数文件时始终提示不对。 望高手帮忙,万分感谢。 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
E0414, 我的本子有没有希望?
已经有7人回复
有谁可曾问过你过的还好吗?
已经有17人回复
一篇论文同时出现在两个期刊,一模一样,这算不算学术不端,请各位老师斧正。
已经有12人回复
希望面上有个好结果
已经有7人回复
今年也是没消息就是没中么
已经有16人回复
三区计算机方向期刊推荐
已经有5人回复
sci论文二审求助
已经有5人回复
函评
已经有7人回复
买卖文章的刷屏了!
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助!matlab用fsolve函数求解非线性方程组的问题!
已经有19人回复
【求助】matlab中fsolve解的精度控制【已解决】
已经有4人回复
baobiao007
木虫 (职业作家)
中国特色
- 应助: 201 (大学生)
- 金币: 6482.7
- 散金: 557
- 红花: 40
- 帖子: 3050
- 在线: 1009.9小时
- 虫号: 505962
- 注册: 2008-02-18
- 专业: 应用地球物理学
【答案】应助回帖
★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢应助! 2012-09-18 19:48:41
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢应助! 2012-09-18 19:48:41
|
改成下面的形式: function f=myfun(t) syms x a b t0 t4 t1=t(1);t2=t(2);t3=t(3); f1=-int(a+b*x,t1,t2)+(t1-t0)*(a+b*t1); f2=-int(a+b*x,t2,t3)+(t2-t1)*(a+b*t2); f3=-int(a+b*x,t3,t4)+(t3-t2)*(a+b*t3); y1=subs(f1,{a,b,t0,t4},{5000 10000 0 1}); y2=subs(f2,{a,b,t0,t4},{5000 10000 0 1}); y3=subs(f3,{a,b,t0,t4},{5000 10000 0 1}); f=[y1,y2,y3]; end |
» 本帖已获得的红花(最新10朵)

2楼2012-09-18 13:53:47
3楼2012-09-18 19:06:18
4楼2012-09-18 19:08:14

5楼2015-12-10 12:01:37











回复此楼
世纪乘风