repmat(A, 2 *3) 负责A 2*3
eye(1) [1] eye(2) 2*2的单位矩阵
ones(n), n*n的矩阵
ones(n,m) 或者 ones([n,m]) n*m全是1的矩阵
zeros(n) zeros([n,m]) 全是0的矩阵
reshape() 将数据一列一列重新分配
例如:
Reshape a 3-by-4 matrix into a 2-by-6 matrix.
A = 1 4 7 10
2 5 8 11
3 6 9 12
B = reshape(A,2,6)
B = 1 3 5 7 9 11
2 4 6 8 10 12
B = reshape(A,2,[])
B = 1 3 5 7 9 11
2 4 6 8 10 12
A=rand(3,3);B=A';%转置C=inv(B);%求逆D=rank(A);%求矩阵的置[V E]=eig(A);%求矩阵的特征向量V和特征值D 如果不是方阵,可以用pinv求伪逆 圆括号的作用:用于取值(引用数组中的元素)
>> A =[1 4 7 10
2 5 8 11
3 6 9 12]
A =
1 4 7 10
2 5 8 11
3 6 9 12
A(3)=3
A(10)=10
A(2,3)=5
注意不是;而是逗号,
A(2,:)=去所有的第二行 2 5 8 11
方括号的作用:
Matlab 方括号“[ ]”的作用
1定义矩阵(向量,数组)。
例如 a=[1 2 3;4 5 6]
2.定义函数的返回参数列表(输出变量宗量)。
例如 [m,n]=size(a) 如果函数的返回参数只有一个,中括号一般省略。即 [n]=rand(1,2); 可写作 n=rand(1,2);
大括号的作用{ }
大括号,用于cell型的数组的分配或引用。
比如
A(2,1) = {[1 2 3; 4 5 6]}
, or A{2,2} = ('str')
分号;的作用:
cell型 数据类型
如果p为一个数,那么h(1)=p,是没有问题的。
如果p为一个向量,那么h(1,:)=p是没有问题的。
如果p是一个矩阵的话,上面的两种赋值方法都是会有错误的。
那么要如何处理呢?
这时就用到了cell数据类型了。cell的每个单元都可以存储任何数据,比如传递函数等。当然,存储矩阵更是没有问题的了。但是用cell数据类型之前,要先初始化。
a=cell(n,m)
那么就把a初始化为一个n行m列的空cell类型数据。
如何赋值呢?
a{1,1}=rand(5)
那么a的1行1列的单元中存储的就是一个随机的5×5的方阵了。
那么要用第一个单元中的方阵中的某个值呢?
可以如下引用:a{1,1}(2,3)
就可以了,引用cell单元时要用{},再引用矩阵的某个数据就要用()了。
cell单元中的每个单元都是独立的,可以分别存储不同大小的矩阵或不同类型的数据。
posted on 2012-10-11 08:28
luis 阅读(470)
评论(0) 编辑 收藏 引用 所属分类:
Matlab