matlab中的结构:节省负载和工作

Posted

技术标签:

【中文标题】matlab中的结构:节省负载和工作【英文标题】:Structures in matlab: save load and work 【发布时间】:2013-03-07 13:09:09 【问题描述】:

我正在尝试使用 matlab 中的结构。我有一个看起来像这样的代码:

for i=1:10
    a(i).p=some value;
    a(i).q=some other value
end

我将它保存到一个 mat 文件,但它似乎并不成功。谁能告诉我,如何保存并将此结构加载到文件/从文件中并读取特定类型的数据?例如,如何在加载结构后读取字段a(i).q? 谢谢

【问题讨论】:

【参考方案1】:

要保存和加载,请使用saveload

for ii=1:10
    a(ii).p = rand(1);
    a(ii).q = rand(1);
end
save( 'myMatFile.mat', 'a' ); % note that the variable name is passed as a STRING

clear a; % remove a from workspace. it is gone...
exist( 'a', 'var' ), % make sure a is gone

load( 'myMatFile.mat' ); % load 
exist( 'a', 'var' ), % a now exists! Ta-da!!

a(5).q, % access the fifth element of a

PSIt is best not to use i and j as variables in Matlab

【讨论】:

请注意 MATLAB 无法处理 save('file.mat','a.p') 。你需要做foo=a.p; save('file.mat','foo') @CarlWitthoft 您可以通过save('file.mat','a','-struct') 获取保存文件中的变量p 嗯,是的,save('file.mat',-struct,'a','p') 会起作用,但是为什么用户必须做解析器应该处理的事情呢?

以上是关于matlab中的结构:节省负载和工作的主要内容,如果未能解决你的问题,请参考以下文章

5G5G通信网络中资源分配和负载均衡算法的matlab仿真

在vc6.0中如何使用mwArray这个结构体啊,这个结构体是matlab中的数组,我用的matlab2009

如何从 MATLAB 函数中的工作区获取 Simulink 结构的值?

R 与 MATLAB 中的高维数据结构化方法

从matlab中的结构创建表 - 对齐

matlab如何读取结构体中的数据,比如我想利用里面的数据画图