MATLAB画图

1、简易二维图像

plot函数

x1=-5:0.1:5;
y1=x1.^2;
plot(x1,y1)  %对函数图像输出(画线)
hold on  %将两个函数图像画在同一个版面
x2=-5:0.1:5;
y2=x2.^3;
plot(x2,y2)
grid on  %显示背景网格
title('x^2 vs x^3')  %加小标题
xlabel('x-axis')  %对x轴加一个小标签
ylabel('y-axis')  %对y轴加一个小标签
x=-5:0.1:5;
y1=x.^1;
y2=x.^2;
y3=x.^3;

subplot (2,2,1);  %将版面分为两行两列,并在第一个格子画y1图像
plot(x,y1);
title('y1=x.^1');

subplot (2,2,2);  %将版面分为两行两列,并在第二个格子画y2图像
plot(x,y2);
title('y2=x.^2');

subplot (2,2,[3,4]);  %将版面分为两行两列,并在第三、四个格子画y3图像
plot(x,y3);
title('y3=x.^3');

clear
x=0:0.5:10;
plot(x,3*sin(x),'r^')
hold on
plot (x,x.*log(x),'b+')
hold on
plot(x,x.^(1/3),'mo')
legend('3*sin(x)','x.*log(x)','x.^(1/3)')  %分别将字符串1、字符串2、字符串3标注到图中,每个字符串对应的图标为画图时的图标。

含多个输入参数的plot函数

x=linspace(0,2*pi,100);  %linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100plot(x,sin(x),x,2*sin(x),x,3*sin(x))  %plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。

fplot函数
fplot(‘fun’,lims)
表示绘制字符串fun指定的函数在lims=[xmin,max]的图形。

fplot(@(x)sin(x),[0,10],'-r')  %格式:fplot(f,取值范围,曲线形状)
fplot(@(t)t.*sin(t),@(t)t.*cos(t),[0,10*pi],'-r')  %%格式:fplot(函数,函数,取值范围,曲线形状)

figure函数:用于创建数据窗口

% 横坐标轴 
x = linspace(0, 2*pi, 50); 
% 生成数据点,纵坐标轴 
y = 2 * sin(pi * x); 
% 绘图 
figure  %用于创建数据窗口。
% 设置线的宽带为3 
plot(x, y, 'k--^', 'LineWidth', 3, ...     
    'MarkerEdgeColor', 'k', ...  %设置标记点的边缘颜色为黑色     
    'MarkerFaceColor', 'r', ...  %设置标记点的填充颜色为红色     
    'MarkerSize', 10)    %设置标记点的尺寸为10 

双纵坐标函数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); 
% 绘图 
figure 
plotyy(x,y1,x,y2); 
plot(x, y1, 'k-', x, y2, 'k-', 'LineWidth', 3) 

符号函数(显函数、隐函数和参数方程)
ezplot

%subplot(2,2,1);
ezplot('x^2+y^2-9);
axis equal; %将横纵轴的定标系数设为相同值
subplot(2,2,2);
ezplot('x^3+y^3-5*x*y+1/5);
subplot(2,2,3);
ezplot('cos(tan(pi*x))',[ 0,1]);
subplot(2,2,4);
ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi]); 

函数作用
title(‘图形名称’)加图形标题
xlable(‘x轴说明’)加x轴说明
ylable(‘y轴说明’)加y轴说明
text(x,y,‘图形说明’)在指定位置添加图形说明
legend(‘图例1’,‘图例2’,……’)加图例
view(az,el)视点处理,其中az为方位角,el为仰角

图像保存:文件——另存为——
编辑——复制图形

2、简易三维图像

三维曲线

	t = [0:0.1:10*pi];  %pi为兀
	x = sin(t)+t.*cos(t);
	y = cos(t)-t.*sin(t);
	z = t;
	plot3(x,y,z)

三维曲面

x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);  %meshgrid是MATLAB中用于生成网格采样点的函数;输出X的每一行的数值都是复制的x的值;输出Y的每一列的数值都是复制的y的值。
Z=X.^2+Y.^2;
surf(X,Y,Z)  %对函数图像输出(画面)/绘制三维表面图

meshgrid(x,y)的作用是产生一个向量x为行、向量y为列的矩阵)

xi=-10:0.5:10; 
yi=-10:0.5:10; 
[x,y]=meshgrid(xi,yi); 
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);   %sqrt是计算平方根的函数,例:sqrt(4)=2
surf(x,y,z) 
t=0:pi/10:pi; 
x=sin(t); 
y=cos(t);  
[X,Y]=meshgrid(x,y); 
z =X + Y;    
figure 
mesh (z,'FaceColor','W','EdgeColor','K')  %绘制三维网格图
grid 
title('三维网格图'); 

3、其他图像

1、极坐标图

polar(theta,rho,'参数')  %其中,theta为极角,rho为极径,参数内容与plot相同。

2、饼图

  • pie(x):绘制数据 x 的饼图,x 可以是向量或者矩阵,x 中的每一个元素将代表饼图的一个扇区,同时饼图中显示各元素总和的比例。
  • pie(x, explode):绘制数据 x 的饼图,其中参数 explode 可以用来设置饼图中某个重要的扇区进行抽取式重点显示,这里需要注意的是,explode 向量的长度与 x 中的元素个数相等,并与 x 中的元素意义对应,explode 元素为非零值,对应的元素扇区将从饼图中分离显示,通常非零值都设置为 1。
  • pie(x, labels):绘制数据 x 的饼图,其中参数 labels 可以用来设置饼图中各个扇区的显示标注,注意参数 labels 应该为字符串或者数字利用向量 X中的数据描绘饼图。

:有一位研究生,在一年中平均每月的费用为生活费 190 元,资料费 33 元, 电话费 45 元,购买衣服 42 元,其他费用 45 元。请以饼图表示出他每月的消费比例,并在 饼图中分离出使用最多的费用和使用最少的费用的切片。

% 数据准备 
x=[190 33 45 42 45]; 
% 分离显示设置 
explode=[1 1 0 0 0]; 
% 绘图 
figure() 
colormap hsv 
pie(x,explode,{'生活费','资料费','电话费','购买衣服','其他费用'}) 
title('饼图') 

3、条形图

%随机函数产生5*3的数组,对产生的数据取整 
Y = round(rand(5,3)*10);  
% 绘图 
subplot(2,2,1) 
bar(Y,'group') 
title 'Group' 
%堆型二维垂直条形图 
subplot(2,2,2) 
bar(Y,'stack') 
title('Stack') 
%堆型二维水平条形图 
subplot(2,2,3) 
barh(Y,'stack') 
title('Stack') 
%设定条形的宽度为1.5 
subplot(2,2,4) 
bar(Y,1.5) 
title('Width = 1.5') 

:有一位研究生,在一年中平均每月的费用为生活费 190 元,资料费 33 元, 电话费 45 元,购买衣服 42 元,其他费用 45 元。请以柱状图表示出他每月的消费比例。 MATLAB 代码如下:

% 数据准备 
y=[190 33 45 42 45]; 
x=1:5 ;
% 绘图 
figure 
bar(x,y) 
title('柱状图'); 
set(gca,'xTicklabel',{'生活费','资料费','电话费','购买衣服','其他费用'}) 

4、散点图
scatter(x,y,选项,‘filled’)
(如果数据点标记是封闭图形,可以用选项’filled’指定填充数据点标记。该选项省略时,数据点是空心的。)

	t = 0:pi/50:2*pi
	x = 16*sin(t).^3
	y = 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)
	scatter(x,y,'rd','filled')

5、空间等值线图
contour3(x,y,z,n)
其中n表示等值线数。

4、坐标控制

axis([xmin xmax ymin ymax zmin zmax])
如果只给出前四个参数,则按照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。如果给出了全部参数,则绘制出三维图形。
axis函数的功能丰富,其常用的用法有:
axis equal:纵横坐标轴采用等长刻度
axis square:产生正方形坐标系(默认为矩形)
axis auto:使用默认设置
axis on/off:显示/取消坐标轴
axis tight:按紧凑方式显示坐标轴范围,即坐标轴范围为绘图数据的范围
grid on/off:命令控制画/不画网格线

(注:本人小白一个,文章部分文字摘自于
https://blog.csdn.net/sunyueqinghit/article/details/81905509
https://blog.csdn.net/weixin_45634606/article/details/104422695
仅供个人学习)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值