How do I extend cell to a larger dimension.

1 回表示 (過去 30 日間)
Diego
Diego 2014 年 7 月 18 日
コメント済み: Diego 2014 年 7 月 18 日
I have a cell say A that I want to extend to the size of a larger cell, say B with special caracters, say 'n'. Similar to function padarray but with matrices. Say,
A = {'a','b';
'c','d'};
B = cell(3,4);
C = fun(A,size(B),'n')
gives
C = {'a','b','n','n';
'c','d','n','n';
'n','n','n','n' }
If it's not too much to ask I would like the MATLAB way to do it, either using indexing or a modification of padarray. Thank you.

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 7 月 18 日
A = {'a','b';
'c','d'};
C = repmat({'n'},3,4)
[n,m]=size(A)
C(1:n,1:m)=A
  1 件のコメント
Diego
Diego 2014 年 7 月 18 日
Thank you for your help. I was looking for an abstract way to do the last assignment.
[m,n] = size(A)
C(1:m,1:n) = A
The next step I found is:
[I1,I2] = ind2sub(size(C),1:numel(C));
C(I1 <= size(A,1) & I2 <= size(A,2)) = A;
And therefore would like something like,
C(ind2sub(size(C),1:numel(C)) <= size(A)) = A
But then I can't find the right parser for the indexing part...

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by