MATLAB初学|将一个大矩阵分割成若干小矩阵-eval

记录学习的点点滴滴之MATLAB遇到的问题

1、需求描述:

我有一个20000*2的一个很长的矩阵,我需要将它的第二列分成87个小矩阵,每个矩阵是229*1的。也就是说,从第一行开始数到第229行,截取下来作为第一个矩阵;然后从第230行截取到第459行作为第二个矩阵……一直这样截取下来,到最后还剩余的部分不要。

2、开始入手

一开始遇到的难题是,不会给每一个小矩阵命名,于是参考了这条百度经验:

百度经验链接

经过改进后修改如下:

A=A=xlsread("D:\本科毕设\Matlab\A5+P5A2.xlsx"); %导入数据
a=87; %要分割成多少个矩阵
c=229; % 每个矩阵有229行
k=1;

% 循环一次生成一个229*1的小矩阵
for i =1:a
    
    x=A(k:k+c-1,2); % 提取了A的第二行
    e=['var',num2str(i)]; % 准备给每个矩阵命名
    eval([e,'=x']); % 将每个名字赋值给各个矩阵
    k=c*i+1; % 继续循环
end

运行完成后在工作区产生了这些变量

 3、拓展

后续又查了eval的用法,发现还是一个很有用的函数。csdn上有用的经验太多了,还是需要多学习。加油哦!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值