MATLAB矩阵的创建

MATLAB矩阵的创建

数学实验被老师搞晕掉啦。还是自己总结一下吧。MATLAB的矩阵创建有很多种方法,但总的原则是不变的。原则如下:

a、矩阵元素必须在”[ ]”内(用步长创建的单行向量除外);

b、矩阵的同行元素之间用空格(或”,”)隔开;

c、矩阵的行与行之间用”;”(或回车符)隔开;

d、矩阵的元素可以是数值、变量、表达式或函数,当然也可以是矩阵本身。如 果是矩阵本身,则可看做是矩阵的粘合;

e、矩阵的尺寸不必预先定义。

举例如下:

a = [1 2 3; 4 5 6]

a = 1:10

a = [1:10; 11:20]

a = [1:10; 11:20]’

a = [1:0.5:5.5; 5.5:0.5:10]

a = [1 2 3

4 5 6

7 8 9]

b = [10 11 12; 13 14 15; 16 17 18]

A = [a b]

A = [a; b]

因为转置’是一种运算,所以a = 1:20’是合法的,但是等价于a = 1:20,相当于对20这个只有一个元素的矩阵转置,然后带入到1:20中,所以a = (1:20)’与a = [1:20]’都是可以的,但是显然a = (1:20; 21:40)’是非法的。

对于矩阵元素的选取,总的语法是(,),所以,取A32列元素可以是A(3,2)

同时可以使用单行矩阵(即向量)的形式来选取子矩阵。例如,选取矩阵A1,3,5行和2,3列组成子矩阵,可以使用A([1 3 5],[2 3])。这样,显然地,可以使用步长的方法,如选取A36行和13列就可以写成A(3:6,1:3)。同时,可以使用单独的:来表示全部。如取A357行和所有列,可以写成A(3:2:7,:)

最后,可以使用MATLAB提供的函数创建特殊矩阵,常用特殊函数如下:

magic(n)创建n维魔方矩阵。

vander(v)生成以向量V为基础向量的范得蒙矩阵。

rand(n) n阶随机矩阵。可以试试randn(m,n)

hilb(n) n阶希尔伯特矩阵。

pascal(n) n阶帕斯卡矩阵。

你可能感兴趣的:(matlab)