Matlab需要批量导入workspace区域,分别赋值给矩阵A1,A2,……这样的形式

我有很多dat格式的数据文件,文件前几行是说明文字,后面是矩阵形式的数据。... 我有很多dat格式的数据文件,文件前几行是说明文字,后面是矩阵形式的数据。 展开
 我来答
yingliang819
推荐于2016-06-16 · 超过15用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:28.7万
展开全部
思路是这样的,首先搜索指定文件夹中所有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
追问
只是现在A里有多个cell,不知如何挨个提取?回答加分哈~~
GarfieldKim
2017-09-04 · TA获得超过1312个赞
知道小有建树答主
回答量:889
采纳率:74%
帮助的人:409万
展开全部
用ImportData按步骤导入数据后,可以把导入过程输出为函数,再写一个循环重复调用函数即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-07
展开全部
例如:
a=[1 2 3];
b=zeros(3,3);
则:b(1,:)=a;
这就,b的第一行就变成1 2 3了.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我行我素850915
2017-09-05 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1694万
展开全部
想通过循环赋值A1,A2,A3,.....,程序并不好写,不如用元胞数组A,其中可容很多A{1},A{2},A{3},......,而且,可方便地用循环赋值,调用也方便。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我有让1
2014-09-17 · TA获得超过156个赞
知道小有建树答主
回答量:477
采纳率:84%
帮助的人:104万
展开全部
直接导入不就可以么,然后用显式进行赋值!
追问
怎么显式赋值啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式