【MATLAB100个实用小技巧】——图形应用(11-20)

文章目录

  • 前言
  • 系列文章
  • 11. 离散序列图
  • 12. 罗盘图
  • 13. 轮廓图
  • 14. 交互式图形
  • 15. 变换的傅立叶函数曲线
  • 16. 劳伦兹非线形方程的无序活动
  • 17. 填充图
  • 18. 条形图和阶梯形图
  • 19. 三维曲线图
  • 20. 图形的隐藏属性

前言

MATLAB是一个功能强大的软件,我们可以利用MATLAB进行绘图、算法验证、仿真实验等等。在学习MATLAB的过程中,繁多的命令与代码往往容易使我们脑容量过载请添加图片描述
本系列将总结一些常见的MATLAB编程小技巧
可能有些地方会有些错误或者是不太完善的,还请大家在评论区直接指出❤️❤️❤️

系列文章

【MATLAB100个实用小技巧】——图形应用(1-10)
【MATLAB100个实用小技巧】——图形应用(11-20)

11. 离散序列图

重点 stem←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
x = 0 :pi/20:2*pi;
y1 = sin(x);
y2 = cos(x);
h1 = stem(x,y1+y2);
hold on;
h2 = plot(x,y1,'^r',x,y2,"*g");
hold off;
h3 = [h1(1);h2];
legend(h3,'y1+y2',"y1 = sin(x)","y2 = cos(x)");

xlabel('x','fontsize',16);
ylabel('y','fontsize',16);
title('正弦函数与余弦函数的线性组合','fontsize',16);
grid on;

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第1张图片

12. 罗盘图

重点compass←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
winddirection = [54 24 65 84
                 256 12 235 62
                 125 324 34 254];
windpower = [2 5 5 3
             6 8 12 7
             6 14 10 8];
rdirection = winddirection*pi/180;
[x,y]=pol2cart(rdirection,windpower);
compass(x,y);
desc = {'风向和风力',
       '北京气象台',
       '10月1日0:00到',
       '10月1日0:00'};
gtext(desc);

         

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第2张图片

13. 轮廓图

重点 meshgrid pol2cart polar←此处有链接
代码

h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
[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) ;
axis equal;
xlabel('实部','fontsize',16);
ylabel('虚部','fontsize',16);
h=polar([0 2*pi],[0 1]);
delete(h)
hold on;
contour(x,y,abs(f),20);

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第3张图片

14. 交互式图形

重点 ginput←此处有链接
代码

function Curve_sin_and_cos
axis([0 10 0 10]);
hold on; 
x=[];
y=[]; 
n=0;
disp('单击鼠标左键点取需要的点'); 
disp('单击鼠标右键点取最后一个点'); 
but=1;
while but==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-'); 
hold off
         

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第4张图片

15. 变换的傅立叶函数曲线

重点 moviein movie uicontrol uicontrol←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
axis equal;
m=moviein(20,gcf);
set(gca,'nextplot','replacechildren');
h=uicontrol('style','slider','position',...
[100 10 500 20],'min',1,'max',20);
for j=1:20
    plot(fft(eye(j+16))) ;
    set(h,'value',j)
    m(:,j)=getframe(gcf);
end
clf;
axes('position',[0 0 1 1]);
movie(m,30)
         

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第5张图片

16. 劳伦兹非线形方程的无序活动

重点
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
axis equal ;
m=moviein(20,gcf);
set(gca,'nextplot','replacechildren');
h=uicontrol('style','slider','position',...
[100 10 500 20],'min',1,'max',20);
for j=1:20
    plot(fft(eye(j+16)));
    set(h,'value',j)
    m(:,j)=getframe(gcf);
end
clf;
axes('position',[0 0 1 1]); 
movie(m,30)
         

17. 填充图

重点 fill←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
t=(1:2:15)*pi/8; 
x=sin(t);
y=cos(t);
fill(x,y,'r')
axis square off ;
text(0,0,'STOP','color',[1 1 1],'fontsize',50,'horizontalalignment','center');

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第6张图片

18. 条形图和阶梯形图

重点bar bar3 stairs←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
subplot(2,2,1);
x=-3:0.2:3;
y=exp(-x.*x);
bar(x,y);
title('2-D Bar Chart');

subplot(2,2,2);
x=-3:0.2:3;
y=exp(-x.*x);
bar3(x,y,'r');
title('3-D Bar Chart');

subplot(2,2,3) ;
x=-3:0.2:3;
y=exp(-x.*x); 
stairs(x,y);
title('Stair Chart')

subplot(2,2,4);
x=-3:0.2:3;
y=exp(-x.*x);
barh(x,y);
title('Horizontal Bar Chart')

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第7张图片

19. 三维曲线图

重点 plot3←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
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);
grid on;
xlabel('X 轴');
ylabel('Y 轴');
zlabel('Z 轴 '); 
title('Figure1:3-D Plot');

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);
grid on;
xlabel('X 轴');
ylabel('Y 轴');
zlabel('Z 轴 ');
title('Figure2:3-D Plot');

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第8张图片

20. 图形的隐藏属性

重点sphere hidden←此处有链接
代码

function Curve_sin_and_cos
h0 = figure('ToolBar','none','Position',[150 250 500 400],'name','Curve of sinandcos()');
subplot(1,2,1);
[x,y,z]=sphere(10); 
mesh(x,y,z)
axis off;
title('Figure1:Opaque');
hidden on;

subplot(1,2,2);
[x,y,z]=sphere(10); 
mesh(x,y,z)
axis off ;
title('Figure2:Transparent');
hidden off;

效果
【MATLAB100个实用小技巧】——图形应用(11-20)_第9张图片

你可能感兴趣的:(matlab,图像处理,开发语言)