Matlab需要批量导入workspace区域,分别赋值给矩阵A1,A2,……这样的形式
展开全部
思路是这样的,首先搜索指定文件夹中所有dat文件,依次读取dat文件,将其中的数据赋给A,其中A{1}、A{2}等对应不同文件读取的数据。下面是代码,请根据自己的文件存放位置稍作修改,希望能帮到你。
clear,clc;
dataDir=dir('C:\dataFile\*.dat'); %请把C:\dataFile\这部分换成你存放dat文件的地址,如果这个地址就是你matlab当前打开的文件夹地址,这部分就可以空着。
for i=1:length(dataDir)
dataPath=strcat('C:\dataFile\',dataDir(i).name); %同样,这里的地址也要换一下。
content=importdata(dataPath);
A(:,:,i)=content.data;
end
[N,~,~]=size(A);
for j=1:N
m(j)=mean(A(j,9,:);
e(j)=std(A(j,9,:));
end
clear,clc;
dataDir=dir('C:\dataFile\*.dat'); %请把C:\dataFile\这部分换成你存放dat文件的地址,如果这个地址就是你matlab当前打开的文件夹地址,这部分就可以空着。
for i=1:length(dataDir)
dataPath=strcat('C:\dataFile\',dataDir(i).name); %同样,这里的地址也要换一下。
content=importdata(dataPath);
A(:,:,i)=content.data;
end
[N,~,~]=size(A);
for j=1:N
m(j)=mean(A(j,9,:);
e(j)=std(A(j,9,:));
end
追问
只是现在A里有多个cell,不知如何挨个提取?回答加分哈~~
展开全部
用ImportData按步骤导入数据后,可以把导入过程输出为函数,再写一个循环重复调用函数即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-09-07
展开全部
例如:
a=[1 2 3];
b=zeros(3,3);
则:b(1,:)=a;
这就,b的第一行就变成1 2 3了.
a=[1 2 3];
b=zeros(3,3);
则:b(1,:)=a;
这就,b的第一行就变成1 2 3了.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想通过循环赋值A1,A2,A3,.....,程序并不好写,不如用元胞数组A,其中可容很多A{1},A{2},A{3},......,而且,可方便地用循环赋值,调用也方便。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接导入不就可以么,然后用显式进行赋值!
追问
怎么显式赋值啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询