matlab中一个坐标点怎么表示
可以用复数表示,比如x=[1+j;2+2j;3+3j]。
坐标是一维坐标 x 还是二维坐标 (x,y)?如果是前者,就用 plot(t,x);如果是后者,就用 plot3(t,x,y)。其中,t 为每个坐标对应的时刻。
试试下面的效果是不是你要的
clear all
clc
x=0:pi/50:2*pi;
y=sin(x);
plot(x,y)
h = line(’xdata’,,’ydata’,,’color’,’r’,’marker’,’.’,’markersize’,30);
for ii=1:length(x)
set(h,’xdata’,x(ii),’ydata’,y(ii));
drawnow
pause(0.1)
end
如何用matlab画直方图
matlab中,绘制二维直方图的函数是bar,绘制三维直方图的函数是bar3,以下分别列出其用法:
调用格式:bar(x,y,选项) ,其中,x,y是维数相同的矩阵或者向量,配对的x,y按对应的列元素为横纵坐标绘制,选项是一些绘图控制选项,可选;
例如,绘制y=2exp(-0.5x)的条形图
bar3(x,y)或者bar3(y),前者在x指定的位置上绘制y中元素的条形图,后者y的每一个元素对应于一个条形。
哪位大神,有没有人工鱼群算法的仿真程序,matlab的,不胜感激!!!!
clcclear allclose allticfigure(1);hold onezplot(’x*sin(10*pi*x)+2’,[-1,2]);%% 参数设置fishnum=50; %生成50只人工鱼MAXGEN=50; %最多迭代次数try_number=100;%最多试探次数visual=1; %感知距离delta=0.618; %拥挤度因子step=0.1; %步长%% 初始化鱼群lb_ub=[-1,2,1];X=AF_init(fishnum,lb_ub);LBUB=;for i=1:size(lb_ub,1) LBUB=[LBUB;repmat(lb_ub(i,1:2),lb_ub(i,3),1)];endgen=1;BestY=-1*ones(1,MAXGEN); %每步中最优的函数值BestX=-1*ones(1,MAXGEN); %每步中最优的自变量besty=-100; %最优函数值Y=AF_foodconsistence(X);while gen《=MAXGEN fprintf(1,’%d\n’,gen) for i=1:fishnum %% 聚群行为 [Xi1,Yi1]=AF_swarm(X,i,visual,step,delta,try_number,LBUB,Y); %% 追尾行为 [Xi2,Yi2]=AF_follow(X,i,visual,step,delta,try_number,LBUB,Y); if Yi1》Yi2 X(:,i)=Xi1; Y(1,i)=Yi1; else X(:,i)=Xi2; Y(1,i)=Yi2; end end [Ymax,index]=max(Y); figure(1); plot(X(1,index),Ymax,’.’,’color’,[gen/MAXGEN,0,0]) if Ymax》besty besty=Ymax; bestx=X(:,index); BestY(gen)=Ymax; [BestX(:,gen)]=X(:,index); else BestY(gen)=BestY(gen-1); [BestX(:,gen)]=BestX(:,gen-1); end gen=gen+1;endplot(bestx(1),besty,’ro’,’MarkerSize’,100)xlabel(’x’)ylabel(’y’)title(’鱼群算法迭代过程中最优坐标移动’)%% 优化过程图figureplot(1:MAXGEN,BestY)xlabel(’迭代次数’)ylabel(’优化值’)title(’鱼群算法迭代过程’)disp([’最优解X:’,num2str(bestx,’%1.5f’)])disp([’最优解Y:’,num2str(besty,’%1.5f’)])toc