文章目录
- 一、简介
- 二、MATLAB的工作界面
- 三、基本语句
- 1、if语句
- 2、switch语句
- 3、try语句
- 4、for语句和while语句
- 5、break语句和continus语句
- 四、数值运算
- 1、基本算术运算
- 2、format命令
- 3、关系运算
- 4、逻辑运算
- 5、特殊变量和常数
- 6、数学函数
- 五、二维平面绘图
- 1、关于颜色和数据标记点参数选择
- 2、plot函数
- 3、图形修饰与控制
- 4、图形窗口的分割
一、简介
MATLAB是Matrix Laboratory的缩写,含义为矩阵实验室,最初是为了方便矩阵的存取和运算而开发的接口程序。经过几十年的扩充和完善,MATLAB已经成为集科学计算、可视化与编程于一体的高性能的科学工程计算语言和编程开发环境,目前是世界上最流行、应用最广泛的工程计算和仿真软件之一,几乎成为各类科学研究和工程应用中的标准工具。
目前,MATLAB在数值计算、信号处理、图像处理、自动控制、算法设计和通信仿真等众多领域都获得了广泛的应用。
MATLAB还使用在数学建模方面,在2022年热播的《天才基本法》中,林朝夕打算使用数学建模的方法来预测车祸地点,在上个课时间研究数学建模,可以看到出他们使用的工具也是MATLAB。
在通信原理中,MATLAB也可以用作通信的仿真
二、MATLAB的工作界面
已MATLAB2022为例,当MATLAB启动时,会显示如下窗口
命令窗:MATLAB的主窗口,默认位于MATLAB2022下方,用于输入命令、运行命令,以及显示运行结果。
当前目录浏览窗:位于左上侧,用于显示当前工程目录文件夹所包含的文件。
工作区窗:为与左下侧,在命令窗中运行命令和脚本程序生成的变量均保存在工作空间中,需要时可以双击变量名或者在命令窗口输入变量名查看。
M文件编程窗:用MATLAB语言编程的文件编写的文件被称为M文件,按照调用方式不同可以分为命令文件和函数文件。
备注:函数文件和命令文件区别
函数文件可以传递参数,而命令文件不具备这种功能
命令文件中的变量是全局变量,文件执行完后还是有效变量,仍然保存在工程区中,而函数文件中的变量都是局部变量,只在本函数中才有效,当函数文件执行完毕后,这些变量将被消除。
三、基本语句
1、if语句
if 表达式
程序模块1
else
程序模块2
end
例:百分制成绩学生转换成四级成绩输出
clear
n=input('输入n=');
if n>90
r='A'
elseif n>=80
r='B'
elseif n>=70
r='C'
elseif n>=60
r='D'
end
2、switch语句
switch 表达式
case 数值1
程序模块1;
case 数值2
程序模块2;
...
otherwise
程序模块n
...
end
例:将百分制成绩分为5个等级输出,使用switch语句
clear
n=input('输入n= ');
switch fix(n/10)
case {10,9}
r='A'
case 8
r='B'
case 7
r='C'
case 6
r='D'
otherwise
r='E'
end
3、try语句
try
语句组1
catch
语句2
end
try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留lasterr变量,并转去执行语句组2
例程如下:
A=[1,2,3;4,5,6]; B=[1,2,3;4,5,6];
try
C=A*B;
catch
C=A.*B;
end
disp('C=');
disp(C);
lasterr %显示出错原因
>> untitled4
C=
1 4 9
16 25 36
ans =
'错误使用 *
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要单独对矩阵的每个元素进行运算,请使用 TIMES (.*)执行按元素相乘。'
备注:矩阵乘法和矩阵点乘区别(考虑到没有学过线性代数的同学,字丑了点…)
4、for语句和while语句
for循坏变量=起始值:步长:终止值
循环体
end
while 表达式
循坏体
end
例:使用for结构计算1+2+3+…+100
clear
sum=0;
for i=1:100
sum=sum+i;
end
disp(sum);
%运行结果:sum=5050
clear
sum=0; i=0;
while i<100
i=i+1;
sum=sum+i;
end
disp(sum);
%运行结果:sum=5050
5、break语句和continus语句
与循环结构相关的语句还有break语句和continue语句,它们一般与if语句搭配使用。
break语句用于终止循坏的执行,当在循坏体内执行到该语句时,程序将跳出循坏,继续执行循坏语句的下一语句。
continue语句控制跳过循坏体中的某些语句,当在循坏体内执行到该语句时,程序将跳过循坏体所有剩下的语句,继续下一次循坏。
四、数值运算
1、基本算术运算
运算 | 符号 |
---|---|
加 | + |
减 | - |
乘 | * |
左除 | \ |
右除 | / |
幂次方 | ^ |
例:在MATLAB运算下列式子
20
−
3
∗
4
÷
10
+
2.
5
2
20-3*4÷10+2.5^{2}
20−3∗4÷10+2.52
X=20-3*4/10+2.5^2
disp(X)
%运行结果:25.0500
2、format命令
3、关系运算
4、逻辑运算
5、特殊变量和常数
6、数学函数
五、二维平面绘图
1、关于颜色和数据标记点参数选择
2、plot函数
help plot
plot - 二维线图
此 MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 要绘制由线段连接的一组坐标,请
将 X 和 Y 指定为相同长度的向量。 要在同一组坐标轴上绘制多组坐标,请将 X 或 Y 中的至少
一个指定为矩阵。
plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,…,Xn,Yn)
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn)
plot(Y)
plot(Y,LineSpec)
plot(,Name,Value)
plot(ax,)
p = plot(___)
输入参数
X - x 坐标
标量 | 向量 | 矩阵
Y - y 坐标
标量 | 向量 | 矩阵
LineSpec - 线型、标记和颜色
字符向量 | 字符串
ax - 目标坐标区
Axes 对象 | PolarAxes 对象 | GeographicAxes 对象
略…
3、图形修饰与控制
title——给图形加标题
xlable——给x轴加标注
ylable——给y轴加标注
text——在图形指定的任意位置加标注
gtext——利用鼠标将标注加到图形任意位置
grid on——打开坐标网格线
grid off——关闭坐标网格线
legnd——添加图例
axis——控制坐标轴刻度
例:绘制两个三角函数
a=0:0.01:2*pi; %定义X的范围,第二个参数步长
y1=sin(a);
y2=2*sin(a);
plot(a,y1,'r-.',a,y2,'b--'); %绘制当前二维平面图
title('正弦三角函数图像'); %标题
xlabel('x'); %x轴
ylabel('y'); %y轴
grid on; %显示坐标网格线
4、图形窗口的分割
subplot函数调用格式:
subplot(m,n,p)
将函数将当前图形窗口分成m x n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区,在每一个绘图区允许以不同的坐标系单独绘制图形。
a=0:0.01:2*pi; %定义X的范围,第二个参数步长
y1=sin(a);
y2=sin(2*a);
subplot(2,1,1);
xlim([0,2*pi]);
plot(a,y1); %绘制当前二维平面图
title('正弦三角函数图像'); %标题
xlabel('x'); %x轴
ylabel('y'); %y轴
grid on; %显示坐标网 格线
subplot(2,1,2);
plot(a,y2); %绘制当前二维平面图
title('2xsin 正弦三角函数图像'); %标题
xlabel('x'); %x轴
ylabel('y'); %y轴
grid on; %显示坐标网格线