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 命令,就可以发现这种现象。它将生成完全相同的"随机"数字。

相关推荐
原来是猿22 分钟前
Linux线程同步与互斥(三):POSIX信号量与环形队列生产者消费者模型
linux·运维·服务器·开发语言
未来转换27 分钟前
基于A2A协议的生产应用实践指南(Java)
java·开发语言·算法·agent
Rust语言中文社区29 分钟前
【Rust日报】Clone:像进程一样 fork 虚拟机的 Rust KVM VMM
开发语言·后端·rust
求知也求真佳33 分钟前
S02|工具使用:让 Agent 真正会干活,添加工具
开发语言·agent
Dwzun36 分钟前
基于Java+SpringBoot+Vue的校园二手物品置换系统设计与实现【附源码+文档+部署视频+讲解】
java·开发语言·spring boot
机器学习之心37 分钟前
VMD-KAN-Transformer:时间序列预测的“三体运动”,我们用数学与深度学习找到了最优解
matlab·回归·vmd·kan-transformer
charlie11451419141 分钟前
嵌入式Linux驱动开发(3)——内核模块机制 - Linux 的插件系统
linux·运维·开发语言·驱动开发·嵌入式硬件·学习
做cv的小昊43 分钟前
【TJU】研究生应用统计学课程笔记(2)——第一章 数理统计的基本知识(1.3 统计中常用的分布族)
笔记·线性代数·数学建模·矩阵·概率论·学习方法·抽象代数
C、空白格1 小时前
Java集成Vosk实现离线语音识别
java·开发语言·语音识别
编码浪子1 小时前
基于 Rust + Axum 的企业级权限管理系统设计与实现
开发语言·后端·rust