matlab中工具函数有哪些
这篇文章将为大家详细讲解有关matlab中工具函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联专注于沛县企业网站建设,自适应网站建设,商城网站定制开发。沛县网站建设公司,为沛县等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
function D=Distanse(a)%% 计算两两城市之间的距离%输入 a 各城市的位置坐标%输出 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)%% 画路径函数%输入% Chrom 待画路径 % X 各城市坐标位置R=[Chrom(1,:) Chrom(1,1)]; %一个随机解(个体)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));%坐标转换 annotation('textarrow',arrowx,arrowy,'HeadWidth',8,'color',[0,0,1]);endhold offxlabel('横坐标')ylabel('纵坐标')title('轨迹图')box on function p=OutputPath(R)%% 输出路径函数%输入: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)%% 计算各个体的路径长度% 输入:% D 两两城市之间的距离% Chrom 个体的轨迹[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:当前解%% 输出% S2:新解N=length(S1);S2=S1; a=round(rand(1,2)*(N-1)+1); %产生两个随机位置 用来交换W=S2(a(1));S2(a(1))=S2(a(2));S2(a(2))=W; %得到一个新路线 function [S,R]=Metropolis(S1,S2,D,T)%% 输入% S1: 当前解% S2: 新解% D: 距离矩阵(两两城市的之间的距离)% T: 当前温度%% 输出% S: 下一个当前解% R: 下一个当前解的路线距离%%R1=PathLength(D,S1); %计算路线长度N=length(S1); %得到城市的个数R2=PathLength(D,S2); %计算路线长度dC=R2-R1; %计算能力之差if dC<0 %如果能力降低 接受新路线 S=S2; R=R2;elseif exp(-dC/T)>=rand %以exp(-dC/T)概率接受新路线 S=S2; R=R2;else %不接受新路线 S=S1; R=R1;end
关于“matlab中工具函数有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文章标题:matlab中工具函数有哪些
本文网址:http://hbruida.cn/article/isghcj.html