Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-09-29
帖子: 2
声望力: 0 ![]() |
![]()
对matlab不熟悉,由于临时需要做一个方程组的求解才开始接触这个软件。方程组如下图,我解出结果后,将结果代回原先的方程组,方程两边却不相等。不知道为什么。
有哪位大虾能帮忙解一下这个方程组,最好能给出matlab代码,非常感谢~~~ 下面是我编写的m文件,其中x(1),x(2),x(3)分别对应上图中的R1、R2、R3: function Test clc clear options=optimset('Display','off'); options.TolFun=1e-30; options.TolX=1e-16; x0=[0.4;0.4;0.4]; %初值 [x,fval]=fsolve(@mf,x0,options) function F=mf(x) b0=0.611553; b1=1.746500; b2=1.860016; u = 6; F = [1.0/(x(1)*x(2)*x(3))-b0;1.0/(x(1)*x(2))+(2-u)/(x(1)*x(3))+(3-u)/(x(2)*x(3))-b1;2.0/x(2)+(2-u)/x(3)+1.0/x(1)-b2]; 得出的结果: x = 0.7567 1.2281 11.1929 fval = -0.5154 -1.3610 0.7326 可以看出,这三个x如果代回到第一个方程中,方程两边根本就不相等,而且差很多。 另外,不明白这个fval代表什么意思,是做什么的。 希望各位大虾帮帮忙解一下这个方程,再次感谢~~~ |
![]() |
![]() |