posts - 195,  comments - 30,  trackbacks - 0
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 阅读(455) 评论(0)  编辑 收藏 引用 所属分类: Matlab

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