记录学习的点点滴滴之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、拓展文章来源:https://www.toymoban.com/news/detail-596160.html
后续又查了eval的用法,发现还是一个很有用的函数。csdn上有用的经验太多了,还是需要多学习。加油哦!文章来源地址https://www.toymoban.com/news/detail-596160.html
到了这里,关于MATLAB初学|将一个大矩阵分割成若干小矩阵-eval的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!