MATLAB的二维画图(以plot为主)

来源:互联网 发布:windows vista下载 编辑:程序博客网 时间:2024/06/07 07:13

%这是我关于MATLAB 的入门初级画图方法的学习过程和笔记,希望能对大家有帮助。

%有错误或疑惑的地方欢迎指出

%引用部分已经指出,如果涉及侵权,和我联系确认后保证删除。


%2017年8月29日

%《MATLAB R2015a数值分析计算方法》 张德丰 清华大学出版社

x1=-pi:.1:pi;                   %以A:b:C,的形式表示取值范围是【A,B】,单位距离为b
y1=sin(x1);
subplot(231);plot(x1,y1);       %subplot定位图形的位置,2行3列,第一个。
title('plot绘制向量图');


x2=magic(8);                    %magic函数,幻方函数,生成N维矩阵,各个横列和相同
subplot(232);plot(x2);
title('plot绘制向量图');


x3=[3+2i,4+5i,5+7i,6+8i,7+9i,10+6i] ;
subplot(233);plot(x3);
title('plot绘制负数向量图');
grid on;                         %画出参考线


x4=0.001:0.3:2*pi;
y2=cos(x4+0.5)+2;
subplot(234);plot(x4,y2,'*r--'); %'*r--',表示图片中线条的颜色、样式、以及形状。三者无先后顺序!
title('给图形进行标识');


x5=-pi:pi/10:pi;
y3=tan(sin(x5))-sin(tan(x5));
subplot(235);plot(x5,y3,'--rd','LineWidth',1,'MarkerEdgeColor','y','MarkerFaceColor','b','MarkerSize',5);
                                 %'LineWidth'表示线的宽度,'MakerEdgeColor'表示标记点的边缘颜色,'MarkerFaceColor'标记点的填充颜色,'MarkerSize'标记点的大小)        
title('plot图像进行属性设置');


x6=-pi:pi/10:pi;
y4=[sin(x6);sin(x6+1);sin(x6+2)];
z=[cos(x6);cos(x6+1);cos(x6+2)];
subplot(236);plot(x6,y4,'m:*',x6,z,'g-.v');
title('多线绘制');
grid on; grid;


%曲线颜色:b 蓝,m 品红,g 绿,y 黄,r 红,k 黑, c 青, w 白。
%曲线类型:- 实线,: 虚线, -. 点画线, -- 双划线, none 无线。
%数据点形:. 实心黑点, + 十字符, * 星字符, < or > or^ or v 左、右、上、下三角形, 
%         d 菱形符, h 六角星符, o 空心圆圈,p 五角星符, s 方块符, x 叉子符。 




pause;  %暂停,任意键继续
        %继续进行前必须把之前的图片关了!
%--------------------------注释图片------------------%
clear all;
x=(0:0.1:2*pi)';                    %注意此处的x的取值范围加上了转置符号!!
y1=2*exp(-0.5*x)*[1,-1];            %转置是为了此处维度相同。  %另外此处可引申出以矩阵的形式储存多个函数的形式!
y2=2*exp(-0.5*x).*sin(2*pi*x);
x1=(0:12)/2;
y3=2*exp(-0.5*x1).*sin(2*pi*x1);
plot(x,y1,':',x,y2,'--',x1,y3)
title('曲线以及包络线');             %title 会自动把文字放在图片上方           
xlabel('变量X');                    %x轴的注释
ylabel('变量Y');                    %y轴的注释
text(3.2,0.5,'包络线');             %text 用于图片中的文字,需要输入坐标
text(0.5,0.5,'曲线Y');
text(1.4,0.5,'离散数据点');
legend('包络线','包络线','数据Y','离散数据点');         %图例,该函数自动按顺序把出现过的曲线标画出,我们只需要按照代码顺序把各个曲线的文字补上


pause;
%----------------------图形叠绘---------------------------------%
%首先要做出一张图片
hold on                            %保持上一张图片  
x=(0:0.01:5);
y=tan(x);
plot(x,y,'.:b');
hold off                           %结束


pause;
%---------------------双坐标绘制-------------------------------%
clear all
x=0:0.01:20;
y1=200*exp(-0.05*x).*sin(x);
y2=0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');
xlabel('x');
set(get(AX(1),'Ylabel'),'String','慢衰减')
set(get(AX(2),'Ylabel'),'String','快衰减')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')


pause;
%---------------ezplot 绘图函数-----------------------------------%
% 特点: 可以显示函数表达式,自适应步长,可表示反函数
clear all


subplot(211);
ezplot('cos(5*t)','sin(3*t)',[0,2*pi])    %ezplot直接使用函数表达式,并附带定义域范围
grid on;


subplot(212);
ezplot('5*x^2+25*y^2=6',[-1.5,1.5,-1,1])  %ezplot可用来画反函数的图像,直接写入表达式,并附带自变量和值域的范围
grid on;


pause;
%-----------------散点图-----------------------------------------%
clear all
x=linspace(0,3*pi,200);                   %在0至3*pi之间等距生成200个点,与x=[5:5:100]相同
y=cos(x)+rand(1,200);                     %rand(a,b),是生成0-1内的随机数组成的a*b矩阵   
                                          %用c*rand(a,b)-d 可以表示【0*c-d,1*c-d】内的随机数
c=linspace(1,10,length(x));
scatter(x,y,[15],c);
原创粉丝点击