编程开发

关注公众号 jb51net

关闭
软件教程 > 编程开发 >

一小时就能入门! MATLAB小白基础教程入门指南2024版

脚本之家

MATLAB主要包括编程和仿真两大部分,它将数值分析、矩阵计算、科学数据可视化、非线性动态系统的建模、仿真和App界面设计等诸多强大功能集成在一个环境中。这些方面的内容都是需要有一定的基础语法能力才去完成,本文将MATLAB中最常用、也是最基础的语法汇总在一起,适用于刚接触MATLAB的小伙伴。

主要内容包括:界面熟悉,变量矩阵赋值、索引,循环、判断语句介绍,二维绘图操作。

一、MATLAB界面

编写一个简单的脚本文件,即可熟悉MATLAB的界面,以创建一个全零矩阵为例。

需要了解:1新建脚本文件,2编写脚本文件,3执行脚本文件,4保存,5-7查看结果。

至此,往后可以编写再复杂一点的脚本文件了。

二、变量

MATLAB(Matrix Laboratory)意为矩阵实验室,其所有的代数运算都基于矩阵运算,每个变量都视为是矩阵的形式,即使是常数,也作为1*1的矩阵。

变量名如‘A_01’,可由字母、数字、下划线任意几种组成,但要避免与系统预定义的一些变量名相同,当然,一般随意取的不会,相同了再改就是了。每一个变量矩阵可以赋予其n*m个值,类似Excel中的一个二维表格,格子中可以是数值,也可以是字符,这里只考虑纯数值的格式,也是MATLAB中默认的数据格式(double类型)。

矩阵基本操作涉及 矩阵赋值、矩阵索引、矩阵运算等操作。

2.1 矩阵赋值

矩阵赋值包括单个赋值和直接创建特色矩阵(只需要了解零矩阵、全1矩阵、空矩阵、线性向量足以)。

%直接赋值,即依次输入,同行中使用逗号或者空格隔开,用分号开始下一行输入
A=[1 2 3 ; 4 5 6]  
%创建特色矩阵,如零矩阵、全1矩阵、空矩阵、线性向量
B1=zeros(3,4); %零矩阵 zeros(行,列)
B2=ones(2,2);  %全1矩阵 ones(行,列)
B3=[];  %空矩阵
B4=2:1:10; %从2到10,间距为1,的行向量赋值
%代码后不加分号可在命令行窗口中输出结果,反之

2.2矩阵索引

如果想对某行、列、个的值进行修改或者提取,就需要使用索引。

A=[1:1:3 ; zeros(1,3) ; ones(1,3)]
%提取A中(2,3)位置的值
B1=A(2,3)
%提取A中第一行的值,列的类似
B2=A(1,:) %:代表所有,即第一行的所有列
%修改A(2,3)的值
A(2,3)=9

运行结果

2.3 矩阵的运算

运算最常用便是 加 减 点乘 点除 点幂,这里需要注意的是,我们通常希望是两个矩阵中的对应元素作乘法和除法,而不是矩阵作乘法(*)和除法(/),那么就需要用到点乘(.*)和点除(./)。

A=[1,2,3;4,5,6];
B=[1,1,1;2,2,2]
%普通加减乘除
C1=A+B
C2=A-B
C3=A*2
C4=A/2
%点乘 点除 点幂
D1=B.*A
D2=B./A
D3=B.^A

运行结果

三、循环语句、判断结构

介绍的循环语句(for)、数据输出(disp和fprintf)、判断语句(if,if else)

循环语句可以帮助我们批量性的处理、判断一些数据。

以判断10以内3的倍数为例

% for-end循环语句,i从1递增1到10,也可写为1:10,默认增量1
for i=1:1:10
    a=mod(i,3); % mod(m,n)为取余函数,m/n余几
    if a == 0   %if 判断语句,大于> ,大于等于>= ,小于类似
        fprintf('%d是3的倍数\n',i);
        %fprintf用于在命令行窗口输出特定文本
        %fprintf('文本结构形式',变量),%d表示输出整数,%f输出浮点数
        %/n表示换行,注意是正斜杠(便于记忆,正斜杠/是向前倾,反斜杠\是向后倒
    else %if-else-end结构
        fprintf('%d不是3的倍数,余数为%f\n',i,a);
    end
end

输出结果

四、简易二维绘图

主要涉及函数(plot)

plot函数二维绘图示例,绘制

曲线

%MATLAB中,exp(n)表示自然常数的n次幂,圆周率用pi表示
x=0:0.1:2*pi;  %定义域,想要线更平滑,则间距再调小
y1=2*exp(-0.5*x).*sin(2*pi*x); %注意,两个矩阵间元素乘积是点乘
y2=sin(x);
plot(x,y1,'--b',x,y2,'og-.')
%用法plot(第一条线的x,对应的y,对应线格式,第n条格式类似)
%线格式分为三类,可不写,默认为实线,颜色自动
% 1颜色(蓝色 b,绿色y)
% 2对应点格式(o表示圈圈)
% 3线型(虚线'--' ,点划线'-.' ,实线'-')

运行结果

至此,MATLAB中,最基础最基础的东西已经掌握,可以绘制简单二维图,通过循环、判读、矩阵索引处理简单的二维数据。

下一步则需要根据自己需求对每一块的内容进行针对性的学习。

第二块内容中,尚需进阶的几个方面:

第三块内容中,尚需进阶的几个方面:

第四块内容中,尚需进阶的几个方面:

写在后面的话

初学MATLAB的东西较多,建议针对自己的需求分块强化,而那些尚不需要的内容可以放弃。

每一种函数的表达方式,只学对自己最用的,不需要全都记住,最重要的是思维方式,怎样去一步步去解决自己需要解决的问题,同时呢,这一步步的过程对应的代码,GPT老师也能帮你。后续会慢慢更新每一块的进阶内容。