如何在matlab中为每次迭代更新工作空间变量内容?

如何在matlab中为每次迭代更新工作空间变量内容?,matlab,Matlab,所以我有这个密码 h = SomeFunction; h.run for k = 1:4 data_local = h.data; data_local = data_local+rand(1) plot(data_local); pause(2); end 每秒输出128x25矩阵(时间间隔为2秒) 因此,对于每个迭代,我希望它更新工作空间中的变量,因此我使用 assignin('base','data',data_local) 在循环内部 这似乎是可行的,

所以我有这个密码

h = SomeFunction;
h.run
for k = 1:4
    data_local = h.data;
    data_local = data_local+rand(1)
    plot(data_local);
    pause(2);
end
每秒输出128x25矩阵(时间间隔为2秒)

因此,对于每个迭代,我希望它更新工作空间中的变量,因此我使用

assignin('base','data',data_local)
在循环内部

这似乎是可行的,但问题是存储的只是最后一个值(在循环完成之后)

有人能告诉我如何在每个循环上更新工作区中的变量吗

提前谢谢

更新


这是实际文件的位置

1。使用索引<代码> i <代码>将变量放在位置<代码> i>代码>(签出Evalin,并且如果每个循环的输出是2D矩阵,则可以考虑使用单元格或3D矩阵)。2.使用
i
作为变量名是不好的做法,因为它还表示MATLAB中的虚拟单位。@Studiegriffin似乎有一个原因,OP希望更频繁地更新工作空间。这些值可能在此处流式传输,或者可能存在内存问题,因此他希望1)临时存储该值2)对其进行处理3)丢弃该值。每次存储25KB的内存并不多,但可能在几天内就会累积起来。然而,这篇文章不清楚这一点,所以你的评论,所以我认为评论是有价值的。无论如何,使用
i
作为迭代变量的开销很小,使用
i
j
作为虚数是不好的做法,所以这应该不是问题。akshay,如果你能解释一下你问题的动机,那会有帮助。这段代码是否包含在函数中,所以重点是从函数的工作区导出到全局工作区?如果没有,并且您直接在命令行或脚本上运行它,那么没有什么特别的事情要做,您可以直接访问全局工作区。或者问题是您希望保留所有4个不同的值?然后使用索引是一条出路,正如斯图维格里芬所写。不过,不要担心将
i
作为迭代变量,这没有什么错。@A.Donda
somefunction
是一个.m(我猜是类)文件,而h.run是该.m文件中的一个函数。这段代码是作为脚本编写的。这就是我从@patrik获得实际文件的地方,所以问题是我想先处理这些数据,然后当处理完成后,我想丢弃它。