求解非线性方程问题~。

各位大虾,本人想用fsolve函数求解非线性方程:x=0.412-0.412*(6.978e-5)^2/((4.343e-8)*(0.58-1.515-0.258*x))-(7.043e-14)*(exp(19.32*(1.515+0.258*x))-1)-(1.515+0.258*x)/5,首先保存一个Fun1.m文件:
function F=Fun1(x)F=0.412-0.412*(6.978e-5)^2/((4.343e-8)*(0.58-1.515-0.258*x))-(7.043e-14)*(exp(19.32*(1.515+0.258*x))-1)-(1.515+0.258*x)/5-x;
然后在matlab命令行输入:
X0=0.0158;
X=fsolve('Fun1',X0),F=Fun1(X)
结果报错:Error using feval
Undefined function 'Fun1' 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.
请问各位大神是怎么回事啊,求指导啊!!灰常感谢!!

 采纳的回答

yohoj
yohoj 2022-11-22

0 个投票

1. lz在1楼里写的可是"首先保存一个Fun.m文件"
2. 将主调脚本也保存成m文件:main.m。同时略作修改:
X0=0.0158;
[X, F] = fsolve(@Fun1,X0)
3. 将上述两个m文件放在一个文件夹下。然后运行main.m。
如果还有错误,请给出具体的报错信息,别只说一句“还是不行”。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 非线性方程组 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!