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

相关推荐
我材不敲代码4 小时前
Python实现打包贪吃蛇游戏
开发语言·python·游戏
身如柳絮随风扬5 小时前
Java中的CAS机制详解
java·开发语言
-dzk-6 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
韩立学长6 小时前
【开题答辩实录分享】以《基于Python的大学超市仓储信息管理系统的设计与实现》为例进行选题答辩实录分享
开发语言·python
froginwe116 小时前
Scala 循环
开发语言
m0_706653237 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你917 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Bruk.Liu7 小时前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
qq_423233907 小时前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575347 小时前
分布式任务调度系统
开发语言·c++·算法