① 谁会MAtlab优化工具箱啊 有个优化问题 不给算,给看看呗。谢啦。
非线性约束函数必须返回两个参数:
[c,ceq]=mycon(x)
其中,c为不等式约束,ceq为等式约束。不存在等式约束则ceq=[]。
你现在只返回一个参数,而且变量名还写错了(是c不是y)。
② 怎样启动MATLAB优化工具箱
f(x)=x.^4-3*x.^3+x.^2-2;
利用遗传算法求解,选择ga solver(求解器),输入适应函数,专输入变量个数,start就可以了,属充分反应了遗传算法的优越性。
接着是对无约束一维极值问题的求解。
首先是进退法搜索单谷函数的极值问题。原理就是在固定区间内按照一定步长无穷逼近最优解,不过无论怎样逼近,最后得到的还是符合精度的区间,并不是理论最优解。Matlab中用minJT函数来实现。
相关的函数代码可以在matlab相关文件夹中找到,这里就不多说,不过还是按这种方法求一下上面的极小值问题。
代码如下:
syms x;
f=x^4-3*x^3+x^2-2;
[x1,x2]=minJT(f,0,0.001);
③ MATLAB优化工具箱怎么试用
首先看一个gui对遗传算法的应用,
求下列函数的极小值。
f(x)=x.^4-3*x.^3+x.^2-2;
利用遗传算法求解,选择ga solver(求解器),输入适应函数,输入变量个数,start就可以了,充分反应了遗传算法的优越性。
接着是对无约束一维极值问题的求解。
首先是进退法搜索单谷函数的极值问题。原理就是在固定区间内按照一定步长无穷逼近最优解,不过无论怎样逼近,最后得到的还是符合精度的区间,并不是理论最优解。Matlab中用minJT函数来实现。
相关的函数代码可以在matlab相关文件夹中找到,这里就不多说,不过还是按这种方法求一下上面的极小值问题。
代码如下:
syms x;
f=x^4-3*x^3+x^2-2;
[x1,x2]=minJT(f,0,0.001);
在2009b中结果是。2009b已经没有这个函数了。
无语了一下,继续看下一种方法,黄金分割法。
也是一种无穷逼近法,利用黄金分割长生前一个区间中的内点,舍去一个端点。逐渐逼近最小值,是一种单向收缩法。
不过2009b也没有这个函数了。
然后是斐波那契法。
我们首先就会联想到斐波那契数列,不过这里确实用到了斐波那契数列。
斐波那契法显然是一种双向收缩法具体的搜索原理就不多追究了。
然后便是牛顿迭代法,原来就学过的一种速度相当快的迭代方法,其中优化后的全局牛顿法,一般的牛顿法需要初始点接近最值点而全局牛顿法则不需要这个要求。关最后还有割线法,二次插值和三次插值法。以后会慢慢补充相关的函数m文件的。
④ matlab优化工具箱安装
把工具箱解压到matalb安装目录的toolbox目录下(一般在Program Files下找到Matlab的安装位置,点进去就能找到toolbox),回然后用addpath或者pathtool把该工具箱答的路径添加到matlab的搜索路径中,最后用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。
⑤ matlab优化工具箱如何使用问题
你这个是跨学科的问题,如果有30000分的话,我可以试一下
⑥ matlab 优化工具箱如何让我入手
网上有很多这方面的教学视频:
⑦ matlab 优化工具箱
在matlab命令窗口中输入:edit,然后将下列两行百分号之间的内容复制进去,保存。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function f=y(x)
f(1)=10-0.0116*x(2)-0.0185*x(3)-0.0194*x(5)-0.0302*x(6)-0.1013*x(8)-0.0162*x(9);
f(2)=24-0.0399*x(1)-0.02924*x(2)-0.02376*x(3)-0.0665*x(4)-0.04896*x(5)-0.03996*x(6)-0.0342*x(7)-0.0255*x(8)-0.02079*x(9);
f(3)=36.5-0.042*x(1)-0.043*x(2)-0.044*x(3)-0.07*x(4)-0.072*x(5)-0.074*x(6)-0.0365*x(7)-0.0375*x(8)-0.0385*x(9);
f(4)=350-1.176*x(1)-0.516*x(2)-0.264*x(3)-1.96*x(4)-0.864*x(5)-0.444*x(6)-1.008*x(7)-0.45*x(8)-0.231*x(9);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
返回matlab命令窗口,输入以下命令,应当就有结果了。
A=[0.042,0,0,0.07,0,0,0.0365,0,0;
0,0.043,0,0,0.072,0,0,0.0375,0;
0,0,-0.044,0,0,-0.074,0,0,-0.0385;
0,0,0.044,0,0,0.074,0,0,0.0385;
1,1,1,0,0,0,0,0,0;
0,0,0,1,1,1,0,0,0;
0,0,0,0,0,0,1,1,1];
b=[4,23,-14,16,310,310,150]';
goal=[0.001,0.001,0.001,0.001]';
weight=abs(goal);
lb=0;
x0=[10,10,10,10,10,10,10,10,10]';
x=fgoalattain('y',x0,goal,weight,A,b,[],[],lb,[]); %%不好意思我是照你写的,这里应当是y,注意函数名一般不要取这么简单的,要不然有可能跟变量名重复.
%另外matlab是不认中文符号的,你自己注意一下。
⑧ matlab优化工具箱中遗传算法的问题
ga就是在穷举不可能完成时,用一种方式找到最优解
ga工具的完整形式如下表示
[X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] =
GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options)
X是最优自变量
FVAL是求得的最优值
其他以此是推出标志,结构体,终止时的总群,终止时种群函数值
后半部分以此是目标函数,目标函数自变量个数
A和b是线性约束不等式AX〈b
Aeq和beq是一对线性等式约束,AeqX=beq
lb是X值下限,ub是X值下限
NONLCON是非线性约束函数 options是运行方式。这两个可以写函数自己完成,也可默认
函数默认计算最小值,计算最大值要加负号
非线性约束条件的写法
function [c,ceq]=nonlcon(x) 定义函数自变量是x,x可以是一列矩阵
c=[]; c表示非线性等式约束,以为没有,所以为空
ceq=[x(1)-2*(x(2))^2;
x(1)+X(2) ] ceq是非线性不等式约束,默认ceq<=0,ceq可以为一列矩阵.
>>
⑨ matlab优化工具箱约束条件如何填写
static void(int[]group)
{
int temp;
int pos=0;
for(int i=0;i< group.Length-1;i++)
{
pos=i;
for(intj=i+1;j<group.Length;j++)
{
if(group[j]<group[pos])
{
pos=j;
}
}//第i个数与最小的数group[pos]交换
temp=group[i];
group[i]=group[pos];
group[pos]=temp;
}
}