本文介绍了如何在MATLAB创建单元阵列并初始化到相同的对象的所有元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个矩阵(称之为 X )被初始化为说为零(3)

我想改变code,使 X 是大小的单元阵列(说)(3,1)和每个元素初始化为零(3)

我可以用一个循环做,但有没有更好的办法?

  X =细胞(3,1);
第II = 1:numel(X)
    X {二} =零(3);
结束


解决方案

您可以用做交易()

 >> [X {1:3,1}] =交易(零(3))X =    [3×3双]
    [3×3双]
    [3×3双]

I have a matrix (call it X) that is initialized to say zero(3).

I want to change the code so that X is a cell array of size (say) (3,1) and initialize each element to zero(3).

I can do it with a loop but is there a better way?

X = cell(3,1);
for ii=1:numel(X)
    X{ii} = zeros(3);
end
解决方案

You can do this with deal().

>> [X{1:3, 1}] = deal(zeros(3))

X = 

    [3x3 double]
    [3x3 double]
    [3x3 double]

这篇关于如何在MATLAB创建单元阵列并初始化到相同的对象的所有元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 01:07