首页 > 编程笔记

MATLAB创建矩阵的3种方法

矩阵的生成主要有直接输入法、M 文件生成法和文本文件生成法等。

1、直接输入

在键盘上直接按行方式输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点:
【实例】创建元素均是 15 的 3×3 矩阵。MATLAB 程序如下:
>> clear                           % 清除工作区的变量
>> a=[15 15 15;15 15 15;15 15 15]  % 直接输入矩阵a
a =
    15    15    15
    15    15    15
    15    15    15

注意,在输入矩阵时,MATLAB 允许方括号中嵌套方括号,例如下面的语句是合法的:
>> [[1 2 3];[2 4 6];7 8 9]
ans =
     1     2     3
     2     4     6
     7     8     9
结果是一个 3 阶方阵。

【实例】创建复数矩阵。本实例演示创建包含复数的矩阵 A,其中:

>> clear                     % 清除工作区的变量
>> A=[[1,1+i,2];[2,3+2i,1]]  % 创建包含复数的矩阵A
A =
   1.0000 + 0.0000i   1.0000 + 1.0000i   2.0000 + 0.0000i
   2.0000 + 0.0000i   3.0000 + 2.0000i   1.0000 + 0.0000i

2、利用M文件创建

当矩阵的规模比较大时,直接输入法不仅显得笨拙,而且出差错也不易修改。为了解决这些问题,可以将要输入的矩阵按格式先写入一个文本文件中,并将此文件以“m”为扩展名保存,即保存为 M 文件。

M 文件是一种可以在 MATLAB 环境下运行的文本文件,分为命令式文件和函数式文件两种。在 MATLAB 命令行窗中输入M文件的文件名,文本文件中的大型矩阵即可被输入内存中。

【实例】使用M文件创建大型矩阵。

操作步骤如下:
1) 编制一个名为 gmatrix 的矩阵。
2) 在 M 文件编辑器中编制一个名为 sample.m 的 M 文件。
% sample.m
% 创建一个M文件,用以输入大规模矩阵
gmatrix=[378 89 90  83 382 92 29;
3829 32 9283 2938 378 839 29;
388 389 200 923 920 92 7478;
3829 892 66 89 90 56 8980;
7827 67 890 6557 45  123 35]
3) 运行 M 文件。在 MATLAB 命令行窗口中输入文件名之后,按 Enter 键得到结果。
>> clear          % 清除工作区的变量
>> sample         % 运行M文件sample.m
gmatrix =
1至5列
378          89          90          83   382
3829          32        9283        2938   378
388          389         200         923   920
3829         892          66          89    90
7827          67         890        6557    45
6至7列
92           29
839          29
92         7478
56         8980
123          35
在实际应用中,上例中的矩阵还不算“大型”矩阵,此处只是借例说明。

注意,M 文件中的变量名与文件名不能相同,否则会造成变量名和函数名的混乱。运行 M 文件时,需要先将 M 文件 sample.m 复制到当前目录文件夹下,否则运行时无法调用。
>>  sample
在当前文件夹或 MATLAB 路径中未找到 'sample',但它位于:
C:\Program Files\Polyspace\R2020a\bin\yuanwenjian
更改 MATLAB 当前文件夹或将其文件夹添加到 MATLAB 路径。

3、利用文本创建

MATLAB 中的矩阵还可以由文本文件创建,即在文件夹(通常为 work 文件夹)中建立 txt 文件,在命令行窗口中直接调用此文件即可。

【实例】创建生活用品矩阵。
日用商品在 3 家商店中有不同的价格,其中,毛巾价格分别为 3.5 元、4 元、5 元;脸盆价格分别为 10 元、15 元、20 元。

操作步骤如下:
1) 在文本文档中建立一个文本文件,输入以下内容(将单位量的售价用矩阵表示,行表示商店,列表示商品):
3.5   4  5
10   15  20
2) 将文本文件以 goods.txt 命名并保存到当前目录文件夹下,然后在 MATLAB 命令行窗口中输入以下命令:
>> clear             % 清除工作区的变量
>> load goods.txt    % 将文本文件加载到工作区
>> goods             % 输入文件名称创建矩阵
goods =
    3.5000    4.0000    5.0000
   10.0000   15.0000   20.0000
结果创建出商品矩阵 goods。

注意,运行 M 文件时,需要先将文本文件 goods.txt 复制到当前目录文件夹下,否则运行时无法调用。

推荐阅读