1. 程式人生 > >Expressing Youself Using Code

Expressing Youself Using Code

我們有一個如下的cell資料

cdata = {'1' 
        '11'
        '111'
        '1111'
        '11111'};

現在要把他轉變成double型的陣列,很自然會想到的方法是cell2mat,可悲的是會遇到一個問題:


matlab要求每一行的資料長度要相同才行。

解決這個問題:

1、先把cell轉變成char陣列,在把他轉變成資料型別。原理是轉變成char之後的矩陣每行的長度是相同的。

 str2num(char(cdata))

2、使用cellfun函式,第一個引數傳遞對每個cell單元使用的函式名,第二個引數是cell名。
cellfun(@str2num, cdata)