Ⅰ 請教怎麼在matlab上安裝遺傳演算法工具箱啊,為什麼我安不上啊
安裝步驟
1.將GAOT工具箱文件拷貝至Matlab文件夾下,具體路徑為:
C:\program files\MATLAB\R2009a\toolbox。(也可以放在其他路徑,不一定放在toolbox裡面,比如C:\program files\MATLAB\R2009a也行)。
2.將GAOT工具箱路徑加入Matlab文件路徑之中。流程為:File-->Set Path-->Add with Subfolders。即,將C:\program files\MATLAB\R2009a\toolbox\gaot文件夾加入該路徑系統中。
3. 重新啟動Matlab,運行。
4. 但是在重新啟動後,你會發現在命令窗口,會出現如下警告。即安裝遺傳工具箱後出現問題:Warning: Name is nonexistent or not a directory: \afs\eos\info\ie\ie589k_info\GAOT
解決方案:打開gaot文件夾下的startup.m,這裡面寫著「path(path,'\afs\eos\info\ie\ie589k_info\GAOT');」只要將「\afs\eos\info\ie\ie589k_info\GAOT」改為goat當前所在的目錄,即「C:\program files\MATLAB\R2009a\toolbox\gaot」就可以了
5.測試是否安裝成功,方法如下:在命令窗口輸入:edit ga出現如下函數:function [x,fval,exitFlag,output,population,scores] = ga(fun,nvars,Aineq,bineq,Aeq,beq,lb,ub,nonlcon,options)此時你會發現這是MATLAB自帶的ga函數,並不是你想要的工具箱中的ga函數,這樣會在以後應用工具箱編寫程序是發生錯誤。
6. 解決上述問題的方法:為了統一,不管你是高版本還是低版本,都可以通過將GAOT工具箱中的ga重命名為gaot_ga(名字可以隨你定,但是不能改為大寫GA,原因是MATLAB會默認大小寫函數是同一個函數,不信你可以用edit ga和edit GA驗證),來實現解決上述問題。
這樣整個的GAOT工具箱安裝完備。
Ⅱ 如何提高matlab的GA工具箱(遺傳演算法)的運算精度
options.TolFun=1e-10
Ⅲ matlab線性規劃求最優解,其中有lb和ub約束上下限,可是現在要求x(1)取0或大於234,x(2)取0或大於651
首先就是解x(1)>234和x(2)>651,分別考慮為0的情況,x(1)=0,x(2)>651;x(1)=234,x(2)=0以及x(1)=0,x(2)=0,這樣問題就解決了。
f=[-7,-12];
A=[9 4;4 5;3 10];
b=[300;200;300];
lb=zeros(2,1);% 生成一個2行1列的全0矩陣,很顯示,上面例子中的x,y的最小值為0
[x,fval]=linprog
優勢特點
高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來;
具有完備的圖形處理功能,實現計算結果和編程的可視化;
友好的用戶界面及接近數學表達式的自然化語言,使學者易於學習和掌握;
功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。
Ⅳ 在愛思助手上可以把蘋果6的lb解開嗎
1. 下載最新辦的愛思助手,連接手機,點擊工具箱的「高級玩家--解除iPhone已停用」
2. 接下里會提示讓你進入DFU模式。按要求操作即可。
DFU模式的進入方法:
A.保持設備處於開機模式或恢復模式,插入數據線。
B.先按下設備的HOME鍵不要松開,再按下設備的開機鍵不要松開,直到設備屏幕熄滅再過4秒左右松開設備的開機鍵,但不要松開HOME鍵,直到軟體提示「成功」字樣再將HOME鍵松開。
3.當你操作進入DFU模式後,愛思助手就會開始自動運行。
4.不到2分鍾,強大的愛思助手就給你完全解除停用了!手機重啟之後iPhone已停用即可解除。
Ⅳ 迷你世界工具箱合成配方的字元是
木頭合成果木板然後就可以做工具箱了。
Ⅵ matlab的優化工具箱,optimization中fminimax的使用
http://..com/question/333697368.html
x = fminimax(fun,x0)給定初值x0, 求函數最小值;
x = fminimax(fun,x0,A,b)給定初值x0,且滿足A x<=b,A是矩陣,b是向量;
x = fminimax(fun,x,A,b,Aeq,beq),滿足A x<=b,滿足線性方程組Aeq*x = beq;Aeq矩陣,beq向量;
x = fminimax(fun,x,A,b,Aeq,beq,lb,ub),用法同上,再滿足 lb<=x<=ub;
x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) subjects the minimax problem to the nonlinear inequalities c(x) or equality constraints ceq(x) defined in nonlcon. fminimax optimizes such that c(x) ≤ 0 and ceq(x) = 0. Set lb = [] and/or ub = [] if no bounds exist.
[x,fval] = fminimax(...)返回最小值時x值和函數最小值。
[x,fval,maxfval] = fminimax(...) 返回目標函數最大值;
[x,fval,maxfval,exitflag] = fminimax(...)返回 exitflag描述最小值存在狀態。
希望幫上你。
Ⅶ 求助:關於matlab遺傳演算法工具箱中約束的輸入問題
遺傳演算法工具箱的函數GA基本調用格式如下:
X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub)
其中前兩個參數分別是適應度函數和變數個數,第三、四個參數(A和b)即為線性不等式約束。
你現在需要做的是,增加幾個線性約束條件:
x1 < x2
x2 < x3
x3 < x4
x4 < x5
不過,有個問題,遺傳演算法等優化工具對不等式約束的要求,都必須是閉集(帶等號的不等式),也就是說,要的是類似下面這樣的約束:
x1 <= x2
x2 <= x3
x3 <= x4
x4 <= x5
不知道你的問題是否允許把約束放寬到上面的形式,如果可以,就很簡單了(如果不能放寬,我暫時還沒想起怎麼解決):
x1 - x2 <= 0
x2 - x3 <= 0
x3 - x4 <= 0
x4 - x5 <= 0
也就是調用函數時,線性約束的A和b分別為
A = [
1 -1 0 0 0
0 1 -1 0 0
0 0 1 -1 0
0 0 0 1 -1
];
b=[0;0;0;0];
Ⅷ 重力工具箱lb mm kk jp有什麼區別
目前,GravityBox有三個版本,分別是GravityBox[JB],GravityBox[KK],GravityBox[LP],其中,JB、KK、LP分別就是安卓版本代號的首字母,
根據回自己的安卓系統版本來答選擇合適的GravityBox,具體如下:
安卓4.1/4.2/4.3系統的,選用GravityBox[JB]
安卓4.4系統的,選用GravityBox[KK]
安卓5.0系統的,選用GravityBox[LP]
Ⅸ 在用matlab的優化工具箱中的linprog求解器或者其他求解器求最優值時,怎麼設置變數約束條件為整數
可以用分支定界法求解整數規劃問題,給你源碼:
function [x,fm] = IntProgFZ(f,A,b,Aeq,beq,lb,ub)
x = NaN;
fm = NaN;
NF_lb = zeros(size(lb));
NF_ub = zeros(size(ub));
NF_lb(:,1) = lb;
NF_ub(:,1) = ub;
F = inf;
while 1
sz = size(NF_lb);
k = sz(2);
opt = optimset('TolX',1e-9);
[xm,fv,exitflag] = linprog(f,A,b,Aeq,beq,NF_lb(:,1),NF_ub(:,1),[],opt);
if exitflag == -2
xm = NaN;
fv = NaN;
end
if xm == NaN
fv = inf;
end
if fv ~= inf
if fv < F
if max(abs(round(xm) - xm))<1.0e-7
F = fv;
x = xm;
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
if isempty(NF_lb) == 0
continue;
else
if x ~= NaN
fm = F;
return;
else
disp('不存在最優解!');
x = NaN;
fm = NaN;
return;
end
end
else
lb1 = NF_lb(:,1);
ub1 = NF_ub(:,1);
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
[bArr,index] = find(abs((xm - round(xm)))>=1.0e-7);
p = bArr(1);
new_lb = lb1;
new_ub = ub1;
new_lb(p) = max(floor(xm(p)) + 1,lb1(p));
new_ub(p) = min(floor(xm(p)),ub1(p));
NF_lb = [NF_lb new_lb lb1];
NF_ub = [NF_ub ub1 new_ub];
continue;
end
else
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
if isempty(NF_lb) == 0
continue;
else
if x ~= NaN
fm = F;
return;
else
disp('不存在最優解!');
x = NaN;
fm = NaN;
return;
end
end
end
else
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
if isempty(NF_lb) == 0
continue;
else
if x ~= NaN
fm = F;
return;
else
disp('不存在最優解!');
x = NaN;
fm = NaN;
return;
end
end
end
end
Ⅹ LABVIEW用戶如何做一個前面板輸入控制項
首先,准備好開發環境,啟動Visual Studio.net Beta2,選擇菜單文件-新建-項目,項目類型選擇Visual C#項目,模板選擇Windows控制項庫,名稱輸入Percent,按確定,建立一個項目。
切換到Percent.cs[設計]頁面,在解決方案資源管理器中將UserControl1.cs改為Percent.cs。從工具箱中拖一個 Label控制到設計面板上,設置該Label的屬性:Name: lbPercent,BackColor: Transparent,Text: 100%,並拖拉Label的邊框,使其大小能剛好顯示出Text。右鍵在設計面板上單擊,從彈出菜單中選擇查看代碼,打開代碼編輯頁面。
可以看到名字空間為Percent,將游標移動到public class Percent : System.Windows.Forms.UserControl以下,輸入下面幾行:
private int iCurPercent = 0;
private Color clPercent = Color.Blue;
private Color clText = Color.Black;
以上定義並初始化了幾個私有變數,iCurPercent表示當前的百分比進度,clPercent為進度的顏色,clText為中間顯示的百分比文本的顏色。
本控制擁有三個屬性,分別設置進度條和文字的顯示顏色,以及當前進度。還定義了一個OnPercentChange事件,在百分比改變時觸發該事件。
在protected override void Dispose( bool disposing )後面添加以下內容:
public delegate void PercentChangeHandler(int CurrentPercent);
public event PercentChangeHandler OnPercentChange;
public int CurrentPercent
{
get
{
return iCurPercent;
}
set
{
if ((value = 100) (value = 0))
{
iCurPercent = value;
if (OnPercentChange != null)
OnPercentChange(iCurPercent);
this.Invalidate();
}
}
}
public Color PercentBackColor
{
get
{
return clPercent;
}
set
{
clPercent = value;
this.Invalidate();
}
}
public Color PercentTextColor
{
get
{
return clText;
}
set
{
clText = value;
this.Invalidate();
}
}
以上首先定義了事件,並在百分比改變時觸發。然後是三個屬性的實現。
下面,需要在Paint事件里改變Percent控制的顯示狀態。切換到設計頁面,選擇整個設計面板,在屬性視圖中將游標移動到Paint,按回車,代碼頁面里就自動為Paint事件建立了框架,其中其一個參數為System.Windows.Forms.PaintEventArgs e,可以用這個參數干很多事情。先輸入以下畫百分比控制邊界的代碼:
Pen penBlack = new Pen(Color.Black, 1);
Point ptStart = new Point(0, 0);
Point ptEnd = new Point(this.Width - 1, 0);
e.Graphics.DrawLine(penBlack, ptStart, ptEnd);
ptStart = new Point(0, 0);
ptEnd = new Point(0, this.Height);
e.Graphics.DrawLine(penBlack, ptStart, ptEnd);
Pen penWhite = new Pen(Color.White, 1);
ptStart = new Point(this.Width - 1, 0);
ptEnd = new Point(this.Width - 1, this.Height);
e.Graphics.DrawLine(penWhite, ptStart, ptEnd);
ptStart = new Point(0, this.Height - 1);
ptEnd = new Point(this.Width, this.Height - 1);
e.Graphics.DrawLine(penWhite, ptStart, ptEnd);
SolidBrush brushFill = new SolidBrush(PercentBackColor);
Rectangle rcFill = new Rectangle(2, 2, iCurPercent * (this.Width - 3) / 100, this.Height - 3);
e.Graphics.FillRectangle(brushFill, rcFill);
lbPercent.Left = this.Width / 2 - lbPercent.Width / 2;
lbPercent.Top = this.Height / 2 - lbPercent.Height / 2;
lbPercent.Text = iCurPercent.ToString() + %;
lbPercent.ForeColor = PercentTextColor;
在控制大小發生變化時也應該刷新,在設計頁面,游標移動到Resize,回車,在Resize事件中寫下:this.Invalidate();
這樣,這個百分比控制就編完了。下面,我們在編寫一個測試程序來測試這個控制。選擇菜單:文件-添加項目-新建項目,項目類型選擇 Visual C#項目,模板選擇Windows應用程序,取名為TestPercent,按確定,建立一個Windows應用程序框架。由於是添加了一個新項目,因此,解決方案資源管理器中就有了兩個項目:Percent和TestPercent。滑鼠在TestPercent上單擊右鍵,從彈出菜單中選擇「添加引用」,切換到「項目」頁面,項目名稱應為「Percent」,雙擊該項目名稱,把它加到選定的組件裡面,按確定。這樣,Percent組件就加到測試工程里了。用過VC的#import指令或者VB的引用的人對這個操作也許會感覺比較親切。
從工具箱中找到Percent控制,將其拖到測試工程的設計面板上擺好,再從工具箱里拖一個Button和一個Timer放好。雙擊Button,在其事件中寫下:timer1.Enabled = true; 再回到設計面板,雙擊Timer,在其事件中寫下:percent1.CurrentPercent = percent1.CurrentPercent + 1;將焦點移到用戶控制percent1上,找到事件OnPercentChange,回車,在程序框架中寫下:this.Text = CurrentPercent.ToString(); 這樣,測試程序就完成了。
下面運行程序,將TestPercent設為啟動項目,運行,按下button1,可以看到進度增加的同時,窗口標題也在發生變化。
通過這個簡單的用戶控制的編寫,我們可以體會到C#編程的簡便性,對其開發環境有個基本的了解。該控制也可以很容易地被其他開發工具,比如Visual Basic.net使用。
以上程序在C366, 128MB, Windows2000 Advanced Server SP2,Visual Studio.net Beta2中文版下編譯通過。