提问人:tutizeri 提问时间:7/14/2020 最后编辑:OmGtutizeri 更新时间:7/14/2020 访问量:30
Matlab中有一个函数可以创建矩阵,其中每个元素都是矩阵索引的相同函数?
There is a function in Matlab to create a matrix, where each element is the same function of matrix indexes?
问:
例如,一个矩阵,其中行 r 和列 c 处的每个值为
a=[r^2+c^2]
喜欢a=[1, 4; 4; 18]
或
A=[F(r,c)]
A=[F(1,1) F(1,2) F(1,3);
F(2,1) F(2,2) F(2,3);
F(3,1) F(3,2) F(3,3)]
或
A(r,c)=F(r,c)
答:
1赞
OmG
7/14/2020
#1
梅赫托德 1
您可以手动完成。首先,为行和列索引创建两个矩阵(假设矩阵是):n x m
R = repmat((1:n).',[1, m]);
C = repmat((1:m),[n, 1]);
然后,根据以下两个编写函数:
result = R.^2 + C.^2; % F(x,y) = x^2 + y^2
或者定义内联函数并将其应用于这两个函数:
F = @(x,y)(x.^2 + y.^2);
result = F(R,C);
梅赫托德 2
通过@Cris Luengo,您也可以通过功能完成第一部分。因此,我们可以生成并喜欢以下内容:meshgird
R
C
[C,R] = meshgrid(1:n, 1:m)
评论
0赞
tutizeri
7/14/2020
谢谢。这是让我拍打额头并说“偏离路线”的解决方案之一。优雅。
下一个:为什么这被认为是借来的
评论