㈠ 你好,請問可以詢問你關於MATLAB遺傳演算法的問題嗎就是出現Undefined command/function 'crtbp'是怎麼回事
你添加工具箱了嗎?你可以試著再次添加工具箱 file-set path 選擇一下
㈡ 請問用MATLAB做遺傳演算法工具時,沒有CRTBP這一函數,是不是沒有安裝遺傳工具箱啊我聽說英國有個sheffiel
對,就英國的那個有這個函數
㈢ matlab遺傳演算法工具箱函數的參數問題
可能的原因是:
1.gatbx工具箱下的crtbp函數的文件名為crtbp.m,大小寫不統一所以出現了warning,需要把把專它改為屬小寫的crtbp.m;
2.gatbx屬於第三方工具箱,matlab自身對它是沒有說明的,所以搜不到這些遺傳演算法的指令。
㈣ 謝菲爾德大學遺傳演算法工具箱 為什麼用不了
可能的原因是:1.gatbx工具箱下的crtbp函數的文件名為CRTBP.M,大小寫不統一所以出現了warning,需要把把它改為小寫的crtbp.m;2.gatbx屬於第三方工具箱,MATLAB自身對它是沒有說明的,所以搜不到這些
遺傳演算法
的指令。
㈤ matlab遺傳演算法工具箱安裝問題
可能的原因是:
1.gatbx工具箱下的crtbp函數的文件名為CRTBP.M,大小寫不統一所以出現了warning,需要把把它版改為小寫的crtbp.m;
2.gatbx屬於第權三方工具箱,MATLAB自身對它是沒有說明的,所以搜不到這些遺傳演算法的指令。
㈥ 請問 MATLAB遺傳演算法程序運行時出現: Undefined command/function 'crtbp'.是什麼原因
請問這個問題你解決沒有呀,我遇到同樣的問題,而且遺傳演算法工具箱我已經安裝了呀
㈦ MATLAB遺傳演算法工具箱求解非線性多目標優化問題
將下屬兩個目標函數分別保存在兩個m文件中
function f1=func1(x) %第一目標函數
f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;
function f2=func2(x) %第二目標函數
f2=x(:,1).*(1-x(:,2))+10;
function GA()
clear;clc;close all
NIND=100; %個體數目
MAXGEN=50; %最大遺傳代數
NVAR=2; %變數個數
PRECI=20; %變數的二進制位數
GGAP=0.9; %代溝
trace1=[];trace2=[];trace3=[]; %性能跟蹤
%建立區域描述器
% rep([PRECI],[1,NVAR])
FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];
Chrom=crtbp(NIND,NVAR*PRECI); %初始種群
v=bs2rv(Chrom,FieldD) ; %初始種群十進制轉換
gen=1;
while gen<MAXGEN,
[NIND,N]=size(Chrom);
M=fix(NIND/2);
ObjV1=func1(v(1:M,:)); %分組後第一目標函數值
FitnV1=ranking(ObjV1); %分配適應度值
SelCh1=select('sus',Chrom(1:M,:),FitnV1,GGAP); %選擇
ObjV2=func2(v(M+1:NIND,:)); %分組後第二目標函數值
FitnV2=ranking(ObjV2); %分配適應度值
SelCh2=select('sus',Chrom(M+1:NIND,:),FitnV2,GGAP); %選擇
SelCh=[SelCh1;SelCh2]; %合並
SelCh=recombin('xovsp',SelCh,0.7); %重組
Chrom=mut(SelCh); %變異
v=bs2rv(Chrom,FieldD);
trace1(gen,1)=min(func1(v));
trace1(gen,2)=sum(func1(v))/length(func1(v));
trace2(gen,1)=min(func2(v));
trace2(gen,2)=sum(func2(v))/length(func2(v));
trace3(gen,1)=min(func1(v)+func2(v));
trace3(gen,2)=sum(func1(v))/length(func1(v))+sum(func2(v))/length(func2(v));
gen=gen+1;
end
figure(1);clf;
plot(trace1(:,1));hold on;plot(trace1(:,2),'-.');
plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid on;
legend('解的變化','種群均值的變化')
xlabel('迭代次數');ylabel('目標函數值');
figure(2);clf;
plot(trace2(:,1));hold on;
plot(trace2(:,2),'-.');
plot(trace2(:,1),'.');
plot(trace2(:,2),'.');grid;
legend('解的變化','種群均值的變化');
xlabel('迭代次數');ylabel('目標函數值');
figure(3);clf;
plot(trace3(:,1));hold on;
plot(trace3(:,2),'-.');
plot(trace3(:,1),'.');
plot(trace3(:,2),'.');grid;
legend('解的變化','種群均值的變化');
xlabel('迭代次數');ylabel('目標函數值');
figure(4);clf;plot(func1(v));hold on;
plot(func2(v),'r-.');grid;
㈧ matlab遺傳演算法工具箱使用ga運行不出結果哪裡錯了
可能的原因是:
1.gatbx工具箱下的crtbp函數的文件名為CRTBP.M,大小寫不統一所以出現了內warning,需要把把它改容為小寫的crtbp.m;
2.gatbx屬於第三方工具箱,MATLAB自身對它是沒有說明的,所以搜不到這些
遺傳演算法
的指令。
㈨ 遺傳演算法工具箱中怎麼畫出遺傳代數與優化變數的關系圖
將下屬兩個目標函數分別保存在兩個m文件中functionf1=func1(x)%第一目標函數f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;functionf2=func2(x)%第二目標函數f2=x(:,1).*(1-x(:,2))+10;functionGA()clear;clc;closeallNIND=100;%個體數目MAXGEN=50;%最大遺傳代數NVAR=2;%變數個數PRECI=20;%變數的二進制位數GGAP=0.9;%代溝trace1=[];trace2=[];trace3=[];%性能跟蹤%建立區域描述器%rep([PRECI],[1,NVAR])FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];Chrom=crtbp(NIND,NVAR*PRECI);%初始種群v=bs2rv(Chrom,FieldD);%初始種群十進制轉換gen=1;whilegen
㈩ 如何調用matlab遺傳演算法工具箱中的bs2rv、crtbase、crtbp等函數
網上下載遺傳工具箱(網上主要有三類,基本差不多都有你說的這幾個函數)。然後加入路徑就可以使用了。