MATLAB 常用命令和使用语法以及plot画图讲解(一)

1 常用命令

1.clc - 清除命令行窗口的所有数据。
2.clear - 清除工作区的所有的数据。
3.close - 关闭最后生成的一个图
4.close all - 关闭所有画的图。

2 语法用法

MATLAB的编辑语言虽然跟C语言有点像,但是还是有差别的

1.逗号和分号

变量之间可以用逗号,或者分号隔开,区别在与,使用逗号隔开,运行之后,该变量的值会在命令行窗口显示,分号隔开则不显示。

2.for 循环
for i = 0:10
    
    i
end

for a = 10:-0.5:0
    
    a
end

for i=0:0.123:10

    i
end

for循环没有小括号和中括号,包含内容从for开始,到与之配对的end结束,0:10 包括 0和10以及中间的数,每次加一 ,前者必须小于后者。 当中间加了值时,此时中间的数就是步进值,可以是正,可以是负,也可以是小数,前后者值大小看中间的步进值来选择。当中间的小数无法刚好步进到两边的值时,则会步进到下次一步进会超出的值。就是值必须等于或者在两者之间,不可超出范围,例如第三个for循环到9.9630就结束了,因为下一次步进后的值已经超出范围。

3 if 语句
for i=0:10

 if i == 6
   continue; 
 elseif i == 8
     a = i
 else
    i     
 end
      
end

if 没有小括号和中括号,内容从if 开始,到与之配对的 end 结束,elseif 是连一起,不能写成 else if。

4 while 循环
i = 0;
a = 0
% while 1 %无限循环
while i<10

    i = i+1;  
    i

end

while 循环 也没有小括号和中括号,内容从while 开始,到与之配对的 end 结束。用法和C一样。

5 数组
close all
clc
clear

buff1 = [1 2 3 4 5 6 7 8 9 10 11 12]
buff2 = [1 2 3;4 5 6;7 8 9;10 11 12]

a = buff1(2)  %第二个元素
b = buff2(2,2) %第二行第二列

数组的赋值决定数组的元素个数,buff1为一维数组 ,buff2 为 二维数组,也就是矩阵。行和行之间用分号隔开。这里需要注意两个点:

(1)数组的元素是从 1开始数的,而不是从 0开始
(2)二维数组每一行的元素个数必须相等

运行结果如下

3 画图

1 plot 函数

plot 函数是在平面内画线或者坐标点。

close all
clc
clear

% y = Asin(wt + p)
% w = 2 pi f
A=1;                %幅度
f=10;               %频率 Hz
w=2*pi*f;           %角频率 rad/s
p=0;                %相位 rad
%采样
T=0.5;                %观测时间 s
fs = 20*f;            %采样频率 Hz
d = 1/fs;             %采样间隔 s
 
 
t1 = T/4:d:T;       %离散时间t1

s1 = A*sin(w*t1+p);    %正弦信号

y = -0.5+1*rand(50,1);
x = 0.1+0.45*rand(50,1);

x = sort(x);
y = sort(y);


figure(1)    %图片1     
plot(t1,s1,'-xg')
title('正弦函数')
xlabel('离散时间')
ylabel('正弦信号')
hold on     %保留原图
plot(x,y,'-or')

figure(2)         
plot(t1,s1,'-sg',x,y,'-dr')
title('正弦函数和随机数')
xlabel('离散时间')
ylabel('正弦信号')
grid on    %打开网格

figure(3) 
subplot(2,2,1);   %一共 2*2= 4张图片在一张图上,第一张图(第一行第一列)
plot(t1,s1,'-xg')
title('正弦函数')
xlabel('离散时间')
ylabel('正弦信号')
subplot(2,2,2);   %一共 2*2= 4张图片在一张图上,第二张图(第一行第二列)
plot(x,y,'-or')
subplot(2,2,3);   %一共 2*2= 4张图片在一张图上,第三张图(第二行第一列)
plot(t1,s1,'--cp')
subplot(2,2,4);   %一共 2*2= 4张图片在一张图上,第四张图(第二行第二列)
plot(x,y,':yh')
title('随机数')
xlabel('x随机')
ylabel('y随机')
grid on       %打开网格

执行结果如下

注意:加表头和X,Y说明时要跟在 plot 后面,在前面或者 隔了下一张图的设置内容都是不能显示的,
线条可以改变颜色,线状以及坐标点的形状,表格如下:

plot还能设置坐标点的尺寸大小等,用来增加美观,一般用不到,有需要的朋友可以评论区留言

2 plotyy 函数

