繁体   English   中英

在MATLAB中迭代函数

[英]Iterating a function in MATLAB

一个非常简单的问题,但是我想我无法用正确的术语来谷歌搜索它。

如果我有依赖于三个独立变量的代码片段:

code(x,y,z)

产生两个值,即:

output1, output2

我该如何进行迭代(伪代码):

for x

    for y

        for z

            code(x,y,z)

        end

    end

end

并具有我可以解析的数据以生成3D图形,例如

surf(x,y,output1)

我想出的一个简单的解决方案是创建一个n个长度的bin,然后迭代一个变量n次以得出2D图形,即:

x_axis = zeros(1,25)

for m = 1:25

    xm = x + 1
    x_axis(m) = xm

    code(x,y,z)

甚至引用一些文档也将非常有帮助。

谢谢!

蛮力方法:

for x=[1:50]
    for y=[1:50]
        for z=[1:50]
            result(y,x,z)=code(x,y,z);
        end
    end
end

(在MATLAB中)更典型的方法是对其进行meshgrid ,然后将其meshgrid

[XX,YY,ZZ]=meshgrid([1:50],[1:50],[1:50]);
result=code(XX,YY,ZZ);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM