Floyd最短路算法的MATLAB程序 遗传算法matlab程序

Floyd最短路算法的MATLAB程序

%floyd.m

%采用floyd算法计算图a中每对顶点最短路

%d是矩离矩阵

%r是路由矩阵

function[d,r]=floyd(a)

n=size(a,1);

d=a;

fori=1:n

forj=1:n

r(i,j)=j;

end

end

r

fork=1:n

fori=1:n

forj=1:n

ifd(i,k)+d(k,j)<d(i,j)

d(i,j)=d(i,k)+d(k,j);

r(i,j)=r(i,k)

end

end

end

k

d

r

end

数学算法(2)

实例2:三角函数曲线(2)

functionshili02

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例02');

x=-pi:0.05:pi;

y=sin(x)+cos(x);

plot(x,y,'-*r','linewidth',1);

gridon

xlabel('自变量X');

ylabel('函数值Y');

title('三角函数');

实例3:图形的叠加

functionshili03

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例03');

x=-pi:0.05:pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,...

'-*r',...

x,y2,...

'--og');

gridon

xlabel('自变量X');

ylabel('函数值Y');

title('三角函数');

实例4:双y轴图形的绘制

functionshili04

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例04');

x=0:900;a=1000;b=0.005;

y1=2*x;

y2=cos(b*x);

