『壹』 求高手用matlab的LMI工具箱 或者 YALMIP工具包 求下列矩陣不等式中η的最優解(最大值)。
和可惜不會啊
『貳』 這個matlab工具包怎麼安裝
matlab的工具箱安裝其復實很制簡單, 說白了就是設置一個路徑讓Matlab能找到工具箱裡面的東西
方法是:
下載工具箱
解壓縮到一個目錄(任意的,隨便你放哪裡)
在File -> Set Path 裡面把第2步的那個目錄加到系統路徑裡面, 第二個按鍵 Add with Subfolders (見下圖)
回到matlab命令行: 輸入DemoPSOBehavior 不出錯就成功了!
『叄』 怎樣將yalmip.rar工具箱裝入MATLAB
先把rar文件解壓抄到Matlab安裝目錄下的Toolbox子文件夾。
然後在Matlab界面下
File-->set
path
點add
with
subfolders,然後找到解壓文件目錄。這樣Matlab就能自動找到工具箱里的命令了。
『肆』 基於MATLAB
1、定積分和不定積分:
>>symsx
>>int(sin(x),0,pi/2)
ans=
1
>>int(1/(x^2-1))
ans=
log(x-1)/2-log(x+1)/2
2、即求函數在x=0處泰勒展開式第4項的系數:
>>f=(1+2*x+3*x^2)/(1-2*x-3*x^2);
>>subs(diff(f,4),0)/prod(1:4)
ans=
122
3、求偏導數:
>>symsxy
>>f=x^3+x*cos(x)+x^2*y;
>>diff(f,x)
ans=
cos(x)+2*x*y-x*sin(x)+3*x^2
4、微分方程組的解析解(題目寫錯了,左端應該是導數):
>>[x1,x2]=dsolve('Dx1=3*x1+4*x2','Dx2=-4*x1+3*x2','x1(0)=0,x2(0)=1');
>>x1=simple(x1)
x1=
sin(4*t)*exp(3*t)
>>x2=simple(x2)
x2=
cos(4*t)*exp(3*t)
『伍』 MATLAB信號處理工具箱到哪裡下載
安裝程序里有啊,安裝的時候選上就行了
『陸』 matlab simulink工具箱哪裡有下載的
單獨的安裝包怕是沒有吧。
你可以重新下載matlab安裝文件,選擇安裝simulink
『柒』 matlab中SeDuMi和YaLMIP,以及LMI工具箱有什麼區別和聯系
SeDuMi 和來 LMI 都是求解器,前者是第三方的,後自者是 Robust Control Toolbox 中的
YaLMIP 是基於 MATLAB 的建模語言,它的作用是為不同的求解器提供一致的調用介面,目前支持這些求解器:
YALMIP Wiki | Solvers / Solvers
簡單來說,YaLMIP 用於描述問題,SeDuMi 和 LMI 以及其他求解器用來解決問題
『捌』 matlab整數規劃程序
可以用YALMIP工具箱解整數規劃
定義變數:
sqdvar()實型
intvar()整型
binvar()0-1型
設定目標函數 :
f=目標函數
設定限定條件:
F=set(限定條件)
多個限定條件用加號相連:
F=set(限定條件)+set(限定條件1)+set(限定條件2)……
求解: solvesdp(F,f)
這里解得是F條件下目標函數f的最小值,要求最大值f前面加個負號
求解之後查看數值 :
double(f) double(變數)
intvar(m,n):生成整數型變數;
sdpvar(m,n):生產變數;
solvesdp(F,f):求解最優解(最小值),其中F為約束條件(用set連接),f為目標函數
double:顯示求解的答案
有個例子:
已知非線性整數規劃為:
Max z=x1^2+x2^2+3*x3^2+4*x4^2+2*x5^2-8*x1-2*x2-3*x3-x4-2*x5
s.t.
0<=xi<=99(i=1,2,...,5)
x1+x2+x3+x4+x5<=400
x1+2*x2+2*x3+x4+6*x5<=800
2*x1+x2+6*x3<=800
x3+x4+5*x5<=200
matlab中輸入
>> x=intvar(1,5);
f=[1 1 3 4 2]*(x'.^2)-[8 2 3 1 2]*x';F=set(0<=x<=99);
F=F+set([1 1 1 1 1]*x'<=400)+set([1 2 2 1 6]*x'<=800)+set(2*x(1)+x(2)+6*x(3)<=800);
F=F+set(x(3)+x(4)+5*x(5)<=200);solvesdp(F,-f);
max=double(f)
sx=double(x)
* Starting YALMIP integer branch & bound.
* Lower solver : fmincon-standard
* Upper solver : rounder
* Max iterations : 300
Warning : The relaxed problem may be nonconvex. This means
that the branching process not is guaranteed to find a
globally optimal solution, since the lower bound can be
invalid. Hence, do not trust the bound or the gap...
Node Upper Gap(%) Lower Open
1 : -8.020E+004 0.03 -8.025E+004 2
2 : -8.020E+004 0.03 -8.025E+004 1
3 : -8.020E+004 0.00 -8.020E+004 2
+ 3 Finishing. Cost: -80199
max =
80199
sx =
53 99 99 99 0
『玖』 用MATLAB軟體解線性規劃問題!
%整數規劃分支定界演算法matlab通用源程序
%各參數的意義同matlab優化工具箱的線性規劃函數linprog
%調用前,輸入參數要化成matlab的標准形式
[x,val]=kfz-f-3(n,f,a,b,aeq,beq,lb,ub)
x=zeros(n,1);
x1=zeros(n,1);
m1=2;
m2=1;
[x1,val1]=linprog(f,a,b,aeq,beq,lb,ub);
if (x1==0)
x=x1;
val=val1;
elseif (round(x1)==x1)
x=x1;
val=val1;
else
e1={0,a,b,aeq,beq,lb,ub,x1,val1};
e(1,1)={e1};
zl=0;
zu=-val1;
while (zu~=zl)
for c=1:1:m2
if (m1~=2)
if (cell2mat(e{m1-1,c}(1))==1)
e1={1,[],[],[],[],[],[],[],0};
e(m1,c*2-1)={e1};
e(m1,c*2)={e1};
continue;
end;
end;
x1=cell2mat(e{m1-1,c}(8));
x2=zeros(n,1);
s=0;
s1=1;
s2=1;
lb1=cell2mat(e{m1-1,c}(6));
ub1=cell2mat(e{m1-1,c}(7));
lb2=cell2mat(e{m1-1,c}(6));
ub2=cell2mat(e{m1-1,c}(7));
for d=1:1:n
if (abs((round(x1(d))-x1(d)))>0.0001)&(s==0)
s=1;
lb1(d)=fix(x1(d))+1;
if (a*lb1<=b)
s1=0;
end;
ub2(d)=fix(x1(d));
if (a*lb2<=b)
s2=0;
end;
end;
end;
e1={s1,a,b,aeq,beq,lb1,ub1,[],0};
e2={s2,a,b,aeq,beq,lb2,ub2,[],0};
e(m1,c*2-1)={e1};
e(m1,c*2)={e2};
end;
m1=m1+1;
m2=m2*2;
for c=1:1:m2
if (cell2mat(e{m1-1,c}(1))==0)
[x1,val1]=linprog(f,cell2mat(e{m1-1,c}( 2)),cell2mat(e{m1-1,c}(3)),cell2mat(e{m1-1,c}(4)),cell2mat(e{m1-1,c}(5)),cell2mat(e{m1-1,c}(6)),cell2mat(e{m1-1,c}(7)));
e1={cell2mat(e{m1-1,c}(1)),cell2mat(e{m1-1,c}(2)),cell2mat(e{m1-1,c}(3)),cell2mat(e{m1-1,c}(4)),cell2mat(e{m1-1,c}(5)),cell2mat(e{m1-1,c}(6)),cell2mat(e{m1-1,c}(7)),x1,val1};
e(m1-1,c)={e1};
end;
z=val1;
if ((-z)<(-zl))
e1={1,[],[],[],[],[],[],[],0};
e(m1-1,c)={e1};
elseif (abs(round(x1)-x1)<=0.0001)
zl=z;
end;
end;
for c=1:1:m2
if (cell2mat(e{m1-1,c}(1))==0)
zu=cell2mat(e{m1-1,c}(9));
end;
end;
for c=1:1:m2
if (-cell2mat(e{m1-1,c}(9))>(-zu))
zu=cell2mat(e{m1-1,c}(9));
end;
end;
end;
for c=1:1:m2
if (cell2mat(e{m1-1,c}(1))==0)&(cell2mat(e{m1-1,c}(9))==zu)
x=cell2mat(e{m1-1,c}(8));
end;
end;
val=zu;
end;
『拾』 如何在matlab路徑中安裝yalmip
安裝步驟:
1、將yalmip放到你的MATLAB的toolbox文件夾下;
2、將yalmip文件目錄添加到MATLAB的path里(方法:內matlab主界面:file->set path)
可直接容選 Add with subfolders...
注意:要將下面每一個文件目錄都添 到matlab的path中
/yalmip
/yalmip/extras
/yalmip/demos
/yalmip/solvers
/yalmip/moles
/yalmip/moles/parametric
/yalmip/moles/moment
/yalmip/moles/global
/yalmip/moles/robust
/yalmip/moles/sos
/yalmip/operators
3、重啟matlab
檢驗yalmip工具箱是否添 成功。
鍵入「which sdpvar」。就可以了。