Matlab基础语法学习(2)矩阵和数组

这篇具有很好参考价值的文章主要介绍了Matlab基础语法学习(2)矩阵和数组。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

矩阵和数组

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

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

一、阵列创建

若要在一行中创建具有四个元素的数组,请用逗号或空格分隔这些元素。

a = [1 2 3 4]

a = 1×4

     1     2     3     4

这种类型的数组是行向量

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

a = [1 3 5; 2 4 6; 7 8 10]

a = 3×3

     1     3     5

     2     4     6

     7     8    10

如下

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

且发现如果不输入不会自动产生0,会发生错误

特别的,创建矩阵的另一种方法是使用函数,例如 、 、 或 。例如,创建一个 5 x 1 的零列向量。

z = zeros(5,1)

z = 5×1

     0

     0

     0

     0

     0

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

可知,此函数的作用为创建任意的小的0矩阵

二、矩阵和数组操作

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

a + 10

ans = 3×3

    11    13    15

    12    14    16

    17    18    20

sin(a)

ans = 3×3

    0.8415    0.1411   -0.9589

    0.9093   -0.7568   -0.2794

0.6570    0.9894   -0.5440

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

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

a'

ans = 3×3

     1     2     7

     3     4     8

     5     6    10

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

您可以使用运算符执行标准矩阵乘法,该乘法计算行和列之间的内部乘积。例如,确认矩阵乘以其逆矩阵返回单位矩阵:*

矩阵整体的乘法

p = a*inv(a)//矩阵乘逆矩阵得到的单位矩阵

p = 3×3

    1.0000    0.0000   -0.0000

         0    1.0000   -0.0000

         0    0.0000    1.0000

请注意,这不是整数值的矩阵。MATLAB 将数字存储为浮点值,并且算术运算对实际值与其浮点表示之间的微小差异很敏感。您可以使用以下命令显示更多十进制数字:format

format long

p = a*inv(a)

p = 3×3

   0.999999999999996   0.000000000000007  -0.000000000000002

                   0   1.000000000000000  -0.000000000000003

                   0   0.000000000000014   0.999999999999995

使用

format short

format仅影响数字的显示,而不影响 MATLAB 计算或保存数字的方式。

如下

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

要执行按元素乘法而不是矩阵乘法,请使用运算符:.*

p = a.*a

p = 3×3

     1     9    25

     4    16    36

    49    64   100

用于乘法、除法和幂次幂的矩阵运算符都有一个相应的数组运算符,该运算符按元素操作。例如,将 的每个元素提高到第三次幂:a

a.^3

ans = 3×3

           1          27         125

           8          64         216

         343         512        1000

如下

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

四、串联(合并矩阵)

串联是连接数组以生成较大数组的过程。实际上,您是通过连接其各个元素来创建第一个数组的。方括号对是串联运算符。[]

A = [a,a]

A = 3×6

     1     3     5     1     3     5

     2     4     6     2     4     6

     7     8    10     7     8    10

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

A = [a; a]

A = 6×3

     1     3     5

     2     4     6

     7     8    10

     1     3     5

     2     4     6

     7     8    10

 

五、复数

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

sqrt(-1)

ans = 0.0000 + 1.0000i

要表示复数的虚部,请使用ij

c = [3+4i, 4+3j; -i, 10j]

c = 2×2 complex

   3.0000 + 4.0000i   4.0000 + 3.0000i

   0.0000 - 1.0000i   0.0000 +10.0000i

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

事实证明逗号和分号都能分割行

六、数组索引

试试这个例子复制命令复制代码

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

例如,考虑 4 x 4 矩阵:A

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

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

A(4,2)

ans = 14

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

A(8)//第四行为13 则第八行为14

ans = 14

使用单个下标来引用数组中的特定元素称为线性索引

注意:如果尝试引用赋值语句右侧数组外部的元素,MATLAB 会引发错误。

test = A(4,5)

Index in position 2 exceeds array bounds (must not exceed 4).

但是,在赋值语句的左侧,可以指定当前尺寸之外的元素。数组的大小会增加以容纳新来者。

A(4,5) = 17//此时矩阵已经创建,故不输入可以自动显示0

A = 4×5

     1     2     3     4     0

     5     6     7     8     0

     9    10    11    12     0

    13    14    15    16    17

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

A(1:3,2) //一到三行的所有第二列元素

ans = 3×1

     2

     6

    10

冒号本身(不带开始值或结束值)指定该维度中的所有元素。例如,选择 以下行的第三行中的所有列A

A(3,:)//仅仅第三行的所有列

ans = 1×5

     9    10    11    12     0

冒号运算符还允许您使用更通用的形式创建等间距的值向量start:step:end

B = 0:10:100

B = 1×11

     0    10    20    30    40    50    60    70    80    90   100

如果省略中间步骤,如中所示,MATLAB 将使用缺省步骤值 。start:end1

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

七、工作区变量

工作区包含您在 MATLAB 中创建的变量,或从数据文件或其他程序导入 MATLAB 的变量。例如,这些语句在工作区中创建变量。®AB

A = magic(4);

B = rand(3,5,2);

您可以使用 查看工作区的内容。whos

whos

  Name      Size             Bytes  Class     Attributes

  A         4x4                128  double              

  B         3x5x2              240  double              

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

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

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

