Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2011-11-29
年龄: 37
帖子: 1
声望力: 0 ![]() |
![]()
方程为:(求x1,x2,x3,即a,b,c)
第一个:((2*a+3*b+c)^2*(a+b)*(1-c))/((1-a-b)*(2-0.5*a)^0.5*(4+1.5*a+2*b)^1.5)-3.46e11; 第二个:((2*a+3*b+c)^3*(a+b)*(1-c))/((1-a-b)*(1-b-c)^0.5*(4+1.5*a+2*b)^2)-0.966; 第三个:((2*a+3*b+c)*(a+b)*c)/((a+b)*(1-c)*(1-b-c))-1.176; 我编程为: function f=my1(x) a=x(1); b=x(2); c=x(3); f(1)=((2*a+3*b+c)^2*(a+b)*(1-c))/((1-a-b)*(2-0.5*a)^0.5*(4+1.5*a+2*b)^1.5)-3.46e11; f(2)=((2*a+3*b+c)^3*(a+b)*(1-c))/((1-a-b)*(1-b-c)^0.5*(4+1.5*a+2*b)^2)-0.966; f(3)=((2*a+3*b+c)*(a+b)*c)/((a+b)*(1-c)*(1-b-c))-1.176; 导入matlab中: >>x0=[3.9 0.5 0]; >> f=fsolve('my1',x0) 出现: No solution found. fsolve stopped because the last step was ineffective. However, the vector of function values is not near zero, as measured by the default value of the function tolerance. <stopping criteria details> f = 3.0832 -1.7871 0.6274 请问这是怎么回事呀?怎么才能求出结果呢?本人菜鸟,请高手帮忙,感激不尽! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2011-11-25
帖子: 1
声望力: 0 ![]() |
![]()
首先,可能是你的x0的范围没有设对,尝试一下将范围扩大
其次,这个方程组你确定有解吗?当非线性方程组无解然而你用fsolve尝试的时候会出现类似于此的信息 |
![]() |
![]() |
![]() |
#3 |
普通会员
注册日期: 2011-09-16
年龄: 39
帖子: 30
声望力: 14 ![]() |
![]()
math,matlab辅导 QQ:291873404(数学博士),
|
![]() |
![]() |