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

相关推荐
2601_966949657 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨9 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪10 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
2601_9628857212 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
Wang's Blog12 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里13 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑14 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl14 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_14 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php