matlab 中矩阵所有行加入子cell中

matlab 中对大型数据进行处理时,经常需要把矩阵里的某一些数据进行处理。如所以行或者列重新储存再某个cell的子cell中。下面是一个简单实现:

  load('lncRNAGene.mat')  %加载数据
  load('GeneDisease.mat')
  R12=LGasso'; %R12为矩阵,15527*240
  R13=GDasso; %R13为矩阵,15527*8450
 
newTarget=R13'; 
newTarget1 = zeros(size(newTarget));

[row,col]=size(newTarget);%把newTarget 里面的数据变为0.-1形式
for i=1:row
    for j=1:col
        if newTarget(i,j)==1
            newTarget1(i,j)=-1;
        else
            newTarget1(i,j)= newTarget(i,j);
        end
    end
end
newTarget=newTarget1;
%temp = num2cell(R12);
newBags1=cell(15527,1);
[row,col]=size(R12);

% 错误实现,()不行,需要用{}
% for i=1:row     
%     newBags(i,1) = cell(1,240);  %先把cell为15527*1里面的每个数都变为为子cell 大小为1*140
% end

%用{}
for i=1:row
    newBags{i,1} = R12(i,:);
end
evalstr=['save ','NewLetterM4L.mat newTarget newBags'];%把newTarget 和newBags储存在当前目录的NewLetterM4L.mat
eval(evalstr);   %执行

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值