当前位置: 首页 > 有奖问答 >matlab求解多元非整次方方程组

matlab求解多元非整次方方程组

作者 juanjie1991
来源: 小木虫 450 9 举报帖子
+关注

如何利用MATLAB求解如下方程组,求未知数x,y,z:
0.9*2.7183^(x*(38-y)^z)-1=0;
2.7183^(x*(402-y)^z)-2=0;
2.7183^(x*(740-y)^z)-10=0;
fsolve函数或是solve函数,M-文件的建立,主程序代码等,求解啊~ 返回小木虫查看更多

今日热帖
  • 精华评论
  • juanjie1991

    我用solve函数求解如下:
    syms x y z;
    f1=0.9*2.7183^(x*(38-y)^z)-1;
    f2=2.7183^(x*(402-y)^z)-2;
    f3=2.7183^(x*(740-y)^z)-10;
    [x,y,z]=solve(f1==0,f2==0,f3==0)

    但是计算结果却是这样的:
    Warning: Explicit solution could not be found.
    > In solve at 169

    x =

    [ empty sym ]

    y =

         []

    z =
         []
    菜鸟求解答!!!!~~~~

  • juanjie1991

    还有用过fsolve函数求解:
    建立myfun.m文件:
    function F = myfun(x)
    F = [0.9*2.7183^(x(1)*(38-x(2))^x(3))-1;
        2.7183^(x(1)*(402-x(2))^x(3))-2;
        2.7183^(x(1)*(740-x(2))^x(3))-10];
    end

    然后在命令窗口输入:

    >> [x,fval]=fsolve(@myfun,[0,50,1]);
    x(1)
    x(2)
    x(3)
    Error using feval
    Undefined function 'myfun' for input arguments of type 'double'.

    Error in fsolve (line 241)
                fuser = feval(funfcn{3},x,varargin{:});

    Caused by:
        Failure in initial user-supplied objective function evaluation. FSOLVE cannot
        continue.

    结果不懂什么原因啊,还有初值[0,50,1]我不知道对不对,初值具体应该怎么确定啊?   
    求各路高手解答,菜鸟一个,对matlab一窍不通,求大神们帮帮忙~~~,

  • juanjie1991

    有没有人解答解答啊,泪花ing~~~

  • juanjie1991

    引用回帖:
    6楼: Originally posted by yanxp02 at 2014-09-25 11:18:07
    忘了说了,运行第一个m文件

    我已经知道自己错误的原因在哪了,M-文件保存的路径不对,我是自定义保存的。然后再请教一个问题,初值x0的确定对方程组的解的结果影响非常大,要怎样确定初值或是什么方法逐渐找到初值,使得结果误差在所需范围之内?

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