请问matlab中fsolve函数怎么用的
发布网友
发布时间:2022-04-30 02:42
我来回答
共2个回答
热心网友
时间:2022-05-16 21:08
x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函数,x就是解
因为fsolve使用迭代法求解方程的,所以总要有个迭代的初值吧,这个初值就是你给的x0。
比如解方程组
x(1).^2+x(2).^2=1
x(1)=2*x(2)
可以写成
f=@(x)([x(1).^2+x(2).^2-1;x(1)-2*x(2)])
x=fsolve(f,[1
1])
这里[1
1]就是初值,其实初值一般情况下可以随便给的。
热心网友
时间:2022-05-16 21:09
fsolve函数的常用格式:
[x,fval]
=
fsolve(fun,x0)
例如:
%自定义方程组文件
root2d.m
function
f
=
root2d(x)
f(1)
=
exp(-exp(-(x(1)+x(2))))
-
x(2)*(1+x(1)^2);
f(2)
=
x(1)*cos(x(2))
+
x(2)*sin(x(1))
-
0.5;
>>fun
=
@root2d;
>>x0
=
[0,0];
>>[x,fval]=
fsolve(fun,x0)
执行结果
x
=
0.3532
0.6061
fval
=
-2.4069e-07
-3.8255e-08