Matlab学习笔记_2

绘图基础

plot(x,y)%如果只给一个值,那默认x为1,2,3…
hold on%保留之前的图像
hold off%不保留之前的图像
plot(x,y,‘str’)%通过str来改变图形属性
str:

Data markersLine typesColor
‘.’ ‘*’ ‘X’ ‘o’ ‘+’ ‘s’ ‘d’ ‘p’ ‘v’ ‘^’ ‘<’ ‘>’ ‘H’‘-’ ‘–’ ‘-.’ ‘:’‘k’ ‘b’ ‘c’(cyan) ‘g’ ‘m’(magenta) ‘r’ ‘w’ ''y

若一个图中有多条曲线,使用legend(‘name1’,‘name2’,…)为每条曲线添加标注
title()%添加绘图标题
xlabel()%添加x轴标签
ylabel()%添加y轴标签
zlabel()%添加z轴标签
如果在标题或标签中要用特殊格式需要用{},例如pi,e^{x}

在绘图中添加文本,需要使用LaTex格式:
eg.

x=linspace(0,3);y=x.^2.*sin(x);plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str='$$\int_{0}^ {2} x^2 \ sinx dx $$';
text(0.25,2.5,str,'Interpreter','latex');%前面两个参数表示文本的开始位置
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);%显示箭头,X,Y分别表示箭头起始和中止的位置

效果
绘图属性调整:
figure properties
修改属性点击绘图中相关对象会自动显示其属性

h=plot(x,y)%创建该绘图的指针,以后可以通过直接调用指针来修改绘图
Utility function:

functionpurpose
gcareturn the handle of the “current” axes
gcfreturn the handle of the “current” figure
allchildfind all children of specified objects
ancestorfind ancestor of graphics object
deletedelete an object
findallfind all graphics objects

get(h)%返回绘图h的属性
set(gca,‘XLim’,[0,2pi])%设置绘图h的gca返回属性的XLim为[0,2pi]
也可以直接xlim([1,2*pi])
set(gca,‘FontSize’,25)%设置字体为25
set(h,‘LineStyle’,’-.’,‘LineWidth’,7.0,‘Color’,‘g’)%简单易懂

x=rand(20,1);set(gca,'FontSize',18);
plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10)
%'-md'表示显示标记
xlim([1,20])

maker
当需要画两个绘图对象时加figure:
figure,plot(x,y1);figure,plot(x,y2);
figure(‘Position’,[left,bottom,width,height]);%指定figure的位置与大小
在一个figure中画多图:
subplot(m,n,1)%m行n列的第一个图
eg.

t=0:0.1:2*pi;x=3*cos(t);y=sin(t);
subplot(2,2,1);plot(x,y);axis normal
subplot(2,2,2);plot(x,y);axis square
subplot(2,2,3);plot(x,y);axis equal
subplot(2,2,4);plot(x,y);axis equal tight

subplot() example

operationpurpose
grid on/offmake the grid visible or invisible
box on/offmake the box visible or invisible
axis on/offmake the axis visible or invisible
axis normalautomatically adjust the aspect ratio of the axes and the relative scaling of the data units
axis squaremake the current axes region square
axis equalset the aspect ratio so that the data units are the same in every direction
axis equal tightset the axis limits to the range of the data
axis imagelet the plot box fits tightly around the data
axis ijplace the origin of the coordinate system in the upper left corner
axis xyplace the origin in the lower left corner

保存绘图:

saveas(gcf,'<filename>','<formattype>');

formattype option:

optionbitmap image format
‘jpeg’JPEG 24-bit
‘png’PNG 24-bit
‘tiff’TIFF 24-bit(compressed)
‘bmpmono’BMP Monochrome
‘bmp’BMP 24-bit
‘bmp256’BMP 8-bit(256 color,use a fixed colormap)
optionvector graphics format
‘pdf’full page portable
‘eps’encapsulated postscript(EPS) level 3 black and white
‘epsc’encapsulated postscript(EPS) level 3 color
‘meta’enhanced Metafile(Windows only)
‘svg’SVG(scalable vector graphics)
‘ps’full-page postscript(ps) level 3 black and white
‘psc’full-page postscript(ps) level 3 color

绘图进阶

x=logspace(-1,1,100);%产生100个10-1至101的数
semilogx(x,y);%用10x做x轴坐标绘图,类似有semilogy
loglog(x,y);%x轴,y轴均用10x
plotyy(x,y1,x,y2);%在一个绘图中绘制左右两个y轴
hist(y,n)%统计直方图,n表示有几个条,统计y的整体情况
bar(x);%统计每个数值的情况,横轴为从0~n
bar3(y);%3D展示
eg.

