
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}这些被用到的空间被转化嘛。请问如果要实现这种情况,该如何来创建数组。 展开
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}这些被用到的空间被转化嘛。请问如果要实现这种情况,该如何来创建数组。 展开
1个回答
展开全部
% 在 num2cell 前清除掉无用的空间
% 如果怕混淆数据,可以设为 nan inf -inf 赋值后在将其删除 a(isnan(a)) = []
a = zeros(3,1);
a(1:2,:) = [19,23];
a(a==0) = [];
b = num2cell(a)
% 如果怕混淆数据,可以设为 nan inf -inf 赋值后在将其删除 a(isnan(a)) = []
a = zeros(3,1);
a(1:2,:) = [19,23];
a(a==0) = [];
b = num2cell(a)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询