Matlab中有一个函数可以创建矩阵,其中每个元素都是相同函数的矩阵索引



例如,一个矩阵,其中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)

Mehtod 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);

Mehtod 2

通过@Cris Luengo,您也可以通过meshgird函数完成第一部分。因此,我们可以生成RC,如下所示:

[C,R] = meshgrid(1:n, 1:m) 

相关内容

  • 没有找到相关文章

最新更新