[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot');

axes(haxes(1))

ylabel('semilogplot');

axes(haxes(2))

ylabel('linearplot');

实例6:图形标注

functionshili06

h0=figure('toolbar','none',...

'position',[200150450400],...

'name','实例06');

t=0:pi/10:2*pi;

h=plot(t,sin(t));

xlabel('t=0到2pi','fontsize',16);

ylabel('sin(t)','fontsize',16);

title('it{从0to2pi的正弦曲线}','fontsize',16)

x=get(h,'xdata');

y=get(h,'ydata');

imin=find(min(y)==y);

imax=find(max(y)==y);

text(x(imin),y(imin),...

['leftarrow最小值=',num2str(y(imin))],...

'fontsize',16)

text(x(imax),y(imax),...

['leftarrow最大值=',num2str(y(imax))],...

'fontsize',16)

实例7:条形图形

functionshili07

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例07');

tiao1=[56254822454541445745512];

tiao2=[4748575854526548];

t=0:7;

bar(t,tiao1)

xlabel('X轴');

ylabel('TIAO1值');

h1=gca;

h2=axes('position',get(h1,'position'));

plot(t,tiao2,'linewidth',3)

set(h2,'yaxislocation','right','color','none','xticklabel',[])

实例8:区域图形

functionshili08

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例08');

x=91:95;

profits1=[8875849377];

profits2=[5164545668];

profits3=[4254342524];

profits4=[263818154];

area(x,profits1,'facecolor',[0.50.90.6],...

'edgecolor','b',...

'linewidth',3)

holdon

area(x,profits2,'facecolor',[0.90.850.7],...

'edgecolor','y',...

'linewidth',3)

holdon

area(x,profits3,'facecolor',[0.30.60.7],...

'edgecolor','r',...

'linewidth',3)

holdon

area(x,profits4,'facecolor',[0.60.50.9],...

'edgecolor','m',...

'linewidth',3)

holdoff

set(gca,'xtick',[91:95])

set(gca,'layer','top')

gtext('leftarrow第一季度销量')

gtext('leftarrow第二季度销量')

gtext('leftarrow第三季度销量')

gtext('leftarrow第四季度销量')

xlabel('年','fontsize',16);

ylabel('销售量','fontsize',16);

实例9:饼图的绘制

functionshili09

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例09');

t=[542135;

685435;

452512;

486845;

685469];

x=sum(t);

h=pie(x);

textobjs=findobj(h,'type','text');

str1=get(textobjs,{'string'});

val1=get(textobjs,{'extent'});

oldext=cat(1,val1{:});

names={'商品一:';'商品二:';'商品三:'};

str2=strcat(names,str1);

set(textobjs,{'string'},str2)

val2=get(textobjs,{'extent'});

newext=cat(1,val2{:});

offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2;

pos=get(textobjs,{'position'});

textpos=cat(1,pos{:});

textpos(:,1)=textpos(:,1)+offset;

set(textobjs,{'position'},num2cell(textpos,[3,2])

实例10:阶梯图

functionshili10

h0=figure('toolbar','none',...

'position',[200150450400],...

'name','实例10');

a=0.01;

b=0.5;

t=0:10;

f=exp(-a*t).*sin(b*t);

stairs(t,f)

holdon

plot(t,f,':*')

holdoff

glabel='函数e^{-(alpha*t)}sinbeta*t的阶梯图';

gtext(glabel,'fontsize',16)

xlabel('t=0:10','fontsize',16)

axis([010-1.21.2])

实例11:枝干图

functionshili11

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例11');

x=0:pi/20:2*pi;

y1=sin(x);

y2=cos(x);

h1=stem(x,y1+y2);

holdon

h2=plot(x,y1,'^r',x,y2,'*g');

holdoff

h3=[h1(1);h2];

legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)')

xlabel('自变量X');

ylabel('函数值Y');

title('正弦函数与余弦函数的线性组合');

实例12:罗盘图

functionshili12

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例12');

winddirection=[54246584

2561223562

12532434254];

windpower=[2553

68127

614108];

rdirection=winddirection*pi/180;

[x,y]=pol2cart(rdirection,windpower);

compass(x,y);

desc={'风向和风力',

'北京气象台',

'10月1日0:00到',

'10月1日12:00'};

gtext(desc)

实例13:轮廓图

functionshili13

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例13');

[th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1);

[x,y]=pol2cart(th,r);

z=x+i*y;

f=(z.^4-1).^(0.25);

contour(x,y,abs(f),20)

axisequal

xlabel('实部','fontsize',16);

ylabel('虚部','fontsize',16);

h=polar([02*pi],[01]);

delete(h)

holdon

contour(x,y,abs(f),20)

实例14:交互式图形

functionshili14

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例14');

axis([010010]);

holdon

x=[];

y=[];

n=0;

disp('单击鼠标左键点取需要的点');

disp('单击鼠标右键点取最后一个点');

but=1;

whilebut==1

[xi,yi,but]=ginput(1);

plot(xi,yi,'bo')

n=n+1;

disp('单击鼠标左键点取下一个点');

x(n,1)=xi;

y(n,1)=yi;

end

t=1:n;

ts=1:0.1:n;

xs=spline(t,x,ts);

ys=spline(t,y,ts);

plot(xs,ys,'r-');

holdoff

实例15:变换的傅立叶函数曲线

functionshili15

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例15');

axisequal

m=moviein(20,gcf);

set(gca,'nextplot','replacechildren')

h=uicontrol('style','slider','position',...

[1001050020],'min',1,'max',20)

forj=1:20

plot(fft(eye(j+16)))

set(h,'value',j)

m(:,j)=getframe(gcf);

end

clf;

axes('position',[0011]);

movie(m,30)

实例16:劳伦兹非线形方程的无序活动

functionshili15

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例15');

axisequal

m=moviein(20,gcf);

set(gca,'nextplot','replacechildren')

h=uicontrol('style','slider','position',...

[1001050020],'min',1,'max',20)

forj=1:20

plot(fft(eye(j+16)))

set(h,'value',j)

m(:,j)=getframe(gcf);

end

clf;

axes('position',[0011]);

movie(m,30)

实例17:填充图

functionshili17

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例17');

t=(1:2:15)*pi/8;

x=sin(t);

y=cos(t);

fill(x,y,'r')

axissquareoff

text(0,0,'STOP',...

'color',[111],...

'fontsize',50,...

'horizontalalignment','center')

实例18:条形图和阶梯形图

functionshili18

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例18');

subplot(2,2,1)

x=-3:0.2:3;

y=exp(-x.*x);

bar(x,y)

title('2-DBarChart')

subplot(2,2,2)

x=-3:0.2:3;

y=exp(-x.*x);

bar3(x,y,'r')

title('3-DBarChart')

subplot(2,2,3)

x=-3:0.2:3;

y=exp(-x.*x);

stairs(x,y)

title('StairChart')

subplot(2,2,4)

x=-3:0.2:3;

y=exp(-x.*x);

barh(x,y)

title('HorizontalBarChart')

实例19:三维曲线图

functionshili19

h0=figure('toolbar','none',...

'position',[200150450400],...

'name','实例19');

subplot(2,1,1)

x=linspace(0,2*pi);

y1=sin(x);

y2=cos(x);

y3=sin(x)+cos(x);

z1=zeros(size(x));

z2=0.5*z1;

z3=z1;

plot3(x,y1,z1,x,y2,z2,x,y3,z3)

gridon

xlabel('X轴');

ylabel('Y轴');

zlabel('Z轴');

title('Figure1:3-DPlot')

subplot(2,1,2)

x=linspace(0,2*pi);

y1=sin(x);

y2=cos(x);

y3=sin(x)+cos(x);

z1=zeros(size(x));

z2=0.5*z1;

z3=z1;

plot3(x,z1,y1,x,z2,y2,x,z3,y3)

gridon

xlabel('X轴');

ylabel('Y轴');

zlabel('Z轴');

title('Figure2:3-DPlot')

实例21:PEAKS函数曲线

functionshili21

h0=figure('toolbar','none',...

'position',[200100450450],...

'name','实例21');

[x,y,z]=peaks(30);

subplot(2,1,1)

x=x(1,:);

y=y(:,1);

i=find(y>0.8&y<1.2);

j=find(x>-0.6&x<0.5);

z(i,j)=nan*z(i,j);

surfc(x,y,z)

xlabel('X轴');

ylabel('Y轴');

zlabel('Z轴');

title('Figure1:surfc函数形成的曲面')

subplot(2,1,2)

x=x(1,:);

y=y(:,1);

i=find(y>0.8&y<1.2);

j=find(x>-0.6&x<0.5);

z(i,j)=nan*z(i,j);

surfl(x,y,z)

xlabel('X轴');

ylabel('Y轴');

zlabel('Z轴');

title('Figure2:surfl函数形成的曲面')

实例22:片状图

functionshili22

h0=figure('toolbar','none',...

'position',[200150550350],...

'name','实例22');

subplot(1,2,1)

x=rand(1,20);

y=rand(1,20);

z=peaks(x,y*pi);

t=delaunay(x,y);

trimesh(t,x,y,z)

hiddenoff

title('Figure1:TriangularSurfacePlot');

subplot(1,2,2)

x=rand(1,20);

y=rand(1,20);

z=peaks(x,y*pi);

t=delaunay(x,y);

trisurf(t,x,y,z)

title('Figure1:TriangularSurfacePlot');

实例23:视角的调整

functionshili23

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例23');

x=-5:0.5:5;

[x,y]=meshgrid(x);

r=sqrt(x.^2+y.^2)+eps;

z=sin(r)./r;

subplot(2,2,1)

surf(x,y,z)

xlabel('X-axis')

ylabel('Y-axis')

zlabel('Z-axis')

title('Figure1')

view(-37.5,30)

subplot(2,2,2)

surf(x,y,z)

xlabel('X-axis')

ylabel('Y-axis')

zlabel('Z-axis')

title('Figure2')

view(-37.5+90,30)

subplot(2,2,3)

surf(x,y,z)

xlabel('X-axis')

ylabel('Y-axis')

zlabel('Z-axis')

title('Figure3')

view(-37.5,60)

subplot(2,2,4)

surf(x,y,z)

xlabel('X-axis')

ylabel('Y-axis')

zlabel('Z-axis')

title('Figure4')

view(180,0)

实例24:向量场的绘制

functionshili24

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例24');

subplot(2,2,1)

z=peaks;

ribbon(z)

title('Figure1')

subplot(2,2,2)

[x,y,z]=peaks(15);

[dx,dy]=gradient(z,0.5,0.5);

contour(x,y,z,10)

holdon

quiver(x,y,dx,dy)

holdoff

title('Figure2')

subplot(2,2,3)

[x,y,z]=peaks(15);

[nx,ny,nz]=surfnorm(x,y,z);

surf(x,y,z)

holdon

quiver3(x,y,z,nx,ny,nz)

holdoff

title('Figure3')

subplot(2,2,4)

x=rand(3,5);

y=rand(3,5);

z=rand(3,5);

c=rand(3,5);

fill3(x,y,z,c)

gridon

title('Figure4')

实例26:柱状图

functionshili26

h0=figure('toolbar','none',...

'position',[20050450450],...

'name','实例26');

subplot(2,1,1)

x=[521

873

986

555

432];

bar(x)

xlabel('X轴');

ylabel('Y轴');

title('第一子图');

subplot(2,1,2)

y=[521

873

986

555

432];

barh(y)

xlabel('X轴');

ylabel('Y轴');

title('第二子图');

实例28:羽状图

functionshili28

h0=figure('toolbar','none',...

'position',[200150450350],...

'name','实例28');

subplot(2,1,1)

alpha=90:-10:0;

r=ones(size(alpha));

m=alpha*pi/180;

n=r*10;

[u,v]=pol2cart(m,n);

feather(u,v)

title('羽状图')

axis([020010])

subplot(2,1,2)

t=0:0.5:10;

x=0.05+i;

y=exp(-x*t);

feather(y)

title('复数矩阵的羽状图')

实例29:立体透视(1)

functionshili29

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例29');

[x,y,z]=meshgrid(-2:0.1:2,...

-2:0.1:2,...

-2:0.1:2);

v=x.*exp(-x.^2-y.^2-z.^2);

gridon

fori=-2:0.5:2;

h1=surf(linspace(-2,2,20),...

linspace(-2,2,20),...

zeros(20)+i);

rotate(h1,[1-11],30)

dx=get(h1,'xdata');

dy=get(h1,'ydata');

dz=get(h1,'zdata');

delete(h1)

slice(x,y,z,v,[-22],2,-2)

holdon

slice(x,y,z,v,dx,dy,dz)

holdoff

axistight

view(-5,10)

drawnow

end

实例30:立体透视(2)

functionshili30

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例30');

[x,y,z]=meshgrid(-2:0.1:2,...

-2:0.1:2,...

-2:0.1:2);

v=x.*exp(-x.^2-y.^2-z.^2);

[dx,dy,dz]=cylinder;

slice(x,y,z,v,[-22],2,-2)

fori=-2:0.2:2

h=surface(dx+i,dy,dz);

rotate(h,[100],90)

xp=get(h,'xdata');

yp=get(h,'ydata');

zp=get(h,'zdata');

delete(h)

holdon

hs=slice(x,y,z,v,xp,yp,zp);

axistight

xlim([-33])

view(-10,35)

drawnow

delete(hs)

holdoff

end

实例31:表面图形

functionshili31

h0=figure('toolbar','none',...

'position',[200150550250],...

'name','实例31');

subplot(1,2,1)

x=rand(100,1)*16-8;

y=rand(100,1)*16-8;

r=sqrt(x.^2+y.^2)+eps;

z=sin(r)./r;

xlin=linspace(min(x),max(x),33);

ylin=linspace(min(y),max(y),33);

[X,Y]=meshgrid(xlin,ylin);

Z=griddata(x,y,z,X,Y,'cubic');

mesh(X,Y,Z)

axistight

holdon

plot3(x,y,z,'.','Markersize',20)

subplot(1,2,2)

k=5;

n=2^k-1;

theta=pi*(-n:2:n)/n;

phi=(pi/2)*(-n:2:n)'/n;

X=cos(phi)*cos(theta);

Y=cos(phi)*sin(theta);

Z=sin(phi)*ones(size(theta));

colormap([000;111])

C=hadamard(2^k);

surf(X,Y,Z,C)

axissquare

实例33:曲线转换按钮

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例33');

x=0:0.5:2*pi;

y=sin(x);

h=plot(x,y);

gridon

huidiao=[...

'ifi==1,',...

'i=0;,',...

'y=cos(x);,',...

'delete(h),',...

'set(hm,''string'',''正弦函数''),',...

'h=plot(x,y);,',...

'gridon,',...

'elseifi==0,',...

'i=1;,',...

'y=sin(x);,',...

'set(hm,''string'',''余弦函数''),',...

'delete(h),',...

'h=plot(x,y);,',...

'gridon,',...

'end,',...

'end'];

hm=uicontrol(gcf,'style','pushbutton',...

'string','余弦函数',...

'callback',huidiao);

i=1;

set(hm,'position',[250206020]);

set(gca,'position',[0.20.20.60.6])

title('按钮的使用')

holdon

实例34:栅格控制按钮

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例34');

x=0:0.5:2*pi;

y=sin(x);

plot(x,y)

huidiao1=[...

'set(h_toggle2,''value'',0),',...

'gridon,',...

];

huidiao2=[...

'set(h_toggle1,''value'',0),',...

'gridoff,',...

];

h_toggle1=uicontrol(gcf,'style','togglebutton',...

'string','gridon',...

'value',0,...

'position',[20455020],...

'callback',huidiao1);

h_toggle2=uicontrol(gcf,'style','togglebutton',...

'string','gridoff',...

'value',0,...

'position',[20205020],...

'callback',huidiao2);

set(gca,'position',[0.20.20.60.6])

title('开关按钮的使用')

实例35:编辑框的使用

h0=figure('toolbar','none',...

'position',[200150350250],...

'name','实例35');

f='Pleaseinputtheletter';

huidiao1=[...

'g=upper(f);,',...

'set(h2_edit,''string'',g),',...

];

huidiao2=[...

'g=lower(f);,',...

'set(h2_edit,''string'',g),',...

];

h1_edit=uicontrol(gcf,'style','edit',...

'position',[10020010050],...

'HorizontalAlignment','left',...

'string','Pleaseinputtheletter',...

'callback','f=get(h1_edit,''string'');',...

'background','w',...

'max',5,...

'min',1);

h2_edit=uicontrol(gcf,'style','edit',...

'HorizontalAlignment','left',...

'position',[10010010050],...

'background','w',...

'max',5,...

'min',1);

h1_button=uicontrol(gcf,'style','pushbutton',...

'string','小写变大写',...

'position',[1004510020],...

'callback',huidiao1);

h2_button=uicontrol(gcf,'style','pushbutton',...

'string','大写变小写',...

'position',[1002010020],...

'callback',huidiao2);

实例36:弹出式菜单

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例36');

x=0:0.5:2*pi;

y=sin(x);

h=plot(x,y);

gridon

hm=uicontrol(gcf,'style','popupmenu',...

'string',...

'sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x))',...

'position',[250205020]);

set(hm,'value',1)

huidiao=[...

'v=get(hm,''value'');,',...

'switchv,',...

'case1,',...

'delete(h),',...

'y=sin(x);,',...

'h=plot(x,y);,',...

'gridon,',...

'case2,',...

'delete(h),',...

'y=cos(x);,',...

'h=plot(x,y);,',...

'gridon,',...

'case3,',...

'delete(h),',...

'y=sin(x)+cos(x);,',...

'h=plot(x,y);,',...

'gridon,',...

'case4,',...

'delete(h),',...

'y=exp(-sin(x));,',...

'h=plot(x,y);,',...

'gridon,',...

'end'];

set(hm,'callback',huidiao)

set(gca,'position',[0.20.20.60.6])

title('弹出式菜单的使用')

holdon

实例37:滑标的使用

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例37');

[x,y]=meshgrid(-8:0.5:8);

r=sqrt(x.^2+y.^2)+eps;

z=sin(r)./r;

h0=mesh(x,y,z);

h1=axes('position',...

[0.20.20.50.5],...

'visible','off');

htext=uicontrol(gcf,...

'units','points',...

'position',[20304515],...

'string','brightness',...

'style','text');

hslider=uicontrol(gcf,...

'units','points',...

'position',[101030015],...

'min',-1,...

'max',1,...

'style','slider',...

'callback',...

'brighten(get(hslider,''value''))');

实例38:多选菜单

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例38');

[x,y]=meshgrid(-8:0.5:8);

r=sqrt(x.^2+y.^2)+eps;

z=sin(r)./r;

h0=mesh(x,y,z);

hlist=uicontrol(gcf,'style','listbox',...

'string','default|spring|summer|autumn|winter',...

'max',5,...

'min',1,...

'position',[202080100],...

'callback',[...

'k=get(hlist,''value'');,',...

'switchk,',...

'case1,',...

'colormapdefault,',...

'case2,',...

'colormapspring,',...

'case3,',...

'colormapsummer,',...

'case4,',...

'colormapautumn,',...

'case5,',...

'colormapwinter,',...

'end']);

实例39:菜单控制的使用

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例39');

x=0:0.5:2*pi;

y=cos(x);

h=plot(x,y);

gridon

set(gcf,'toolbar','none')

hm=uimenu('label','example');

huidiao1=[...

'set(hm_gridon,''checked'',''on''),',...

'set(hm_gridoff,''checked'',''off''),',...

'gridon'];

huidiao2=[...

'set(hm_gridoff,''checked'',''on''),',...

'set(hm_gridon,''checked'',''off''),',...

'gridoff'];

hm_gridon=uimenu(hm,'label','gridon',...

'checked','on',...

'callback',huidiao1);

hm_gridoff=uimenu(hm,'label','gridoff',...

'checked','off',...

'callback',huidiao2);

实例40:UIMENU菜单的应用

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例40');

h1=uimenu(gcf,'label','函数');

h11=uimenu(h1,'label','轮廓图',...

'callback',[...

'set(h31,''checked'',''on''),',...

'set(h32,''checked'',''off''),',...

'[x,y,z]=peaks;,',...

'contour3(x,y,z,30)']);

h12=uimenu(h1,'label','高斯分布',...

'callback',[...

'set(h31,''checked'',''on''),',...

'set(h32,''checked'',''off''),',...

'mesh(peaks);,',...

'axistight']);

h13=uimenu(h1,'label','Sinc函数',...

'callback',[...

'set(h31,''checked'',''on''),',...

'set(h32,''checked'',''off''),',...

'[x,y]=meshgrid(-8:0.5:8);,',...

'r=sqrt(x.^2+y.^2)+eps;,',...

'z=sin(r)./r;,',...

'mesh(x,y,z)']);

h2=uimenu(gcf,'label','色彩');

hl2(1)=uimenu(h2,'label','Default',...

'checked','on',...

'callback',...

[...

'set(hl2,''checked'',''off''),',...

'set(hl2(1),''checked'',''on''),',...

'colormap(''default'')']);

hl2(2)=uimenu(h2,'label','spring',...

'callback',...

[...

'set(hl2,''checked'',''off''),',...

'set(hl2(2),''checked'',''on''),',...

'colormap(spring)']);

hl2(3)=uimenu(h2,'label','Summer',...

'callback',...

[...

'set(hl2,''checked'',''off''),',...

'set(hl2(3),''checked'',''on''),',...

'colormap(summer)']);

hl2(4)=uimenu(h2,'label','Autumn',...

'callback',...

[...

'set(hl2,''checked'',''off''),',...

'set(hl2(4),''checked'',''on''),',...

'colormap(autumn)']);

hl2(5)=uimenu(h2,'label','Winter',...

'callback',...

[...

'set(hl2,''checked'',''off''),',...

'set(hl2(5),''checked'',''on''),',...

'colormap(winter)']);

h3=uimenu(gcf,'label','坐标选项');

h31=uimenu(h3,'label','Axison',...

'callback',...

[...

'axison,',...

'set(h31,''checked'',''on''),',...

'set(h32,''checked'',''off'')']);

h32=uimenu(h3,'label','Axisoff',...

'callback',...

[...

'axisoff,',...

'set(h32,''checked'',''on''),',...

'set(h31,''checked'',''off'')']);

实例41:除法计算器

h=figure('toolbar','none',...

'position',[200150450250],...

'name','实例41');

h1=uicontrol(gcf,'style','edit',...

'position',[8020010020],...

'HorizontalAlignment','right',...

'callback',['m=get(h1,''string'');,',...

'a=str2num(m);']);

h2=uicontrol(gcf,'style','edit',...

'HorizontalAlignment','right',...

'position',[8015010020],...

'callback',['n=get(h2,''string'');,',...

'b=str2num(n);']);

h3=uicontrol(gcf,'style','text',...

'string','被除数',...

'position',[8023010020]);

h4=uicontrol(gcf,'style','edit',...

'position',[805010020]);

h5=uicontrol(gcf,'style','pushbutton',...

'position',[8010010020],...

'string','=',...

'callback',[...

'ifb==0,',...

'h7=errordlg(''除数不能为0!'',''error'',''on'');,',...

'else,',...

'k=a/b;,',...

'c=num2str(k);,',...

'set(h4,''string'',c),',...

'end']);

h8=uicontrol(gcf,'style','text',...

'string','除数',...

'position',[8017510020]);

h9=uicontrol(gcf,'style','text',...

'string','商',...

'position',[807510020]);

实例42:单选框的使用

h0=figure('toolbar','none',...

'position',[200150450250],...

'name','实例42');

x=0:0.5:2*pi;

y=sin(x);

plot(x,y)

gridon

set(gcf,'toolbar','none')

g=set(gca,'position',[0.20.20.60.6]);

huidiao1=[...

'gridon,',...

'set(box_on,''value'',1),',...

'set(box_off,''value'',0),'];

huidiao2=[...

'gridoff,',...

'set(box_off,''value'',1),',...

'set(box_on,''value'',0),'];

box_on=uicontrol(gcf,'style','radio',...

'position',[5505020],...

'string','gridon',...

'value',1,...

'callback',huidiao1);

box_off=uicontrol(gcf,'style','radio',...

'position',[5205020],...

'string','gridoff',...

'value',0,...

'callback',huidiao2);

title('无线按钮的使用')

实例43:添加环境效果

h0=figure('toolbar','none',...

'position',[19856450468],...

'name','实例43');

h1=axes('parent',h0,...

'position',[0.150.450.70.5],...

'visible','off');

sphere

h=findobj('type','surface');

shadinginterp

axisequal

l=light('position',[0-21]);

k(1)=get(h,'specularstrength');

k(2)=get(h,'diffusestrength');

k(3)=get(h,'specularexponent');

k(4)=get(h,'specularcolorreflectance');

u1=uimenu('parent',h0,...

'label','灯光效果',...

'tag','u1',...

'backgroundcolor',[0.750.750.75]);

u11=uimenu('parent',u1,...

'label','gouraud',...

'tag','u11',...

'backgroundcolor',[0.750.750.75],...

'callback',[...

'set(u11,''checked'',''on'');,',...

'set(u12,''checked'',''off'');,',...

'set(h,''facelighting'',''gouraud'')']);

u12=uimenu('parent',u1,...

'label','phong',...

'tag','u12',...

'backgroundcolor',[0.750.750.75],...

'callback',[...

'set(u11,''checked'',''off'');,',...

'set(u12,''checked'',''on'');,',...

'set(h,''facelighting'',''gouraud'')']);

u2=uimenu('parent',h0,...

'label','背面灯光',...

'tag','u2',...

'backgroundcolor',[0.750.750.75]);

u21=uimenu('parent',u2,...

'label','reverselit',...

'tag','u21',...

'checked','on',...

'backgroundcolor',[0.750.750.75],...

'callback',[...

'set(u21,''checked'',''on'');,',...

'set(u22,''checked'',''off'');,',...

'set(h,''backfacelighting'',''reverselit'')']);

u22=uimenu('parent',u2,...

'label','reverselit',...

'tag','u22',...

'backgroundcolor',[0.750.750.75],...

'callback',[...

'set(u21,''checked'',''off'');,',...

'set(u22,''checked'',''on'');,',...

'set(h,''backfacelighting'',''reverselit'')']);

s1=uicontrol('parent',h0,...

'units','points',...

'style','slider',...

'tag','s1',...

'min',0,...

'max',1,...

'value',k(1),...

'position',[208010015],...

'callback',[...

's1value=get(s1,''value'');,',...

'set(h,''specularstrength'',s1value)']);

t1=uicontrol('parent',h0,...

'units','points',...

'style','text',...

'tag','t1',...

'string','镜面反射强度',...

'position',[209710015]);

s2=uicontrol('parent',h0,...

'units','points',...

'style','slider',...

'tag','s2',...

'min',0,...

'max',1,...

'value',k(2),...

'position',[203010015],...

'callback',[...

's2value=get(s2,''value'');,',...

'set(h,''diffusestrength'',s2value)']);

t2=uicontrol('parent',h0,...

'units','points',...

'style','text',...

'tag','t2',...

'string','漫反射强度',...

'position',[204710015]);

s3=uicontrol('parent',h0,...

'units','points',...

'style','slider',...

'tag','s3',...

'min',0.1,...

'max',1,...

'value',k(3)/20,...

'position',[2208010015],...

'callback',[...

's3value=get(s3,''value'')+eps;,',...

'set(h,''specularexponent'',20*s3value)']);

t3=uicontrol('parent',h0,...

'units','points',...

'style','text',...

'tag','t3',...

'string','镜面指数',...

'position',[2209710015]);

s4=uicontrol('parent',h0,...

'units','points',...

'style','slider',...

'tag','s4',...

'min',0,...

'max',1,...

'value',k(4),...

'position',[2203010015],...

'callback',[...

's4value=get(s4,''value'');,',...

'set(h,''specularcolorreflectance'',s4value)']);

t4=uicontrol('parent',h0,...

'units','points',...

'style','text',...

'tag','t1',...

'string','镜面颜色反射比',...

'position',[2204710015]);

b1=uicontrol('parent',h0,...

'units','points',...

'style','pushbutton',...

'tag','b1',...

'string','关闭',...

'position',[145455030],...

'callback','close');

实例44:改变坐标轴范围

h0=figure('toolbar','none',...

'position',[19856408468],...

'name','实例44');

h1=axes('parent',h0,...

'position',[0.150.450.70.5],...

'visible','on');

e1=uicontrol('parent',h0,...

'style','edit',...

'string',1,...

'position',[501205020]);

t1=uicontrol('parent',h0,...

'style','text',...

'string','X轴最小值',...

'position',[351508020]);

e2=uicontrol('parent',h0,...

'style','edit',...

'string',5,...

'position',[50605020]);

t2=uicontrol('parent',h0,...

'style','text',...

'string','X轴最大值',...

'position',[35908020]);

e3=uicontrol('parent',h0,...

'style','edit',...

'string',1,...

'position',[1501205020]);

t3=uicontrol('parent',h0,...

'style','text',...

'string','Y轴最小值',...

'position',[1351508020]);

e4=uicontrol('parent',h0,...

'style','edit',...

'string',5,...

'position',[150605020]);

t4=uicontrol('parent',h0,...

'style','text',...

'string','Y轴最大值',...

'position',[135908020]);

e5=uicontrol('parent',h0,...

'style','edit',...

'string',20,...

'position',[2501205020]);

t5=uicontrol('parent',h0,...

'style','text',...

'horizontalalignment','left',...

'string','点数',...

'position',[2501503020]);

b1=uicontrol('parent',h0,...

'style','pushbutton',...

'string','绘图',...

'position',[250606040],...

'callback',[...

'a=str2num(get(e1,''string''));,',...

'b=str2num(get(e2,''string''));,',...

'c=str2num(get(e3,''string''));,',...

'd=str2num(get(e4,''string''));,',...

'n=str2num(get(e5,''string''));,',...

'xgrid=linspace(-abs(a),abs(a),n);,',...

'ygrid=linspace(-abs(b),abs(b),n);,',...

'[x,y]=meshgrid(xgrid,ygrid);,',...

'z=c*sqrt(d-y.*y/b/b-x.*x/a/a);,',...

'u=1;,',...

'z1=real(z);,',...

'fork=2:n-1,',...

'forj=2:n-1,',...

'ifimag(z(k,j))~=0,',...

'z1(k,j)=0;,',...

'end,',...

'ifall(imag(z([k-1:k+1],[j-1:j+1])))~=0,',...

'z1(k,j)=nan;,',...

'end,',...

'end,',...

'end,',...

'surf(x,y,z1),',...

'holdon,',...

'ifu==1,',...

'z2=-z1;,',...

'surf(x,y,z2),',...

'axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);,',...

'end,',...

'xlabel(''x'');,',...

'ylabel(''y'');,',...

'zlabel(''z'');,',...

'holdoff']);

b2=uicontrol('parent',h0,...

'style','pushbutton',...

'string','关闭',...

'position',[150106020],...

'callback','close');

实例45:简单运算器

h1=uicontrol(gcf,'style','radio',...

'string','加',...

'value',1,...

'position',[201504020],...

'callback',[...

'k=1;,',...

'set(h1,''value'',1),',...

'set(h2,''value'',0),',...

'set(h3,''value'',0)']);

h2=uicontrol(gcf,'style','radio',...

'string','减',...

'position',[201104020],...

'callback',[...

'k=2;,',...

'set(h2,''value'',1),',...

'set(h1,''value'',0),',...

'set(h3,''value'',0)']);

h3=uicontrol(gcf,'style','radio',...

'string','乘',...

'position',[20704020],...

'callback',[...

'k=3;,',...

'set(h3,''value'',1),',...

'set(h2,''value'',0),',...

'set(h1,''value'',0)']);

e1=uicontrol(gcf,'style','edit',...

'position',[8015010020]);

e2=uicontrol(gcf,'style','edit',...

'position',[8011010020]);

e3=uicontrol(gcf,'style','edit',...

'position',[807010020]);

b1=uicontrol(gcf,'style','pushbutton',...

'string','运算',...

'position',[2001508030],...

'callback',[...

'x=str2num(get(e1,''string''));,',...

'y=str2num(get(e2,''string''));,',...

'switchk,',...

'case1,',...

'z=x+y;,',...

'case2,',...

'z=x-y;,',...

'case3,',...

'z=x*y;,',...

'end,',...

'set(e3,''string'',num2str(z))']);

b2=uicontrol(gcf,'style','pushbutton',...

'string','退出',...

'position',[2001008030],...

'callback','close');

实例46:曲线色彩的修改

h0=figure('toolbar','none',...

'position',[19856408468],...

'name','mysecondgui');

h1=axes('parent',h0,...

'position',[0.150.450.70.5],...

'visible','on');

x=0:0.1:2*pi;

k=plot(x,sin(x));

xlabel('自变量X');

ylabel('函数值Y');

title('图形色彩改变');

p1=uicontrol('parent',h0,...

'style','pushbutton',...

'backgroundcolor','r',...

'position',[601005030],...

'callback','set(k,''color'',''r'')');

p2=uicontrol('parent',h0,...

'style','pushbutton',...

'backgroundcolor','g',...

'position',[1701005030],...

'callback','set(k,''color'',''g'')');

p3=uicontrol('parent',h0,...

'style','pushbutton',...

'backgroundcolor','b',...

'position',[2801005030],...

'callback','set(k,''color'',''b'')');

p4=uicontrol('parent',h0,...

'style','pushbutton',...

'backgroundcolor',[111],...

'fontsize',20,...

'fontweight','demi',...

'string','关闭',...

'position',[150308060],...

'callback','close');

t1=uicontrol('parent',h0,...

'style','text',...

'string','红色',...

'fontsize',12,...

'fontweight','demi',...

'position',[601205020]);

t2=uicontrol('parent',h0,...

'style','text',...

'string','绿色',...

'fontsize',12,...

'fontweight','demi',...

'position',[1701205020]);

t3=uicontrol('parent',h0,...

'style','text',...

'string','蓝色',...

'fontsize',12,...

'fontweight','demi',...

'position',[2801205020]);

实例47:曲线标记

h0=figure('toolbar','none',...

'position',[19856408468],...

'name','mysecondgui');

h1=axes('parent',h0,...

'position',[0.150.450.70.5],...

'visible','on');

x=0:0.1:2*pi;

k=plot(x,sin(x),'*');

xlabel('自变量X');

ylabel('函数值Y');

title('标记类型的改变');

p1=uicontrol('parent',h0,...

'style','pushbutton',...

'string','+',...

'fontsize',20,...

'foregroundcolor',[111],...

'backgroundcolor',[000],...

'position',[601005020],...

'callback','set(k,''marker'',''+'')');

p2=uicontrol('parent',h0,...

'style','pushbutton',...

'string','o',...

'fontsize',20,...

'foregroundcolor',[111],...

'backgroundcolor',[000],...

'position',[1701005020],...

'callback','set(k,''marker'',''o'')');

p3=uicontrol('parent',h0,...

'style','pushbutton',...

'string','x',...

'fontsize',20,...

'foregroundcolor',[111],...

'backgroundcolor',[000],...

'position',[2801005020],...

'callback','set(k,''marker'',''x'')');

p4=uicontrol('parent',h0,...

'style','pushbutton',...

'backgroundcolor',[111],...

'fontsize',20,...

'fontweight','demi',...

'string','关闭',...

'position',[150308060],...

'callback','close');

t1=uicontrol('parent',h0,...

'style','text',...

'string','星号',...

'fontsize',12,...

'fontweight','demi',...

'position',[601205020]);

t2=uicontrol('parent',h0,...

'style','text',...

'string','圆圈',...

'fontsize',12,...

'fontweight','demi',...

'position',[1701205020]);

t3=uicontrol('parent',h0,...

'style','text',...

'string','叉号',...

'fontsize',12,...

'fontweight','demi',...

'position',[2801205020]);

数学算法(3)

1)动态规划算法

