用高中生的思维写一篇MATLAB入门

一、简介

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} 2034÷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;                    %显示坐标网格线

在这里插入图片描述

六、常用清除命令

1、clc - 清空命令行窗口,此 MATLAB 函数清除命令行窗口中的所有文本,让屏幕变得干净。
2、 clear - 从工作区中删除项目、释放系统内存。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小明n.n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值