x=[1 2 5 4 8];y=[x;1:5];
subplot(1,3,1);bar(x);title('one');
subplot(1,3,2);bar(y);title('two');
subplot(1,3,3);bar3(y);title('three');

统计柱状图barh(y);%横向展示

Pie chart
eg.

a=[10 5 20 30];
subplot(1,3,1);pie(a);
subplot(1,3,2);pie(a,[0,0,0,1]);%1表分割
subplot(1,3,3);pie3(a,[0,0,0,1]);

Pie chart
Polar chart
eg.

x=1:100;theta=x/10;r=log10(x);
subplot(1,4,1);polar(theta,r);
theta=linspace(0,2*pi);r=cos(4*theta);
subplot(1,4,2);polar(theta,r);
theta=linspace(0,2*pi,6);r=ones(1,length(theta));
subplot(1,4,3);polar(theta,r);
theta=linspace(0,2*pi);r=1-sin(theta);
subplot(1,4,4);polar(theta,r);

polar chart
Stairs and Stem Charts%类似于离散
eg.

x=linspace(0,4*pi,40);y=sin(x);
subplot(1,2,1);stairs(y);
subplot(1,2,2);stem(y);

stairs and stem charts
Boxplot%箱形图
ErroeBar%误差图
eg.

x=0:pi/10:pi;y=sin(x);
e=std(y)*ones(size(x));%std(y)表示y的标准差
errorbar(x,y,e);

errorbar

fill();%填充图形颜色
eg.

t=(1:2:15)'*pi/8;x=sin(t);y=cos(t);
fill(x,y,'r');axis square off;
text(0,0,'STOP','Color','w','FontSize',80,...
'FontWeight','bold','HorizontalAlignment','center');

fill()

颜色配置
[R G B]%0~255
colorbar;%若是颜色表示数据的图,显示颜色数值条
colormap(hot/cool/gray/[name]);%使整个色图偏暖色系/冷色系/灰色
colormap(prism);%prism是颜色图数组
也可以用户自己定义颜色数组,eg.
a=ones(256,3);
colormap(a);

3D
plot3(x,y,z);
xlabel(‘str’);ylabel(‘str’);zlabel(‘str’);

如果需要绘制函数z=f(x,y);需要先生成x,y的矩阵网格
再使用mesh()或是surf()绘制,mesh()和surf()的区别见效果图

x=-3.5:0.2:3.5;y=-3.5:0.2:3.5;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
subplot(1,2,1);mesh(X,Y,Z);
subplot(1,2,2);surf(X,Y,Z);

mesh() and surf()
contour();%3D转2D,类似于等高线图和电位图eg.

x=-3.5:0.2:3.5;y=-3.5:0.2:3.5;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
subplot(1,3,1);contour(Z,[-.45:.05:.45]);axis square;%指定等差间隔
subplot(1,3,2);[C,h]=contour(Z);
clabel(C,h);axis square;%标记等高线数值
subplot(1,3,3);contourf(Z);axis square;%contourf=contour fill,填充色彩

contour()

meshc()和surfc()%再mesh和surf的基础上在图下绘制contour

view(x,y);%观察三维图的角度,x表示偏离y轴负半轴的角度,y表示偏离z轴正半轴的角度的余角
light();%给3D图加光
patch();%空间绘制多边立体图

sao话一下

愿天下有情人终成眷属

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习MATLAB时,编写学习笔记是一种很好的方法,可以帮助您记录重要的概念、语法和技巧,以及解决问题的步骤。以下是一些关于编写MATLAB学习笔记的建议: 1. 组织结构:使用清晰的标题和分节来组织您的学习笔记。将不同的主题分成单独的部分,并使用子标题来进一步细分内容。 2. 内容概要:在每个部分或子标题下,写下该主题的概要。这样可以帮助您回顾和理解该主题的关键点。 3. 示例代码和输出:对于每个主题,包括一些示例代码和相应的输出结果。这有助于您理解和演示具体的MATLAB语法和功能。 4. 问题与解答:如果您在学习过程遇到了一些困惑或问题,将其记录下来,并在笔记提出并解答这些问题。这样可以帮助您深入思考并加深对该主题的理解。 5. 笔记补充:除了基本概念和语法外,您还可以添加一些额外的笔记,如最佳实践、编程技巧、常见错误等。这些额外的笔记可以提供更多的实用信息和提示。 6. 参考资料:在您的学习笔记,包括引用的参考资料,如教程、文档、书籍或网站链接。这样,您可以随时回顾并深入研究相关的主题。 7. 总结和复习:在学习笔记的结尾,添加一个总结部分,回顾和总结您学到的重点和关键概念。此外,定期复习您的学习笔记也是加深理解和记忆的好方法。 以上是关于编写MATLAB学习笔记的一些建议。希望这对您有所帮助,并祝您在MATLAB学习过程取得成功!如果有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值