matlab创建数组的问题

我要创建一定空间的一个数组,一般方法如下:zeros(n,m)或者ones(n,m)这样创建的数组(假设为a数组),其所有空间都是有内容的。这样的结果是,在用num2ce... 我要创建一定空间的一个数组,一般方法如下:
zeros(n,m) 或者ones(n,m)
这样创建的数组(假设为a数组),其所有空间都是有内容的。这样的结果是,在用num2cell 转化为cell数组后,可能那些没有用到的元素也被转成了cell元素。比如,a=zeros(3,1),在某个过程中,我只用到了其中两个空间,比如a(1:2,:)=[19,23].然后用num2cell(a)后就成了{19,23,0}.我的原意是,我只是用到了a数组的两个元素,那么在num2cell(a)后就只有{19,23}这些被用到的空间被转化嘛。请问如果要实现这种情况,该如何来创建数组。
展开
 我来答
qingningleyun
推荐于2016-02-04 · TA获得超过5854个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3133万
展开全部
% 在 num2cell 前清除掉无用的空间
% 如果怕混淆数据,可以设为 nan inf -inf 赋值后在将其删除 a(isnan(a)) = []
a = zeros(3,1);
a(1:2,:) = [19,23];

a(a==0) = [];
b = num2cell(a)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式