1. 程式人生 > >Matlab-cell

Matlab-cell

MATLAB元胞陣列

元胞陣列是MATLAB的一種特殊資料型別,可以將元胞陣列看做一種無所不包的通用矩陣, 或者叫做廣義矩陣。組成元胞陣列的元素可以是任何一種資料型別的常數或者常量,每一個元素也可以具有不同的尺寸和記憶體佔用空間,每一個元素的內容也可以完全不同,所以元胞陣列的元素叫做元胞(cell)。和一般的數值矩陣一樣,元胞陣列的記憶體空間也是動態分配的。 精華之處就是在可以儲存不同型別的資料.可以是Matlab的型別或者自定義的型別. cell建立: 元胞陣列的定義可以用兩種方法來實現,一種是用賦值語句直接定義,另一種是由cell函式預分配儲存空間,而後對元胞元素逐個賦值。用 大括號"{}"建立元胞陣列並賦值.
  第一種:   >> a=[1,3,5;2,4,6]; >> b=[1,3;5,7;9,11]; >> x={ a,b,[1,2,3,4;5,6,7,8];'love',1:3,a*b } x =        [2x3 double]    [3x2 double]    [2x4 double]     'love'          [1x3 double]    [2x2 double]   第二種:   >> y=cell(2,3) y =        []    []    []     []    []    [] >> y{1,1}=a; >> y{1,2}=b; >> y{1,3}=[1,2,3,4;5,6,7,8]; >> y{2,1}='love'; >> y{2,2}=1:3; >> y{2,3}=a*b; >> y y =        [2x3 double]    [3x2 double]    [2x4 double]     'love'          [1x3 double]    [2x2 double]   讀取cell內資料內容:
  讀取內容:{ 大括號加下標 }和   ( 小括號加下標 )   區別在於型別( )是cell陣列 ,{ }是實際型別.結果顯示是一致的 >> a={‘a',123,[3 5 6],[1 2;7 8],sym(1)} a =     ‘a'    [123]    [1x3 double]    [2x2 double]    [1x1 sym] >> class(a{1}) ans = char                      # 大括號顯示實際型別為字元型別
>> class(a(1)) ans = cell        # 小括號顯示實際型別為cell型別   檢視顯示結果相同: >>a(1) ans =   'a' >>a{1} ans = a   Cell資料型別轉換:   cell陣列的型別轉換看到上面的那些型別轉換函式,也許你會笑了,感覺也沒有什麼特別的,但是使用過這個cell陣列的朋友,估計大部分都會有轉換失敗的經歷-_-很坑爹的...   Cell Array and Struct Array s = cell2struct(c, fields, dim)  cell陣列轉換為struct陣列,注意fields為char陣列或者cell陣列,   這個經常錯誤就是fields型別以及dim不對.

相關推薦

Matlab-cell

MATLAB元胞陣列 元胞陣列是MATLAB的一種特殊資料型別,可以將元胞陣列看做一種無所不包的通用矩陣, 或者叫做廣義矩陣。組成元胞陣列的元素可以是任何一種資料型別的常數或者常量,每一個元素也可以具有不同的尺寸和記憶體佔用空間,每一個元素的內容也可以完全不同,所以元胞陣列的元素叫做元胞(cell)。

Matlab cell矩陣處理

文章目錄前言基本概念 前言 在和師弟師妹討論資料處理的時候,發現自己對cell的操作還不是很熟練,因此,上網搜尋了一下,並總結成了這份筆記。 基本概念 Cell是Matlab中的一種資料型別,概念和結構,類似。 用大括號{}建立,括號裡可以是任意型別的資料或矩陣

matlab cell(元胞陣列)關於元胞和陣列的深入理解 和 元胞陣列中個別元素的刪除

深入理解元胞陣列 matlab 中的 cell 其實也是個陣列,不過一個cell變數後邊既可以接小括號“()”,又可以接大括號"{}",這有什麼區別呢? 在 matlab 中,所有的陣列都可以用“(i)”來表示其中的第i個元素,元胞陣列還可以用“{i}”,表示第i個cel

matlab 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單元時要用{

matlab cell資料用法

細胞型(有的書上稱單元)資料是matlab的一種特殊資料型別,它比較靈活,可以儲存不同的資料型別(字元、數值)和不同維數的陣列。有兩種方法建立: 1、賦值語句:把數值直接賦值給單元,如: 內容索引 變數的下標用大括號{}括起來     a{1,1} = [1 2 3 4 5];     a{1,2} = {'

matlab cell find 元組 查詢

首先宣告任務:資料按照圖片名稱分為訓練和測試,但是提取特徵的時候是按照全部的圖片提取vgg_feats.mat的,有一個task.txt其中存著所有的圖片名字,每一行一個,另一個train.txt,裡面

matlabcell的形式讀取excel---保留原excel 裏面的字符

mat 保留 atl xls 全部 字符 tac new ble [Data,DataText,DataCell]=xlsread(‘new.xls‘,‘Sheet1‘) DataCell是全部的cell cell 格式 Data帶有NAN(代表字符)的全部元素 dou

「Python」Numpy equivalent of MATLAB's cell array

design ike can acc sta sig bject b- tlab 轉自Stackoverflow。備忘用。 Question I want to create a MATLAB-like cell array in Numpy. How can I acco

matlabcell 與 matrix

cell和 matrix使用不當會產生錯誤 Cell contents reference from a non-cell array object.  元包元素引用自非元包陣列。 Use the char function to convert back to astring mat

Matlab入門-變數Cell array

1、cell array的宣告。 方式1 >> a(1,1)={[1 2 3; 4 5 6]};%大括號括起來。 >> a(1,2)={'sasasa'}; >> a(2,1)={3+7i}; >> a(2,2)={-pi:p

Matlab非結構化文字讀取+正則化+cell變數命名

Matlab非結構化文字讀取+正則化+eval變數命名 1 任務目標 任務目標是將下面這個檔案中的資料讀取進入Matlab工作空間,以cell或者struct的形式儲存: "Summary": {

MATLAB使用和學習筆記01:Cell陣列

關於cell陣列 元胞陣列最有用的地方在於,它可以在一個數組中的每個元胞裡,儲存不同的資料型別。就像人的身體裡可以有神經元細胞,血紅細胞等等,他們型別不同,但是統稱細胞並共存在人體中。 元胞陣列對於讀取,處理和寫入格式複雜的資料檔案非常有用。 1. Cell的

MATLAB中m檔案分節/Cell

今天看到大神的蟻群演算法程式碼,其中是一節一節的,劃分很清楚,如圖 點選任意一行,會將該行所在的節的背景顏色改變, Cell 原來這是使用了分節的手段,具體操作 選中MATLABm檔案編輯器

matlab中如何將cell陣列轉化成數值型矩陣

                                     將cell陣列轉化成矩陣 1.若

matlabcell和char,字串與字元陣列(zz)

用importdata和textscan讀取內容為字串的txt,結果為cell型元胞組。 我想把cell變成char型,然後就自然地想到cell2str,遺憾的是matlab中沒有這個函式。 就像沒有str2cell一樣。 實現str2cell功能的函式是cel

Matlabcell與其它型別之間的轉換

1 數字->cell num = 123; num_cell = num2cell(num); 2 cell->char[1] cell_str = {'hello'}; char_str

matlab中double、char和cell的互轉

小魚這兩天被導師嫌棄,說一個txt文件轉換為mat格式都花了半天時間,不就一個save函式的事嗎。哎,對會的人來說可能真的是一個函式的事,但是對於我這種對matlab不熟的初學者,真的不是那麼簡單,其中涉及各種轉換,比如double,char,cell的互轉。

matlabcell和char,字串與字元陣列

很多人分不開字元陣列和字串什麼區別。 >>str1='i love matlab' % 這是一個字元陣列,也是一個字串 str1 = i love matlab >>str2=['I ';'am ';'a ';'boy'];% 這是字元陣列,由於是陣列,所以每一行必須具有相同的列數(字

MATLABcell陣列

5  Cell陣列元胞陣列(cell)是MATLAB的一種特殊資料型別。可以將元胞陣列看做一種無所不包的通用矩陣,或者叫做廣義矩陣。組成元胞陣列的元素可以是任何一種資料型別的常數或者常量,每一個元素也可以具有不同的尺寸和記憶體佔用空間,每一個元素的內容也可以完全不同。和一般的數值矩

matlab 判斷cell數組裡是否存在一個字串

personnamelist=[];i=0; homeimages_array=dir(fullfile('./test/','*.jpg')); for ihome=1:size(homeimages_array,1)     temp=homeimages_array(