這篇文章將為大家詳細(xì)講解有關(guān)matlab中工具函數(shù)有哪些,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)專注于沛縣企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。沛縣網(wǎng)站建設(shè)公司,為沛縣等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
function D=Distanse(a)%% 計(jì)算兩兩城市之間的距離%輸入 a 各城市的位置坐標(biāo)%輸出 D 兩兩城市之間的距離row=size(a,1);D=zeros(row,row);for i=1:row for j=i+1:row D(i,j)=((a(i,1)-a(j,1))^2+(a(i,2)-a(j,2))^2)^0.5; D(j,i)=D(i,j); endend function DrawPath(Chrom,X)%% 畫路徑函數(shù)%輸入% Chrom 待畫路徑 % X 各城市坐標(biāo)位置R=[Chrom(1,:) Chrom(1,1)]; %一個(gè)隨機(jī)解(個(gè)體)figure;hold onplot(X(:,1),X(:,2),'o','color',[0.5,0.5,0.5])plot(X(Chrom(1,1),1),X(Chrom(1,1),2),'rv','MarkerSize',20)for i=1:size(X,1) text(X(i,1)+0.05,X(i,2)+0.05,num2str(i),'color',[1,0,0]);endA=X(R,:);row=size(A,1);for i=2:row [arrowx,arrowy] = dsxy2figxy(gca,A(i-1:i,1),A(i-1:i,2));%坐標(biāo)轉(zhuǎn)換 annotation('textarrow',arrowx,arrowy,'HeadWidth',8,'color',[0,0,1]);endhold offxlabel('橫坐標(biāo)')ylabel('縱坐標(biāo)')title('軌跡圖')box on function p=OutputPath(R)%% 輸出路徑函數(shù)%輸入:R 路徑R=[R,R(1)];N=length(R);p=num2str(R(1));for i=2:N p=[p,'—>',num2str(R(i))];enddisp(p) function len=PathLength(D,Chrom)%% 計(jì)算各個(gè)體的路徑長度% 輸入:% D 兩兩城市之間的距離% Chrom 個(gè)體的軌跡[row,col]=size(D);NIND=size(Chrom,1);len=zeros(NIND,1);for i=1:NIND p=[Chrom(i,:) Chrom(i,1)]; i1=p(1:end-1); i2=p(2:end); len(i,1)=sum(D((i1-1)*col+i2));end function S2=NewAnswer(S1)%% 輸入% S1:當(dāng)前解%% 輸出% S2:新解N=length(S1);S2=S1; a=round(rand(1,2)*(N-1)+1); %產(chǎn)生兩個(gè)隨機(jī)位置 用來交換W=S2(a(1));S2(a(1))=S2(a(2));S2(a(2))=W; %得到一個(gè)新路線 function [S,R]=Metropolis(S1,S2,D,T)%% 輸入% S1: 當(dāng)前解% S2: 新解% D: 距離矩陣(兩兩城市的之間的距離)% T: 當(dāng)前溫度%% 輸出% S: 下一個(gè)當(dāng)前解% R: 下一個(gè)當(dāng)前解的路線距離%%R1=PathLength(D,S1); %計(jì)算路線長度N=length(S1); %得到城市的個(gè)數(shù)關(guān)于“matlab中工具函數(shù)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。