在MATLAB中,矩阵是进行数据处理和运算的基本元素。矩阵的创建方法主要有:直接输入法、利用M文件创建矩阵、利用其他文本编辑器创建矩阵、利用MATLAB内置函数创建矩阵。下面将分别介绍这些方法。
从键盘中直接输入矩阵的元素是创建矩阵最简单的方法,即将矩阵的元素用方括号括起来,按矩阵行的顺序分别输入各元素,并且同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
用此方法创建矩阵时需要注意以下规则:
1)矩阵元素必须在“[ ]”内。
2)矩阵的同行元素之间用空格(或“,”)隔开。
3)矩阵的行与行之间用“;”(或回车键)隔开。
【例2-1】用两种直接输入的方法来创建矩阵。
>> A=[13 321 34; 42 51 69; 78 86 91] A = 13 321 34 42 51 69 78 86 91
也可以写成以下格式:
>> B=[32 51 64; 23 56 78; 99 87 13] B = 32 51 64 23 56 78 99 87 13
在MATLAB中,可以利用系统自带的文本编辑器专门创建一个M文件。
启动有关编辑程序或MATLAB文本编辑器,并输入待创建的矩阵,例如:
A=[13 21 56; 42 5 80; 7 76 91]
把输入的内容以纯文本方式存盘,设文件名为mymatrix.m:
>> mymatrix A = 13 21 56 42 5 80 7 76 91
运行该M文件,就会自动创建一个名为A的矩阵。
在MATLAB中,也可以利用其他文本编辑器来创建矩阵。例如,编辑以下文本文件:
16.0 3.0 2.0 9.0 5.0 10.0 11.0 8 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0
将该文本载入dat或txt等格式的文件中,如果需要该文件就可以在命令行窗口中输入“load mymatrix.dat”或“load mymatrix.txt”。
【例2-2】读取矩阵文件trees.tif。
clear all; load trees image(X)
运行结果如图2-1所示。
图2-1 矩阵文件图像
在MATLAB中,系统内置的可以用于创建矩阵的特殊函数见表2-1。利用这些函数,可以很方便地得到想要的特殊矩阵。
表2-1 系统内置的创建矩阵的特殊函数
【例2-3】利用几种系统内置的特殊函数创建矩阵。
>> Z = zeros(5,4) % 产生元素全为0的5×4矩阵 Z = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> Z = ones (5,4) % 产生元素全为1的5×4矩阵 Z = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> Z = eye (5,4) % 产生5×4的单位矩阵 Z = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 >> rand (5,4) % 产生5×4的元素在(0,1)内均匀分布的随机矩阵 ans = 0.9718 0.4405 0.6101 0.9591 0.5848 0.4660 0.1957 0.3656 0.3299 0.5574 0.5824 0.1493 0.9406 0.1035 0.8690 0.2012 0.4982 0.5989 0.3802 0.6082 >> randn(5,4) % 产生5×4的均值为0、方差为1的标准正态分布随机矩阵 ans = 0.7060 0.8235 0.4387 0.4898 0.0318 0.6948 0.3816 0.4456 0.2769 0.3171 0.7655 0.6463 0.0462 0.9502 0.7952 0.7094 0.0971 0.0344 0.1869 0.7547 >> hilb(3) % 产生三维的Hilbert矩阵 ans = 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 >> Z = magic(3) % 产生3阶的魔方矩阵 Z = 8 1 6 3 5 7 4 9 2