① MATLAB建模方法有哪些
建模覆蓋的內容很廣,可以分為兩大塊:優化和統計,因此建模方法也可以由這兩大塊劃分。
一.優化:
智能演算法: 遺傳演算法,粒子群演算法,模擬退火演算法,蟻群演算法...
基礎優化演算法: 目標規劃,整數規劃...
排隊論
二.統計:
分類/聚類演算法: k-means...
預測: 時間序列演算法,灰色預測演算法,指數平滑演算法,
評價: 模糊綜合評價,信息熵評價,粗糙集,數據包絡分析,層次分析,
智能演算法:神經網路,svm...
回歸/擬合:多元線性擬合,最小二乘法
數據處理:小波變換
② matlab如何實現蒙特卡洛演算法
1、打開MATLAB軟體,如圖所示,輸入一下指令。
③ 我需要一個基於免疫遺傳演算法的matlab程序,關於函數尋優的,最好在附有講解
% 主程序
%遺傳演算法主程序
%Name:genmain.m
%author:楊冪
clear
clf
%%初始化
popsize=50; %群體大小
chromlength=30; %字元串長度(個體長度)
pc=0.6; %交叉概率
pm=0.1; %變異概率
pop=initpop(popsize,chromlength); %隨機產生初始群體
%%開始迭代
for i=1:20 %20為迭代次數
[objvalue]=calobjvalue(pop); %計算目標函數
fitvalue=calfitvalue(objvalue); %計算群體中每個個體的適應度
[newpop]=selection(pop,fitvalue); %復制
[newpop]=crossover(pop,pc); %交叉
[newpop]=mutation(pop,pm); %變異
[bestindivial,bestfit]=best(pop,fitvalue); %求出群體中適應值最大的個體及其適應值
y(i)=max(bestfit);%儲存最優個體適應值
n(i)=i;
pop5=bestindivial;%儲存最優個體
%解碼
x1(i)=decodechrom(pop5,1,chromlength/2)*2/32767;
x2(i)=10+decodechrom(pop5,chromlength/2+1,chromlength/2)*10/32767;
pop=newpop;%將新產生的種群作為當前種群
end
%%繪圖
figure(1)%最優點變化趨勢圖
i=1:20;
plot(y(i),'-r*')
xlabel('迭代次數');
ylabel('最優個體適應值');
title('最優點變化趨勢');
legend('最優點');
grid on
figure(2)%最優點分布圖
[X1,X2]=meshgrid(0:0.1:2,10:0.1:20);
Z=X1.^2+X2.^2;
mesh(X1,X2,Z);
xlabel('自變數x1'),ylabel('自變數x2'),zlabel('函數值f(x1,x2)');
hold on
plot3(x1,x2,y,'ro','MarkerEdgeColor','r','MarkerFaceColor','r','MarkerSize',5)
title('最優點分布');
legend('最優點');
hold off
[z index]=max(y); %計算最大值及其位置
x5=[x1(index),x2(index)]%計算最大值對應的x值
z