gpt4 book ai didi

matlab - 如何将 f(x,y) 转换为二维矩阵(即查找表)?

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:51 25 4
gpt4 key购买 nike

给定 f = @(x,y) [带有标量结果的东西],计算查找矩阵 A 的最佳方法是什么 >A(x,y) == f(x,y) 对于特定范围和域内的任何 x,y

假设一个名为 lookupTable(f,range,domain) 的函数做了我想要的。然后 lookupTable(@(x,y) x * y, 12, 12) 将生成一个矩阵,其中包含从 1*1=112 的乘法表*12=144.

或者假设我想要一个 6x6 矩阵,除第 3 行第 5 列中的 1 外全为零。我可以编写 lookupTable(@(x,y) x==3&&y==5, 6, 6)

最佳答案

我会使用 MESHGRID 的组合为 xyARRAYFUN 生成二维输入网格计算每个网格对处的标量函数 f。对于您的第一个示例,您可以这样做:

[y, x] = meshgrid(1:12, 1:12);  %# Or just [y, x] = meshgrid(1:12);
lutable = arrayfun(f, x, y);

请注意,我颠倒了 MESHGRID 的输入和输出顺序,以便 x 的值在生成的查找表的行中增加。

关于matlab - 如何将 f(x,y) 转换为二维矩阵(即查找表)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com