问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matlab快速入门:半小时掌握基础知识

创作时间:
作者:
@小白创作中心

Matlab快速入门:半小时掌握基础知识

引用
CSDN
1.
https://blog.csdn.net/shsjssnn/article/details/140355328

本文是一篇MATLAB基础知识入门教程,适合零基础的学习者快速掌握MATLAB的基本操作和常用知识点。文章涵盖了从基本命令到矩阵运算、函数调用、绘图、循环和条件语句等多个方面的内容,通过详细的代码示例帮助读者理解并掌握这些知识点。

直接可执行命令

在 MATLAB 中工作时,可以发出用于创建变量的命令和调用函数。

将任何文本输入括在引号中:

disp("hello world")

输出:hello world

若要调用不需要任何输入且不返回任何输出的函数,请仅键入函数名称:

clc

该函数清除命令窗口。

最基础知识

在 MATLAB 中工作时,可以发出用于创建变量的命令和调用函数。

将任何文本输入括在引号中:

disp("hello world")

输出:hello world

若要调用不需要任何输入且不返回任何输出的函数,请仅键入函数名称:

clc

该函数清除命令窗口。

创建变量

在MATLAB中,创建变量非常简单。你只需要给变量分配一个值,然后MATLAB会自动创建该变量。例如:

x = 5; % 创建一个名为x的变量,赋值为5
y = [1, 2, 3]; % 创建一个名为y的变量,赋值为向量[1, 2, 3]

调用函数

在MATLAB中,你可以调用内置函数或自定义函数。调用函数时,需要输入函数的名称以及所需的参数。例如:

sum(1:10); % 调用内置函数sum,计算1到10的和
myFunction(x, y); % 调用名为myFunction的自定义函数,传入参数x和y

定义函数

在MATLAB中,你可以使用 function 关键字定义自定义函数。函数定义通常放在单独的文件中,文件名与函数名相同,扩展名为 .m。例如,以下代码定义了一个计算平方的函数:

function result = square(x)
result = x^2;
end

要调用此函数,你可以在其他脚本或命令窗口中输入:

result = square(4); % 调用square函数,传入参数4,计算4的平方

注释

在MATLAB中,你可以使用 % 符号添加单行注释,或者使用 %{%} 添加多行注释。例如:

% 这是一个单行注释
%{
这是一个
多行注释
%}

工作区

MATLAB的工作区是一个存储变量的地方,你可以通过工作区查看和编辑变量的值。在MATLAB界面中,点击“工作区”选项卡可以打开工作区窗口。

清空环境变量及命令

  • clear all:清除Workspace中的所有变量(右侧工作区)
  • clc:清除Command Window中的所有命令(命令行窗口)

矩阵与数组

MATLAB是“矩阵实验室”的缩写。虽然其他编程语言大多一次处理一个数字,但 MATLAB 主要用于整个矩阵和数组。

所有 MATLAB 变量都是多维数组,无论数据类型如何。矩阵是通常用于线性代数的二维数组。

基础知识

  1. 所有变量都是多维数组:在MATLAB中,所有变量都存储为多维数组,无论它们的数据类型如何。这使得MATLAB在处理矩阵和数组时非常高效,因为不需要像其他语言那样使用循环或迭代来访问数组元素。
  2. 矩阵操作:MATLAB提供了丰富的矩阵操作函数,可以方便地进行矩阵运算。例如,你可以使用 +-*\/ 等运算符来进行矩阵的加法、减法、乘法、除法和求逆等操作。此外,MATLAB还提供了许多专门的矩阵运算函数,如 inv()det()eig() 等。
  3. 数组操作:除了矩阵操作,MATLAB还支持广泛的数组操作。你可以使用 cat 函数来连接数组,使用 reshape 函数来改变数组的形状,使用 permute 函数来重新排列数组的维度等。
  4. 线性代数:MATLAB特别适合用于线性代数运算,因为它提供了丰富的线性代数函数库。例如,你可以使用 linspacelogspace 函数生成均匀分布和对数分布的向量,使用 diag 函数创建对角矩阵,使用 luqrsvd 函数进行矩阵分解等。
  5. 可视化:MATLAB还提供了强大的数据可视化功能,可以方便地绘制矩阵和数组的数据图形。例如,使用 plot 函数可以绘制二维图形,使用 contoursurf 函数可以绘制等高线图和三维曲面图等。
  6. 向量化运算:MATLAB鼓励使用向量化运算来提高代码的性能和可读性。向量化运算意味着将循环和迭代操作转换为数组操作,从而利用MATLAB的内部优化来加速计算。
  7. 矩阵和数组的创建:在MATLAB中,你可以使用多种方式创建矩阵和数组。例如,使用 [1, 2, 3; 4, 5, 6] 可以创建一个2×3的矩阵,使用 ones(3, 4) 可以创建一个3×4的全1矩阵,使用 rand(2, 2) 可以创建一个2×2的随机数矩阵等。
  8. 矩阵和数组的索引:MATLAB支持多种索引方式来访问矩阵和数组的元素。例如,使用 A(1, 2) 可以访问矩阵A的第1行第2列的元素,使用 A(:, 2) 可以访问矩阵A的第2列的所有元素,使用 A(1:2, 1:2) 可以访问矩阵A的左上角2×2子矩阵等。
  9. 矩阵和数组的切片:MATLAB还支持对矩阵和数组进行切片操作,可以方便地提取矩阵和数组的子集。例如,使用 B = A(1:2, :) 可以将矩阵A的前两行赋值给矩阵B,使用 C = A(:, 1:2) 可以将矩阵A的第一列和第二列赋值给矩阵C等。
  10. 矩阵和数组的广播:MATLAB支持数组广播操作,可以在不同的数组之间执行元素级的运算。例如,使用 D = A .* B 可以执行矩阵A和B的逐元素乘法,使用 E = A ./ B 可以执行矩阵A和B的逐元素除法等。

