MATLAB 绘图实例
来源:互联网 发布:otdr曲线图制作软件 编辑:程序博客网 时间:2024/05/29 15:36
代码+图片;
环境 : matlab r2012b
1 在0≤x≤2区间内,绘制曲线
y=2e-0.5xcos(4πx)
代码:
x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)
作图:
2
向量乘积要加. *号
代码:
t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);
作图:
3
演示同维矩阵作图
代码:
>> x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)
作图:
4 plotyy
演示“不同坐标系下作图的重叠”
横坐标是相同标度的 纵坐标不是 这样图形上的交点并非真实的公共点
代码:
x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);
作图:
5 hold on 的使用 : 同时显示两张图片
代码:
x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off
作图:
如果没有hold on 第一个图就被覆盖了
6 input 输入的使用
代码:
x1=input('Please enter x-coordinate of point 1:')y1=input('Please enter y-coordinate of point 1:')x2=input('Please enter x-coordinate of point 2:')y2=input('Please enter y-coordinate of point 2:')x=linspace(x1,x2,1001);y=linspace(y1,y2,1001);plot(x,y,x1,y1,'o',x2,y2,'o')
输入1 3 2 1
作图如下 :
7 matlab 绘图样式
调用格式 plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
当选项省略时,线型一律用实线,颜色将根据曲线的先后顺序依次。
例子:
当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。
在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点
代码:
x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)<1e-2); %查找y1与y2相等点(近似相等)的下标x1=x(k); %取y1与y2相等点的x坐标y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点的y坐标plot(x,y1,x,y2,'k:',x1,y3,'bp');
作图:
8 图形标注
title(图形名称)
xlabel(x轴说明)
ylabel(y轴说明)
text(x,y,图形说明)
legend(图例1,图例2,…)
x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('x from 0 to 2{\pi}'); %加图形标题xlabel('Variable X'); %加X轴说明ylabel('Variable Y'); %加Y轴说明text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明text(2.5,1.1,'曲线y2=cos(4{\pi}x)'); legend('y1','y2') ; %加图例
例子:
9 坐标控制
axis函数的调用格式为:
axis([xmin xmax ymin ymax zmin zmax])
axis函数功能丰富,常用的格式还有:
axis equal:纵、横坐标轴采用等长刻度。
axis square:产生正方形坐标系(缺省为矩形)。
axis auto:使用缺省设置。
axis off:取消坐标轴。
axis on:显示坐标轴。
给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换
给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换
代码:
(复平面上)
t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y);grid on;box on;
作图:
10:极坐标
代码:
t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,r,'-*');
作图:
11 二维统计分析图
bar(x,y,选项) %条形图
stairs(x,y,选项) % 阶梯图
stem(x,y,选项) %杆图
fill(x1,y1,选项1,x2,y2,选项2,…) %填充图
代码:
x=0:pi/10:2*pi;y=2*sin(x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0,7,-2,2]);subplot(2,2,2);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,7,-2,2]);subplot(2,2,3);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,7,-2,2]);subplot(2,2,4);fill(x,y,'y');title('fill(x,y,''y'')');axis([0,7,-2,2]);
12 例子
要求
(1) 某企业全年各季度的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统计分析。
(2) 绘制复数的相量图:7+2.9i、2-3i和-1.5-6i
代码:
subplot(1,2,1);pie([2347,1827,2043,3025]);title('饼图');legend('一季度','二季度','三季度','四季度');subplot(1,2,2);compass([7+2.9i,2-3i,-1.5-6i]);title('相量图');作图:
13
三维作图
t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title('Line in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');grid on;
作图:
14
三维曲面
代码:
[x,y]=meshgrid(0:0.25:4*pi); z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]);
作图:
知识点:
在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为:
x=a:d1:b; y=c:d2:d;
[X,Y]=meshgrid(x,y);
语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
15
代码:
[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);subplot(2,2,1);mesh(x,y,z);title('mesh(x,y,z)')subplot(2,2,2);meshc(x,y,z);title('meshc(x,y,z)')subplot(2,2,3);meshz(x,y,z)title('meshz(x,y,z)')subplot(2,2,4);surf(x,y,z);title('surf(x,y,z)')
作图:
16
sphere函数的调用格式为:
[x,y,z]=sphere(n)
cylinder函数的调用格式为:
[x,y,z]= cylinder(R,n)
peaks 函数用于三维曲面的演示
代码:
t=0:pi/20:2*pi;[x,y,z]= cylinder(2+sin(t),30);subplot(2,2,1);surf(x,y,z);subplot(2,2,2);[x,y,z]=sphere;surf(x,y,z);subplot(2,1,2);[x,y,z]=peaks(30); surf(x,y,z);
作图:
17
三维形式的条形图 杆图 饼图
例子:
绘制三维图形:
(1) 绘制魔方阵的三维条形图。
(2) 以三维杆图形式绘制曲线y=2sin(x)。
(3) 已知x=[2347,1827,2043,3025],绘制饼图。
(4) 用随机的顶点坐标值画出五个黄色三角形。
代码:
subplot(2,2,1);bar3(magic(4))subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3([2347,1827,2043,3025]);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5), 'y' )
作图:
18
瀑布图和等高线图
代码:
subplot(1,2,1);[X,Y,Z]=peaks(30);waterfall(X,Y,Z)xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');subplot(1,2,2);contour3(X,Y,Z,12,'k'); %其中12代表高度的等级数xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');
作图:
19
调整视角角度 接上面代码
peaks;view([0,-30]);作图:
20
图形着色
shading faceted命令将每个网格片用其高度对应的颜色进行着色,但网格线仍保留着,其颜色是黑色。这是系统的缺省着色方式。
shading flat命令将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。
shading interp命令在网格片内采用颜色插值处理,得出的表面图显得最光滑。
代码:
[x,y,z]=sphere(20);colormap(copper);subplot(1,3,1);surf(x,y,z);axis equalsubplot(1,3,2);surf(x,y,z);shading flat;axis equalsubplot(1,3,3);surf(x,y,z);shading interp;axis equal
作图:
21
光照处理:
代码:
[x,y,z]=sphere(20);subplot(1,2,1);surf(x,y,z);axis equal;light('Posi',[0,1,1]);shading interp;hold on;plot3(0,1,1,'p');text(0,1,1,' light');subplot(1,2,2);surf(x,y,z);axis equal;light('Posi',[1,0,1]);shading interp;hold on;plot3(1,0,1,'p');text(1,0,1,' light');
作图:
- MATLAB 绘图实例
- matlab 绘图入门与实例
- ROC曲线详解及matlab绘图实例
- ROC曲线详解及matlab绘图实例
- ROC曲线详解及matlab绘图实例
- MATLAB绘图
- MATLAB绘图
- MATLAB绘图
- matlab绘图
- MATLAB绘图
- MATLAB绘图
- MATLAB绘图
- matlab绘图
- matlab绘图
- MATLAB绘图
- Matlab绘图
- Matlab绘图
- Matlab 绘图
- UML—交互图
- 1202 排序(冒泡排序,快速排序)
- Houdini如何使用浮点帧预览动画?
- 使用Extjs周期性调用dwr回调函数
- hive优化
- MATLAB 绘图实例
- 九度OJ 1082 代理服务器 -- 贪心算法
- Struts2XML验证
- hdu 3341 Lost's revenge(AC自动机+DP)
- vector的简单用法
- Houdini如何定义全局变量
- 欧几里得算法
- USACO Ordered Fractions
- JDK安装与环境变量配置