![]() |
load大量数据的问题(新)
现在要load 一组数据ACDC1.mat, ACDC2.mat, ..... ACDC100.mat去计算
在每个mat数据文件里都有名为SpeedVehicle的Array editor数据 我的编程如下: for d=1:100 z=['load ACDC' int2str(d) '.mat'] eval(z) end 因为每个mat文件里的数据都叫SpeedVehicle,所以在workspace里下一个数据会自动取代上一个,最后的结果只有最后一个数据.怎么才能得到所有的SpeedVehicle 数据 这种情况该怎么解决啊?有人知道吗?谢谢 |
load好一个后,通过赋值更改变量名字,再load下一个。
|
你的意思是我需要一个一个的load数据啦,但如果数据很多,手工输入太费时间了,怎么才能让程序自动运行完?
|
不需要手工,我给你个例子。
for d = 1:100 z = [ 'load ACDC', int2str(d), '.mat']; eval(z); % 此时, SpeedVehicle已经是直接可见的了 data( :, :, d ) = SpeedVehicle( :, : ); % 将SpeedVehicle存入3维矩阵 end 这个例子假设SpeedVehicle为2维矩阵,我将其存入一个3维矩阵里。 也可以利用其它数据类型,比如结构体,cell。根据SpeedVehicle的类型和你的使用习惯选定数据类型即可。 |
楼上正解,又学到一招。thanks
|
2 个附件
我的SpeedVehicle数据是timeseries格式(如图)
如果想导入SpeedVehicle里的数据,需要: data=z(d).SpeedVehicle 这样的格式该怎么写程序?谢谢! |
time series这个属于时间序列的我不了解。不过,可以肯定的是这种数据类型也是由一些
基本数据类型组合而成的。说个思路吧,你自己尝试一下。你可以先load一个mat 文件进来,然后,试一下struct,cell这两种能不能存储SpeedVehicle[ 可以用class( 'SpeedVehicle' ) 来看一下 ]。确定以后, 修改上面的程序,将刚才试验里确定的类型变成多维的就可以了。 |
我试了下,是char 数据类型
|
所有时间均为北京时间。现在的时间是 14:29。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.