总的来说,MATLAB是一种非常强大且灵活的矩阵和数组处理语言,它提供了丰富的功能和工具来简化矩阵和数组的运算和分析。无论是对于初学者还是专业人士,掌握MATLAB的矩阵和数组操作都是提高计算效率和分析能力的关键。

数组的创建

要在一行中创建包含四个元素的数组,请用逗号(,)或空格分隔元素。这种类型的数组是行向量。

若要创建具有多行的矩阵,请用分号分隔行。

矩阵和数组运算

MATLAB 允许您使用单个算术运算符或函数处理矩阵中的所有值。

要转置矩阵,请使用单引号('):

串联

串联是连接数组以制作更大数组的过程。事实上,您通过连接其各个元素来制作第一个数组。方括号对是串联运算符。

使用逗号将彼此相邻的数组连接称为水平连接。每个数组必须具有相同的行数。同样,当数组具有相同数量的列时,可以使用分号垂直连接。

复数

复数有实部和虚部,其中虚部是 -1 的平方根。

数组索引

MATLAB 中的每个变量都是一个可以容纳许多数字的数组。如果要访问数组的选定元素,请使用索引。

有两种方法可以引用数组中的特定元素。最常见的方法是指定行和列下标,例如

不太常见但有时有用的是使用单个下标,该下标按顺序遍历每列:

要引用数组的多个元素,请使用冒号运算符,它允许您指定形式的范围。例如,列出前二行和第二列中的元素:

仅冒号(不带起始值或结束值)指定该维度中的所有元素。例如,选择第一行中的所有列:

工作区变量

工作区包含的变量 您可以在 MATLAB 中创建或从数据文件或其他文件导入 MATLAB 程序。

这些变量也会显示在桌面上的“工作区”窗格中。

退出 MATLAB 后,工作区变量不会保留。 保存您的数据以供以后使用命令,

save myfile.mat

保存将工作区保留在当前工作文件夹中 在扩展名为 MAT 文件:

.mat

若要清除工作区中的所有变量,请使用以下命令:

clear

文本和字符

字符串数组中的文本

与数值数组类似,字符串数组可以有多个元素。使用该函数查找其中每个字符串的长度 一 数组。

strlength

字符数组中的数据

有时字符表示与文本不对应的数据,例如 DNA序列。您可以将此类数据存储在字符数组中,该数组具有数据 类型。字符数组使用单个 引号。

char

用方括号连接字符数组,就像连接数字一样 阵 列。

调用函数

要调用函数,例如 ,请将其输入参数括在括号中:

max

二维和三维图

线图

x = linspace(0,2*pi);
y = sin(x);
plot(x,y)

可以标记轴并添加标题。

xlabel("x")
ylabel("sin(x)")
title("Plot of the Sine Function")

添加图例

要向现有图窗添加绘图,请使用 。在使用或关闭窗口之前,所有绘图都将显示在当前图窗窗口中。

hold on

编辑图形的样式

x_1表示x下标1

x^2表示x的平方

三维绘图

三维图通常显示由两个变量中的函数定义的曲面,z=f(x,y).例如,计算z=xe−x2−y2给定行向量和列向量,并且在 [-2,2] 范围内各有 20 个点。

x = linspace(-2,2,20);
y = x';
z = x .* exp(-x.^2 - y.^2);

然后,创建曲面图。

surf(x,y,z)

循环和条件语句

条件类型

if语句

在MATLAB中,if语句用于执行条件判断。基本的语法是:

if condition
    statements
else
    statements
end

如果condition为真,则执行if后面的statements,否则执行else后面的statements。

switch语句

switch语句用于在多种可能的情况中选择一种执行。基本的语法是:

switch expression
    case value1
        statements
    case value2
        statements
    otherwise
        aaa
end

根据expression的值,选择匹配的case执行相应的statements。

循环类型

for循环

在MATLAB中,for循环用于执行固定次数或范围内的迭代。基本的语法是:

for variable = range
    statements
end

这里的variable是一个迭代变量,range是一个向量,表示迭代的范围或次数。

while循环

while循环用于执行不确定次数的迭代,直到指定的条件不再满足为止。基本的语法是:

while condition
    statements
end

只要condition为真,就继续执行循环体内的statements。

break和continue语句

在循环中,可以使用break语句来终止整个循环,或使用continue语句来跳过当前迭代并开始下一次迭代。

nested loops(嵌套循环)

在MATLAB中,你可以在一个循环内部嵌套另一个循环,以处理更复杂的问题。

帮助和文档

  • 使用命令在单独的窗口中打开函数文档。

doc

doc mean
  • 在 命令窗口,在键入 函数输入参数。
mean(
  • 在命令中查看函数文档的缩写文本版本 窗口使用命令。

help

help mean
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号