Matlab:可以将大量预分配放在另一个文件中吗?

时间:2015-03-09 12:05:56

标签: matlab allocation

我正在编写一个matlab代码,我需要预先分配很多变量(每个变量是8760x1双倍)。这些值在for循环中生成:

a=zeros(8760,1);
b=zeros(8760,1);
(...)
for i=1:8760
a(i)=[some code];
b(i)=[some code];
(...)
end

但是,看到我有很多这些变量,我想在另一个文件中预先分配参数(更干净)。

preallocate.m

a=zeros(8760,1);
b=zeros(8760,1);
...

的main.m

preallocate
for i=1:8760
a(i)=[some code];
b(i)=[some code];
(...)
end

在另一个matlab文件中预分配是否与执行文件在同一文件中一样高效?其他建议?

2 个答案:

答案 0 :(得分:4)

是的。

答案 1 :(得分:0)

这是一种有效的方法,但您必须确保您的变量进入主函数的工作空间,即您应该设置preallocate.m,以便:

[a, b] = preallocate

当在main函数中调用它时,你的preallocations将被初始化。