Matlab-plot_part2

1 曲线图绘制

(1)单坐标plot

X=0:0.2:10;
Y=rand(51,1);%返回一个 51×1 的随机数矩阵
figure
plot(X,Y,"bo-")
xlabel('X-lable')
ylabel('Y-lable')
legend({'rand'},'Location','northeast')
 
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,'r--o',x,y2,'b*')  
legend({'sin(x)','cos(x)'},'Location','northwest','NumColumns',1)

(2) 双坐标plotyy

        把具有不同量纲,不同数量级的两个函数绘制在同一个坐标中

figure(8)
x1 = 0:0.01:2*pi;
x2 = x1;
y1 = sin(x1);
y2 = cos(x1);
plotyy(x1,y1,x2,y2)

(3) 符号函数:fplot&ezplot

显函数:

ezplot(’ f(x)‘);
ezplot( ’ f(x)‘, [xmin xmax]);
ezplot( ’ f(x)‘, [xmin xmax], figure);

其中,fun 代表一个字符串,用来表示要画的基本表达式。选择性参数[xmin,xmax]指定自变量的取值范围。如果它不存在的话,函数自变量的范围从-2π到 2π。选择性参数图来用指定图象数。

隐函数:

ezplot('f(x,y)',[xmin,xmax,ymin,ymax])

 参数方程:

ezplot('x(t)','y(t)',[tmin,tmax])
ez=ezplot('sin(x)/x',[-4*pi,4*pi],figure(1))
title('Plot of sinx/x'); 
grid on;  
ez.Color='r'
ez.Marker='o'
ez.MarkerEdgeColor='b'  

figure(2)
fp=fplot(@(x)sin(x),[-4*pi,4*pi],'b','LineWidth',3)
title('Plot of sinx'); 
grid on; 
xlabel('x lable')
ylabel('y_lable')
fp.LineStyle='-.'
fp.Color='r'
fp.Marker='x'
fp.MarkerEdgeColor='b' 

 2 柱状图hist

柱状图:显示一系列数据数值的分布
hist (y) --创建并画出一个 10 等分的柱状图
hist(y, nbins) --创建的是以 nbins 为宽度的柱状图
his(y, x); --允许用户用数组 x 指定柱状图中长条的中心
[n, xout] =hist(y, ...)

figure(3)
y = randn(10000, 1); 
hist(y, 15); %画出一个 15 等分的柱状图
title('randn数据数值的分布')
xlabel('等份')
ylabel('分布')

 3 三维作图

函数:plot3(x, y, z);

%数据准备
t = 0:0.1:10; 
x = exp(-0.2*t) .* cos(2*t); 
y = exp(-0.2*t) .* sin(2*t); 
%二维
figure(4)
plot(x,y)
title('\bfTwo-Dimensional Line Plot'); 
xlabel('\bfx'); 
ylabel('\bfy'); 
grid on; 
%三维
figure(5)
plot3(x,y,t); 
title('\bfThree-Dimensional Line Plot'); 
xlabel('\bfx'); 
ylabel('\bfy'); 
zlabel('\bfTime'); 
axis square; 
grid on; 

4 三维表面和登高线

(1) surf(x, y, z) 这个函数创建一个三维表面图象。

(2)contour(x, y, z) 这个函数创建一个三维等高线图象。

其中:数组 x 包括要画得每一点的 x 值,数组y 包括要画得每一点的 y 值,数组 z 包括要画得每一点的 z 值

[x,y]=meshgrid(-4:0.2:4,-4:0.2:4);
z = exp(-0.5*(x.^2+y.^2)); 
figure(7)
%三维表面图象
surf(x,y,z);  
%三维等高线图象
subplot(1,2,1)
contour(x,y,z,'LineStyle','-','ShowText','on'); 
subplot(1,2,2)
contourf(x,y,z,5,'LineStyle','--','ShowText','on','linewidth',2); 

5 绘制网络图

(1)点阵图,plot指令

a=-0.98;b=0.98;c=-2;d=2;n=10;%自变量赋值
x=linspace(a,b,n);%生成n个等间距向量x
y=linspace(c,d,n);%生成n个等间距向量y
[X,Y]=meshgrid(x,y);%利用meshgrid指令生成格点矩阵
plot(X,Y,'+')%画图
xlabel('X-linspace')
ylabel('Y-linspace')

        