plot(100+t+15*cos(3.05*t),t=0..200,coords=polar,axes=none,scaling=constrained);

2)分治算法

functionBinary_Search(L,a,b,x);

begin

ifa>bthenreturn(-1)

elsebegin

m:=(a+b)div2;

ifx=L[m]thenreturn(m)

elseifx>L[m]

thenreturn(Binary_Search(L,m+1,b,x));

elsereturn(Binary_Search(L,a,m-1,x));

end;

end;

4)数据处理

functionreadprocess(file)

fid=fopen(file,'rt');

if(fid==-1)

display('Filenotexist!');

return;

end

array=[];

while(~feof(fid))

str=fscanf(fid,'%s',1);

if(length(str)>10)

%d+00005.00;v+00002.72;e+00002.28;u-0007;m+0761;t+0295;

col=sscanf(str,'d%f;v%f;e%f;u%f;m%d;t%d;');

array=[arraycol];

end

end

fclose(fid);

dhead=array(1,:);

head=array(2,:);

'r:',t,head,'b-');

一个程序的M文件-----概率

functiondaoju_n=daoju_n(x,y)%输入的x为u的开始,y为u的结束,x>100

a=[111222469111113968446];

f=a*0.01;%概率

n0=[100:50:900];n1=[100n0];n2=[150:50:900];n3=[0n20];

