【问题标题】:Storing iterative function outputs into matrices [duplicate]将迭代函数输出存储到矩阵中[重复]
【发布时间】:2016-05-23 02:30:09
【问题描述】:

我有一个迭代函数,它给了我两个向量输出。如何在 matlab 中将这些输出存储到两个单独的矩阵中?

[A, B]=iterative_function(x,y)

AB 的大小在每个循环中都不同。

【问题讨论】:

    标签: matlab function iteration output


    【解决方案1】:

    如果输出的大小不同,最好将它们存储在cell array

    A_cell = cell(1, num_iter);
    B_cell = cell(1, num_iter);
    for ii = 1:num_iter
        ...
        [A_cell{ii}, B_cell{ii}] = iterative_function(x, y);
        ...
    end
    

    其中num_iter 是迭代次数,ii 是循环变量。

    【讨论】:

    • 谢谢。但只有最后一次迭代值存储在我的矩阵中。我可能做错了什么? [] [] [] [] [1x3 双]
    • @user5916581 你的for 循环是什么样的?
    • n=length(something);对于 ii = 1:n A=cell(1,n); B=细胞(1,n); [A{ii}, B{ii}] = 函数(a, b) 结束
    • @user5916581 A=cell(1,n); B=cell(1,n); 必须在for 之前,否则你会一直重置AB
    • @user5916581 你的意思是A=cell(n, 1)?查看有关索引的文档。
    猜你喜欢
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多