请教一个MATLAB解非线性规划的问题
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 19:54:04
请教一个MATLAB解非线性规划的问题
我的程序是
clc; clear all; close all;
function feval=myfun(x)
feval=x(1)^2+x(2)^2;
fuction [c,ceq]=cons_fun(x)
c(1)=x(1)^2+x(2)^2-5;
ceq=[];
A=[];
b=[];
Aeq=[1,2];
beq=[4];
lb=[0 0];
ub=[];
x0=[0;0];
options=optimset('Display','iter','MaxFunEvals',le5);
[x,fval,exitflag,output,lambda,grad,hessian]=fmincon('myfun',x0,A,b,Aeq,beq,lb,ub,'cons_fun',options)
为什么每次运行都会出现:Error:File:main.m Line:2 Column:1
Function definitions are not permitted in this context.
这是为什么啊?是因为没有安装优化工具箱么?
我的程序是
clc; clear all; close all;
function feval=myfun(x)
feval=x(1)^2+x(2)^2;
fuction [c,ceq]=cons_fun(x)
c(1)=x(1)^2+x(2)^2-5;
ceq=[];
A=[];
b=[];
Aeq=[1,2];
beq=[4];
lb=[0 0];
ub=[];
x0=[0;0];
options=optimset('Display','iter','MaxFunEvals',le5);
[x,fval,exitflag,output,lambda,grad,hessian]=fmincon('myfun',x0,A,b,Aeq,beq,lb,ub,'cons_fun',options)
为什么每次运行都会出现:Error:File:main.m Line:2 Column:1
Function definitions are not permitted in this context.
这是为什么啊?是因为没有安装优化工具箱么?
fuction [c,ceq]=cons_fun(x)
应该改成function [c,ceq]=cons_fun(x)
再问: 哦,谢谢,还有个问题就是options=optimset('Display','iter','MaxFunEvals',le5);这句。默认是中等规模运算,我加个'LargeScale','on',变成options=optimset('LargeScale','on','Display','iter','MaxFunEvals',le5);为什么结果还是现实中等规模,没有开启大规模搜索方式,您知道么?谢谢
再答: 这个就不清楚了。。我没用过大规模搜索方式。
应该改成function [c,ceq]=cons_fun(x)
再问: 哦,谢谢,还有个问题就是options=optimset('Display','iter','MaxFunEvals',le5);这句。默认是中等规模运算,我加个'LargeScale','on',变成options=optimset('LargeScale','on','Display','iter','MaxFunEvals',le5);为什么结果还是现实中等规模,没有开启大规模搜索方式,您知道么?谢谢
再答: 这个就不清楚了。。我没用过大规模搜索方式。