工作区变量在退出 MATLAB 后不会保留。 保存您的数据,以便以后与命令一起使用,save

save myfile.mat

“保存”会将当前工作文件夹中的工作空间保留在扩展名为 MAT 文件(称为 MAT 文件)的压缩文件中。.mat

若要从工作区中清除所有变量,请使用该命令。Clear

删除单个变量只需要clear b

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵

使用 将数据从 MAT 文件恢复到工作区。load

load myfile.mat

如图,先清除工作区所有变量之后仍然可以从myfile文件中恢复

Matlab基础语法学习(2)矩阵和数组,Matlab基础,matlab,学习,矩阵文章来源地址https://www.toymoban.com/news/detail-803547.html

到了这里,关于Matlab基础语法学习(2)矩阵和数组的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab矩阵和数组的操作

    1、直接输入法 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。 A = [16 3 2 13; 5 10 11 8; … 9 6 7 12; 4 15 14 1] A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 2、利用M文件建立矩阵 对于比较大且比较复杂的矩阵

    2023年04月09日
    浏览(42)
  • Matlab矩阵数组入门指南

    Matlab是一种高级技术计算语言,广泛应用于工程、科学和经济分析领域,可以用于数据可视化、数值计算等。本文将着重介绍Matlab中的矩阵数组。矩阵数组是Matlab中最基本的数据类型,是一个数值矩阵或字符矩阵的集合。矩阵数组可以用一维和二维数组来表示,其中一维数组

    2024年02月06日
    浏览(39)
  • MATLAB 1:向量、矩阵与数组

    目录 一、基本概念 1. 常量、变量和标量   (1)常量   (2)变量         1) 变量的命名规则         2)变量的声明与删除   (3)标量 2. 向量、矩阵和数组   (1)向量   (2)矩阵   (3)数组 二、向量 1. 向量的创建   (1)直接输入法   (2)冒号表达式法   (3)函

    2024年02月04日
    浏览(42)
  • MATLAB :向量、矩阵、数组、数据类型

    目录 一、基本概念 1. 常量、变量和标量   (1)常量   (2)变量         1) 变量的命名规则         2)变量的声明与删除   (3)标量 2. 向量、矩阵和数组   (1)向量   (2)矩阵   (3)数组 二、向量 1. 向量的创建   (1)直接输入法   (2)冒号表达式法   (3)函

    2024年01月22日
    浏览(39)
  • 【MATLAB实验】MATLAB矩阵与数组及改变矩阵形状(rot90函数逆时针旋转、矩阵转置)

    目录 Matlab矩阵 矩阵除法 矩阵乘方 数组的乘和除 数组的乘方 数据的输出格式  常用函数的应用  矩阵的建立 冒号表达式 结构矩阵和单元矩阵 结构矩阵: 单元矩阵: 矩阵元素的引用方式 利用冒号表达式来获取子矩阵 利用空矩阵删除矩阵中的元素  改变矩阵的形状(使用

    2024年01月18日
    浏览(47)
  • Matlab | 去除数组或矩阵中的重复元素

    感谢@向着阳光生长的男孩的指正!有更好的方法,只要一句代码就搞定了。把三种方法整理了,一并放在下面了。 运行结果 ———————————————————————————————————————————————————————————

    2024年02月11日
    浏览(44)
  • Matlab中的zeros函数表示创建一个由零组成的矩阵或数组

    Matlab中的zeros函数表示创建一个由零组成的矩阵或数组。它是Matlab中的一个内置函数,用于快速生成元素全为零的矩阵。在本文中,我们将探讨zeros函数的用法以及如何使用它来创建零矩阵。 在Matlab中,zeros函数的语法如下: 其中,sz或sz1、sz2等参数表示所需矩阵的大小。可以

    2024年02月04日
    浏览(57)
  • matlab基础(一):matlab中矩阵的基本运算

            在学习矩阵有关运算的时候要相信自己已经知道了很多线代知识,不然会看不懂的QAQ~  例1:生成一个3阶全1矩阵。 例2:产生一个在区间[5,15]内均匀分布的5阶随机矩阵 例3:产生均值为0.5,方差为0.3的4阶矩阵 例4:生成从10到100间具有5个元素的线性等分向量。 例5:生成

    2024年02月04日
    浏览(42)
  • MATLAB“内部矩阵维度必须一致”(及要注意数组的乘法运算是要带点)

     举出这一题为例子   图中可见连接exp与sin函数之间的乘号*前面如果没有“.”则会报错 内部矩阵维度必须一致 明显MATLAB把输入的式子当作矩阵处理了,而其实只要作为数组处理即可(矩阵在定义中看作数组的特殊形式),而数组的乘法是需要点乘 继续做完这道题   这里比

    2024年02月16日
    浏览(54)
  • 【这小文章绝了!】一文看穿,MATLAB | 数组与矩阵超详细入门进阶必须看

    目录 介绍 一、数组的创建和操作 通过 : 创建一维数组 通过logspace函数创建一维数组 通过linspace函数创建一维数组 二、数组的运算 数组的关系运算 数组的逻辑运算 三、矩阵 矩阵的构造 矩阵的下标引用 矩阵大小 四、矩阵元素的运算 矩阵的差分 矩阵运算 矩阵分析 矩阵分解

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包