MATLAB 的多元非线性方程求极值问题function f=fun(x)f=0.5742*x(1)+11.8636*x(3)-0.1693*x(4)-0.3868*x(5)-0.0674*(x(1)^2)-0.3546*(x(2).^2)-1.2180*(x(3).^2)+0.0123*(x(4).^2)+0.0012*(x(5).^2);x0=[5,2.75,6,27,60] %起始点[x,fval]=fminunc(@fun,
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 13:32:42
MATLAB 的多元非线性方程求极值问题function f=fun(x)f=0.5742*x(1)+11.8636*x(3)-0.1693*x(4)-0.3868*x(5)-0.0674*(x(1)^2)-0.3546*(x(2).^2)-1.2180*(x(3).^2)+0.0123*(x(4).^2)+0.0012*(x(5).^2);x0=[5,2.75,6,27,60] %起始点[x,fval]=fminunc(@fun,
MATLAB 的多元非线性方程求极值问题
function f=fun(x)
f=0.5742*x(1)+11.8636*x(3)-0.1693*x(4)-0.3868*x(5)-0.0674*(x(1)^2)-0.3546*(x(2).^2)-1.2180*(x(3).^2)+0.0123*(x(4).^2)+0.0012*(x(5).^2);
x0=[5,2.75,6,27,60] %起始点
[x,fval]=fminunc(@fun,x0)
为什么会被报错?
MATLAB 的多元非线性方程求极值问题function f=fun(x)f=0.5742*x(1)+11.8636*x(3)-0.1693*x(4)-0.3868*x(5)-0.0674*(x(1)^2)-0.3546*(x(2).^2)-1.2180*(x(3).^2)+0.0123*(x(4).^2)+0.0012*(x(5).^2);x0=[5,2.75,6,27,60] %起始点[x,fval]=fminunc(@fun,
f=@(x) 0.5742*x(1)+11.8636*x(3)-0.1693*x(4)-0.3868*x(5)-0.0674*(x(1)^2)-0.3546*(x(2).^2)-1.2180*(x(3).^2)+0.0123*(x(4).^2)+0.0012*(x(5).^2);
x0=[5,2.75,6,27,60] %起始点
[x,fval]=fminunc(f,x0)
你是不是把这段代码写在一个M文件里了?
应该是前两行存为文件fun.m,后两句
x0=[5,2.75,6,27,60] %起始点
[x,fval]=fminunc(@fun,x0)
在命令窗口里调用。
从你的表达式看,五个变元之间没有耦合,可以分开来求,很容易可以判断,函数最小值应该发生在x1、x2、x3=inf,x4...
全部展开
你是不是把这段代码写在一个M文件里了?
应该是前两行存为文件fun.m,后两句
x0=[5,2.75,6,27,60] %起始点
[x,fval]=fminunc(@fun,x0)
在命令窗口里调用。
从你的表达式看,五个变元之间没有耦合,可以分开来求,很容易可以判断,函数最小值应该发生在x1、x2、x3=inf,x4、x5=-inf处。
收起