轉載自: http://blog.csdn.net/CV_YOU/article/details/52873666
在matlab中,常常會遇到(),[],和{},這個3種符號怎麼區分,怎麼用,這裏我來總結一下,龔參考。
- []
首先。[]叫中括號,它用來存儲矩陣和向量(vector在C++中也叫容器)
舉個例子,a=[1,2,3],是一個向量,這個向量有3個元素,也可以用a=[1 2 3]
eg:
對於a=[1 2 3;2 3 4 ;3 4 5],就是一個3*3矩陣
- { }
大括號,用於cell型的數組(就是前面講的單元數組)的分配或引用。
比如 a{3,3}=‘china’就是建立了一個3*3的單元數組,a(3,3)就是‘china’
比如c={‘china’,’中國’,[1 2 3 4]}運行結果如下
比如:A(2,1) = {[1 2 3; 4 5 6]},就是一個2行一列的單元數組,第二行第一列的元素就是[1 2 3;4 5 6]的2*1矩陣
- ( )
小括號,用於引用數組的元素。
如 X(3)就是X的第三個元素。 X([1 2 3])就是X的頭三個元素。
這裏用[]建立一個非cell數組。a=[1 2 2],則a(1,2)就是訪問的a數組的第一行第2列元素,爲2.
最後看一下單元數組和普通數組的關係。
比如我建立了一個單元數組:
a=cell(2,3)
a(1,2)=’china’;%這種寫法是錯的
a{1,2}=’china’%這種寫法纔對
因爲大括號才代表單元數組賦值,小括號只能是普通數組中的元素
如下
a{1,3}=[1 2 3;2 3 4];
b=a{1,3}(1,3)%這樣才能取出上面2*3矩陣中的元素
運行如下
大家多嘗試一下,就會明白這些括號的意思。