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,默认点数为100。
plot(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
仅供个人学习)