n=(n1+n3)/2;%刀具完成件数为Ni,取他们的间隔的平均

ii=0;

for(u=x:50:y)%按步长搜索

for(k=1:18)

if(u==n3(1,k))

for(i=1:k)

c1(i)=n(i)*f(i);d(i)=f(i);

end

c=sum(c1);g=sum(d);h=1-g;

for(j=i+1:18)

e(j)=f(j);

end

end

end

au=(c+u*h)/g;%求au

d=1/(1/au+1/11400);%求c

nn=sqrt(2*10*d/200)%求各个u对应的n

min=1000/u+10/nn+(nn+1)*200/(2*d)+3000/d%%每个u对应L的数值

end

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/130333.html

更多阅读

毕业论文答辩的一般程序及常见问题 研究生毕业论文答辩

毕业论文答辩不会太严,如果差得不是太出格都可以毕业。毕业论文不是自己写的也不用太紧张,一般都不会有什么事,不需要全部背下来,主要的观点记住就可以了,只要你把自己论文的重点内容熟悉了就可以了。 毕业论文答辩的一般程序及常见问题

最受欢迎的孕妇奶粉排行榜 2013孕妇奶粉排行榜

奶粉的选择直接关系宝宝的身体健康,在选择奶粉的时个,各位准妈妈看市场上是否有见过,对于比较陌生的奶粉和没听说过的不要选择购买,下面给大家准妈妈介绍最受欢迎的孕妇奶粉排行前4名:孕妇奶粉排行第1:美赞臣安婴妈妈? 这款孕妇奶粉可帮

最简单有效的10大瘦脸方法全 简单有效的瘦脸方法

最简单有效的10大瘦脸方法(全)——简介经常照镜子觉得自己的脸型不好看,特别羡慕别人的小V脸。巴掌小脸是很多女生的梦想,但是不是所有的人都拥有巴掌小脸。因此很多胖脸的美眉都想知道如何瘦脸最快最有效,今天小编就教大家如何消除脸上

声明:《Floyd最短路算法的MATLAB程序 遗传算法matlab程序》为网友衬我孤痞分享!如侵犯到您的合法权益请联系我们删除