matlab用fsolve求解非线性方程组,无法求解……方程组如下function eq=gf(x)%给出已知的近似解x=[195.3 0.001 389.3 249.4]Ap=556;As=942;fsk=337.35;e0=0.002;z=421.4;hp=429;hs=551;Ep=195000;Es=200000;eq(1)=Ap*x(4)+As*x(3)-(Ap+As)*fs

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 18:03:01
matlab用fsolve求解非线性方程组,无法求解……方程组如下function eq=gf(x)%给出已知的近似解x=[195.3 0.001 389.3 249.4]Ap=556;As=942;fsk=337.35;e0=0.002;z=421.4;hp=429;hs=551;Ep=195000;Es=200000;eq(1)=Ap*x(4)+As*x(3)-(Ap+As)*fs

matlab用fsolve求解非线性方程组,无法求解……方程组如下function eq=gf(x)%给出已知的近似解x=[195.3 0.001 389.3 249.4]Ap=556;As=942;fsk=337.35;e0=0.002;z=421.4;hp=429;hs=551;Ep=195000;Es=200000;eq(1)=Ap*x(4)+As*x(3)-(Ap+As)*fs
matlab用fsolve求解非线性方程组,无法求解……
方程组如下
function eq=gf(x)
%给出已知的近似解x=[195.3 0.001 389.3 249.4]
Ap=556;
As=942;
fsk=337.35;
e0=0.002;
z=421.4;
hp=429;
hs=551;
Ep=195000;
Es=200000;
eq(1)=Ap*x(4)+As*x(3)-(Ap+As)*fsk;
eq(2)=(4*e0-x(2))/(12*e0-4*x(2))*x(1)+z-(hp+hs)/2;
eq(3)=x(4)*x(1)-Ep*(hp-x(1))*x(2);
eq(4)=x(3)*x(1)-Es*(hs-x(1))*x(2);
end
运行[xybest,fval]=fsolve('gf',[195.3,0.001,389.3,249.4])后出现如下错误:
>> [xybest,fval]=fsolve('gf',[195.3,0.001,389.3,249.4])
Error using ==> gf.gf at 66
X must be between 0 and 2^m-1
Error in ==> fsolve at 253
fuser = feval(funfcn{3},x,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation.FSOLVE
cannot continue.
请问是什么原因呢?给出的近似解已经手算验证,没有太大问题,

matlab用fsolve求解非线性方程组,无法求解……方程组如下function eq=gf(x)%给出已知的近似解x=[195.3 0.001 389.3 249.4]Ap=556;As=942;fsk=337.35;e0=0.002;z=421.4;hp=429;hs=551;Ep=195000;Es=200000;eq(1)=Ap*x(4)+As*x(3)-(Ap+As)*fs
给你看了,gf是matlab已有的函数名了,可输入help gf 查看,因此你定义了一个和gf函数重名的自己的函数,把gf随便改成另一个名字,如myfun,fsolve里也要改,不要跟matlab内置的函数重名,否则系统不识别哪一个是你想要求解的,这就叫机器与人脑的本质区别,调用结果如下:
[xybest,fval]=fsolve('myfun',[195.3,0.001,389.3,249.4])
Equation solved, fsolve stalled.
fsolve stopped because the relative size of the current step is less than the
default value of the step size tolerance squared and the vector of function values
is near zero as measured by the default value of the function tolerance.

xybest =
195.2302 0.0011 389.2688 249.3868
fval =
1.0e-011 *
0
0
-0.7276
0
注意:切记不要再犯这种错误,大多数人也查不出来的错误,加油.

matlab怎么用fsolve函数解非线性方程组? 关于Matlab求解非线性隐式方程组的求解,利用fsolve,solve,或ezplot等自带函数求解,想直接求解x*y=4;x^y=4;的解,我用一下方法及fsolve函数发现求不出来,但是试了其他简单的方程就可以求出来.以下是 MATLAB fsolve 解非线性方程(si^4.108*(-29313320863876.9)+si^3.081*(-1455573982281.561)+si^2.054*(17838323550.297)+si^1.027*(-18264.9538))/65.5-si用fsolve 这个方程,为什么找不到值?(no solution found)fsolve stopped because the last matlab 中fsolve求解非线性方程组可以给定解的区间么 用matlab怎么求解含有三角函数的非线性方程 MATLAB求解非线性方程组用fsolve函数求解建立函数文件fxyz.mfunction F=fxyz(X)x=X(1);y=X(2);z=X(3);F(1)=x^2+y^2+z^2;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;给定初值[-1,1,-1],调用fsolve函数求方程的根X1=fsolve('fxyz',[-1,1,-1]',op Matlab问题:请教fsolve求解非线性方程问题现在我想求解一个非线性方程,函数get3dfun定义如下:function [f_total]=get3dfun(xyz,M,N)%其中xyz是8X3的矩阵,M、N均为3x5的矩阵,他们均为未知数.xyz_final=fsolve(@g MATLAB中fsolve初值怎么确定?% fsolvef = @(x) x-sqrt(1+x)p = @(x) x^2-x-1x2 = fsolve(f, 1)x3 = fsolve(f, -1)x4 = fsolve(p, 1)x5 = fsolve(p, -1) 用fsolve求解方程,为什么x2初值取1,得到x2 =1.6180No solution found.到底应该怎么取 如何用matlab求解下面的一元非线性方程?方程如下:(1899392341*sin(a))/600745 - (55375870*cos(a))/120149 - 47944874479/240298其中a在0到pi/2之间.我用solve,结果显示无解析解.用fsolve,初始值设定为0,也不行结果 matlab中fsolve可否用来解四元非线性方程组?急! 用matlab怎么求解含有三角函数的非线性方程中解x为多少? 关于matlab中fsolve的使用当用fsolve解非线性方程组时,x=fsolve(fun,x0),x0是初始矩阵,麻烦最好举个例子说明下, 用matlab求非线性方程的符号解.sqrt(x^2+y^2)-100=03*x+5*y-8=0这可以用solve吗?求fsolve代码 用Matlab的fsolve解方程,本人matlab白痴,求详述! 怎样用Matlab求解非线性方程组 matlab解非线性方程组,只限定非负解用fsolve命令如何实现?只要非负的解. 在Matlab中用什么函数求解非线性方程的根?写出求解如下非线性方程根的Matlab代码.x^2+exp(x)-3=0 matlab解非线性方程问题