0
点赞
收藏
分享

微信扫一扫

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

未定义变量 2022-04-16 阅读 103

记录学习的点点滴滴之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上有用的经验太多了,还是需要多学习。加油哦!

举报

相关推荐

0 条评论