matlab中(),[],與{}的區別認識

轉載自: 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矩陣中的元素 
運行如下 
這裏寫圖片描述 
這裏寫圖片描述 
大家多嘗試一下,就會明白這些括號的意思。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章