Matlab 矩阵基础

Matlab 基础

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

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

若要创建一个包含单行中四个元素的数组,请使用逗号(,)或空格分隔元素。

matlab 复制代码
a = [1 2 3 4]
result:
a = 1×4

     1     2     3     4

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

matlab 复制代码
a = [1 3 5; 2 4 6; 7 8 10]
a = 3×3

     1     3     5
     2     4     6
     7     8    10

另一种创建矩阵的方法是使用一个函数,比如ones, zeros或者 rand。例如,创建一个5乘1的零列向量。

matlab 复制代码
z = zeros(5,1)

z = 5×1

     0
     0
     0
     0
     0

用于乘法、除法和幂运算的矩阵运算符都有一个对应的阵列运算符,该运算符按元素方式进行运算。例如,将 a 的每个元素提高到第三次方:

python 复制代码
a.^3
ans = 3×3

           1          27         125
           8          64         216
         343         512        1000

点(.)用于访问矩阵的每个单独元素。

例: a ^ 3-> 取矩阵的每个元素,并将其提高到三次方。

访问数组中的元素

python 复制代码
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A = 4×4

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16

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

python 复制代码
A(4,2)= 14

不太常见但有时很有用的方法是使用一个下标按顺序遍历每一列:

python 复制代码
A(8) = 14

需要注意下标是从1开始的

若要引用数组的多个元素,请使用冒号运算符,该运算符允许指定表单 start: end 的范围。例如,列出 A 的前三行和第二列中的元素:

python 复制代码
A(1:3,2)
ans = 3×1

     2
     6
    10

只有冒号(没有开始值或结束值)指定该维度中的所有元素。例如,选择 A 的第三行中的所有列:

python 复制代码
A(3,:)
ans = 1×5

     9    10    11    12     0

清空命令

  • clc: 清除命令窗口
  • clear: 从工作区中删除元素,释放系统内存

Tips

当 Matlab 生成随机数时,它们并不是真正的随机数; 它们是基于伪随机数生成算法。Rng 命令控制此值的种子或起始点。"默认"值将其重置为 MATLAB 开始时的原始值; 这会随着时间的推移而发生变化。

如果执行 rand (10,1) ,然后调用 rng (' default') ,然后重复 rand 命令,就可以发现这种现象。它将生成完全相同的"随机"数字。

相关推荐
pedestrian_h1 小时前
操作系统-线程
android·java·开发语言
A-code1 小时前
C/C++ 中 void* 深度解析:从概念到实战
c语言·开发语言·c++·经验分享·嵌入式
国服第二切图仔2 小时前
Rust中泛型函数实现不同类型数据的比较
开发语言·后端·rust
知识搬运工人3 小时前
传统卷积神经网络中的核心运算是卷积或者矩阵乘,请问transformer模型架构主要的计算
矩阵·cnn·transformer
技术砖家--Felix3 小时前
Spring Boot入门篇:快速搭建你的第一个Spring Boot应用
java·开发语言·音视频
国服第二切图仔3 小时前
Rust开发之使用Trait对象实现多态
开发语言·算法·rust
Yolo566Q3 小时前
Python驱动的无人机生态三维建模与碳储/生物量/LULC估算全流程实战技术
开发语言·python·无人机
我不是程序猿儿3 小时前
【C#】XtraMessageBox(DevExpress)与MessageBox(WinForms 标准库)的区别
开发语言·c#
含目的基因的质粒4 小时前
Python异常、模块、包
服务器·开发语言·python
千码君20165 小时前
Go语言:解决 “package xxx is not in std”的思路
开发语言·后端·golang