如果两个曲线需要放一起进行对比,则可以使用 plotyy 函数,这样把两个曲线放一起,有利于图形对照分析,经过优化,比上面直接放一起的要直观很多。

  1. plotyy(X1,Y1,X2,Y2)
    以左、右不同纵轴绘制X1-Y1、X2-Y2两条曲线。
  2. plotyy(X1,Y1,X2,Y2,FUN1)
    以左、右不同纵轴把X1-Y1、X2-Y2两条曲线绘制成FUN1指定形式的两条曲线。
  3. plotyy(X1,Y1,X2,Y2,FUN1,FUN2)
    以左、右不同纵轴把X1-Y1、X2-Y2两条曲线绘制成FUN1、FUN2指定的不同形式的两条曲线。其中fun的绘制方式包括plot,semilogx,semilogy,loglog等。
    fun不选时默认使用plot
close all
clc
clear

% y = Asin(wt + p)
% w = 2 pi f
A=1;                %幅度
f=10;               %频率 Hz
w=2*pi*f;           %角频率 rad/s
p=0;                %相位 rad
%采样
T=0.5;                %观测时间 s
fs = 20*f;            %采样频率 Hz
d = 1/fs;             %采样间隔 s
 
 
t1 = T/4:d:T;       %离散时间t1

s1 = A*sin(w*t1+p);    %正弦信号

y = -0.5+1*rand(50,1);
x = 0.1+0.45*rand(50,1);

x = sort(x);
y = sort(y);

figure(4)
plotyy(t1,s1,x,y)
title('正弦函数和随机数')
xlabel('离散时间')
ylabel('正弦信号')
grid on

figure(5)
plotyy(t1,s1,x,y,'plot')  %按plot形式绘制
title('正弦函数和随机数')
xlabel('离散时间')
ylabel('正弦信号')
grid on

figure(6)
plotyy(t1,s1,x,y,'semilogx') %按semilogx形式绘制
title('正弦函数和随机数')
xlabel('离散时间')
ylabel('正弦信号')
grid on

figure(7)
plotyy(t1,s1,x,y,'semilogy')  %按semilogy形式绘制
title('正弦函数和随机数')
xlabel('离散时间')
ylabel('正弦信号')
grid on

figure(8)
plotyy(t1,s1,x,y,'plot','loglog') %1个按plot形式绘制,第2个按loglog形式绘制
title('正弦函数和随机数')
xlabel('离散时间')
ylabel('正弦信号')
grid on

运行结果如下(为了提高读者阅读质量,只放最后一个)

使用时可根据信号的特点来选择绘制方式

3 plot3 函数

plot3 是绘制三维空间图,特点是,X,Y,Z长度必须相同,如果要在同一组坐标轴上绘制多组坐标,请将 X、Y 或 Z 中的至少一个指定为矩阵,其他指定为向量。用法基本和 plot 一致。

close all
clc
clear

t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);

% 生成一个向量 0 ~ 3 * pi , 步长 0.1
x = 0: 0.1 : 12 * pi;

y1 = zeros(size(x));
y2 = ones(size(x));
y3 = y2 ./ 2;

z = sin(x);

% 绘制三维线图
figure(9)
plot3(st,ct,t,'-pg')
title('三维曲线图')
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
grid on

figure(10)
plot3(x, y1, z, '-.sr', x, y2, z, '--dg', x, y3, z, '-hb');
title('三维正弦函数')
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
grid on

运行结果如下:

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlabplot函数是用于绘制二维曲线图形的基本函数。它可以根据给定的坐标点或函数来绘制曲线图形。plot函数的基本语法plot(x,y,s),其中x和y是两个向量,表示曲线上的坐标点,s是一个可选的参数,用于设置曲线的样式。 除了基本的plot函数,Matlab还提供了其他绘制曲线图形的函数,比如fplot、ezplot和fimplicit等。这些函数可以根据已知的函数或自变量的取值范围来绘制曲线。 在使用plot函数时,可以根据需要传入不同的参数。例如,可以使用plot(X,Y)来绘制多个曲线,其中X和Y是两个矩阵,每一列分别表示不同曲线的坐标点。还可以使用LineSpec参数来设置曲线的颜色、线型和标记等样式。 在绘制曲线图时,可以使用标题和坐标轴来增加图形的可读性。可以使用title函数来添加标题,xlabel函数和ylabel函数来设置x轴和y轴的标签。例如,可以使用plot(x,y,'Color',[0,0.7,0.9])来绘制蓝色的曲线,并使用title('2-D Line Plot')、xlabel('x')和ylabel('cos(5x)')来添加标题和坐标轴标签。 总结起来,Matlabplot函数是用于绘制二维曲线图形的基本函数,可以根据给定的坐标点或函数来绘制曲线。可以使用不同的参数和函数来设置曲线的样式、添加标题和坐标轴等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MATLAB绘图函数plot详解](https://blog.csdn.net/sunnyoldman001/article/details/125697702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Matlab绘图合集:plot 绘图](https://blog.csdn.net/YINTENAXIONGNAIER/article/details/127570891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值