Matlab 在for和while循环期间存储数据

Matlab 在for和while循环期间存储数据,matlab,for-loop,while-loop,save,Matlab,For Loop,While Loop,Save,我需要一些帮助来使用以下代码在MATLAB中存储值: for n = 1:some number iter = 0; while % condition iter = iter + 1 ; for k = 1:9 % call the integrator 9 times [t,s] = ode113(@(t,y) eqns, [0 t{k}], X{k}, options);

我需要一些帮助来使用以下代码在MATLAB中存储值:

for n = 1:some number
    iter = 0;
    while % condition
        iter = iter + 1 ;
        for k = 1:9
            % call the integrator 9 times
            [t,s] = ode113(@(t,y) eqns, [0 t{k}], X{k}, options);
            % X{k} contains 9 initial conditions where each has 6 values
            x{k} = s(:,1:6)
            % x{k} = stores each arc from integration
            x = 1x9 cell array where each cell is #rowsx6
        end
    end
    state(n,:) = x;
end

我遇到的问题是,
state
没有
n
的所有
x
值。例如,如果
n=2
,则状态大小为2x9,但仅存储
n=2
x
值;没有为
n=1
保存任何内容。我还尝试了:
state{n}(iter,:)
while
循环中,它还只存储上次迭代的
x
数据。变量状态似乎正在被覆盖。有人能给我指一下正确的方向吗?

明白了!谢谢你的意见。变量分配不正确。

您的
,而
循环条件似乎是原因。请创建一个;没有它我们只能猜测。嗨,萨达尔,我怀疑这是while循环,但我不知道为什么。我修改了问题。如何初始化
状态
?它是一个单元阵列吗?我想一定是这样,否则这个任务就是非法的。我们可以复制粘贴并自己运行的代码。这确保了所有变量都已定义,所有语句都有意义,这对于我们真正理解您所做的工作是必要的。如果我们没有完整的代码,很难猜测为什么一个作业没有按照您的期望完成。请阅读上面链接的页面,它将帮助您获得有用的答案;做一个简单的例子是相当困难的,因为有太多的依赖关系,很难简化。我编辑了代码以尽可能地简化。