关于MATLAB求解

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:10:10
这个程序运行不了
function f=fun1(x);
r=3;
f=120*x(1)+x(2)+r*(x(1)^(-1)+x(2)^(-1)+(0.25*x(2)-1)^(-1)+(7/45*x(1)*x(2)-1)^(-1)+(7/45*x(2)*x(1)^3-1)^(-1)+((1/321)*x(1)*x(2)^2-1)^(-1));
x=[-1 1];
x=fminunc('fun1',x);
y=fun1(x);
文件名是fun1.m的
有哪位高手帮改改,可以运行就行

不是能运行的么?
function f=fun1(x)
r=3;
f=120*x(1)+x(2)+r*(x(1)^(-1)+x(2)^(-1)+(0.25*x(2)-1)^(-1)+(7/45*x(1)*x(2)-1)^(-1)+(7/45*x(2)*x(1)^3-1)^(-1)+((1/321)*x(1)*x(2)^2-1)^(-1));
以上存为m文件
在命令行运行以下部分:

x=[-1 1];
x=fminunc('fun1',x);
y=fun1(x);

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function f=fun1(x);
r=3;
f=120*x(1)+x(2)+r*(x(1)^(-1)+x(2)^(-1)+(0.25*x(2)-1)^(-1)+(7/45*x(1)*x(2)-1)^(-1)+(7/45*x(2)*x(1)^3-1)^(-1)+((1/321)*x(1)*x(2)^2-1)^(-1));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

返回Matlab,并输入
x=[-1 1];
x=fminunc('fun1',x);
y=fun1(x);