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 閱讀(479)
評論(0) 編輯 收藏 引用 所屬分類:
Matlab