Matlab中的cell、size函數


參考網址:http://blog.sina.com.cn/s/blog_5efed5800100exmj.html

 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單元中的每個單元都是獨立的,可以分別存儲不同大小的矩陣或不同類型的數據。

下面舉個例子:

a=cell(2,2);%預分配
a{1,1}='cellclass';
a{1,2}=[1 2 2];
a{2,1}=['a','b','c'];
a{2,2}=[9 5 6];
>> a{1,1}
ans =
cellclass
>> a{1,2}
ans =
     1     2     2
>> a{2,:}
ans =
abc
ans =
     9     5     6
>> b=a{1,1}
b =
cellclass

 size函數

size(X,1),返回矩陣X的行數;

size(X,2),返回矩陣X的列數;

N=size(X,2),就是把矩陣X的列數賦值給N


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM