关于Matlab求解非线性隐式方程组的求解,利用fsolve,solve,或ezplot等自带函数求解,自编复杂程序!
想直接求解x*y=4;x^y=4;的解,我用一下方法及fsolve函数发现求不出来,但是试了其他简单的方程就可以求出来。以下是我的方法:%首先定义一个函数function...
想直接求解x*y=4;x^y=4;的解,我用一下方法及fsolve函数发现求不出来,但是试了其他简单的方程就可以求出来。以下是我的方法:
%首先定义一个函数
function ffx=fsolvefun(x);
ffx=[x(1)*x(2)=4;x(1)^x(2)=4];
%以下是命令窗口
[x,fval]=fsolve(@fsolvefun,[1;2]);
%出现以下错误:
??? Error using ==> feval
Undefined function or method 'fsolvefun' for input arguments of type 'double'.
Error in ==> fsolve at 254
fuser = feval(funfcn{3},x,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
不知道哪位高手能够解答 展开
%首先定义一个函数
function ffx=fsolvefun(x);
ffx=[x(1)*x(2)=4;x(1)^x(2)=4];
%以下是命令窗口
[x,fval]=fsolve(@fsolvefun,[1;2]);
%出现以下错误:
??? Error using ==> feval
Undefined function or method 'fsolvefun' for input arguments of type 'double'.
Error in ==> fsolve at 254
fuser = feval(funfcn{3},x,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
不知道哪位高手能够解答 展开
1个回答
展开全部
ffx=[x(1)*x(2)=4;x(1)^x(2)=4]; %此句=改为-
solve函数才是列等式呢
x =
2.0000 2.0000
fval =
1.0e-06 *
-0.0744 -0.1816
solve函数才是列等式呢
x =
2.0000 2.0000
fval =
1.0e-06 *
-0.0744 -0.1816
追问
能不能把你的算是列出来让我试试呢,多谢
追答
用solve函数,可以写成:
[x,y]=solve('x*y=4','x^y=4','x','y')
用fsolve函数,直接把你m文件中的ffx=[x(1)*x(2)=4;x(1)^x(2)=4]改为
ffx=[x(1)*x(2)-4;x(1)^x(2)-4];
其他不变
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询