(2)网络图,mesh指令

命令:

[x y] = meshgrid(xstart:xinc:xend, ystart:yinc:yend);

xstart:xinc:xend 指定 x 值,ystart:yinc:yend 指定 y 值

绘制:

a=-1;b=1;c=-15;d=15;n=20;eps1=0.01;
x=linspace(a,b,n);y=linspace(c,d,n);%生成n个等间距向量
[X,Y]=meshgrid(x,y);%利用meshgrid指令生成格点矩阵
for i=1:n %计算函数值z,并做定义域裁剪
    for j=1:n
        if ((1-X(i,j))<eps1) | (X(i,j)-Y(i,j)<eps1)
            z(i,j)=NaN;%做定义域裁剪,定义域以外的函数值为NaN
        else
            z(i,j)=1000*square(1-X(i,j))^-1.*log(X(i,j)-Y(i,j));
        end
    end
end
zz=-20*ones(1,n);
plot3(x,y,zz),grid off,hold on %画定义域的边界线
mesh(X,Y,z)%绘图,可用meshz,surf或meshc替换
view([-56.5,38]);%指定视点
xlabel('x'),ylabel('y'),zlabel('z'), box on%把三维图形封闭在箱体里

绘制

figure(6)
[x,y]=meshgrid(-4:0.2:4,-4:0.2:4);
z = exp(-0.5*(x.^2+y.^2)); 
mesh(x,y,z); 
xlabel('\bfx'); 
ylabel('\bfy'); 
zlabel('\bfz'); 

 (3) 曲面图,surf指令

X=-10:1:10;
Y=-10:1:10;
[X,Y]=meshgrid(X,Y);
Z=-X.^2-Y.^2+10
surf(X,Y,Z)
xlabel('x')
ylabel('y')
zlabel('z')
axis tight %使得图形框图靠近数据
colormap(jet)%彩色映射矩阵map
shading interp%通过在每个线条或面中对颜色图索引或真彩色值进行插值来改变该线条或面中的颜色
set(gca,'Ydir','reverse')%设置图形对象属性,坐标轴刻度翻转
set(gca,'xgrid','on')   %X轴的grid开启
set(gca,'ygrid','on')   %y轴的grid开启
set(gca, 'fontsize',10)  % 坐标轴标注文字大小
set(gcf,'color','w')%图的背景设为白色

6 特殊图形绘制

quiver3,三维箭头标记函数

slice,切片函数

%定义自变量范围
t=-0:0.1:1.5;
%距离函数
x=t.^2;
y=(2/3)*t.^3;
z=(6/4)*t.^4-(1/3)*t.^3;%由速度得到曲线
%计算数值梯度,速度
Vdx=gradient(x); 
Vdy=gradient(y);
Vdz=gradient(z); 

figure
plot(t,x),hold on;
plot(t,Vdx,'r--o'),grid on; 
xlabel('t');
ylabel('Vx, Vdx(红色虚线)')
axis tight

figure
plot(t,y),hold on;
plot(t,Vdy,'r--o'); 
xlabel('t');
ylabel('Vy, Vdy(红色虚线)')
axis tight

figure
plot(t,z),hold on;
plot(t,Vdz,'r--o'); 
xlabel('t');
ylabel('Vz, Vdz(红色虚线)')
axis tight

figure
plot3(x,y,z,'r.-'),hold on%画飞行轨迹
quiver3(x,y,z,Vdx,Vdy,Vdz),grid on%画速度矢量图, 三维箭头图显示x,y,z处的向量
grid on %栅格化
xlabel('x')
ylabel('y')
zlabel('z')
axis tight

 

 

附1 图像的颜色,标记类型,线型

线型颜色符号符号
- 实线b 蓝色. 点^ 上三角
: 虚线,g 绿色o 圆圈< 左三角
-. 点划线r 红色× 叉号> 右三角
-- 虚线c 青色+ 加号v 下三角
m 品红* 星号h 六角星
y 黄色s 方块
k 黑色d 菱形
w 白色p 五角星

附2 表面,网格,等高线图象函数

参考资料《MATLAB/Simulink系统仿真》

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值