matlab - 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)
解决方案
方法一
您可以手动完成。首先,为行和列索引创建两个矩阵(假设矩阵为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);
方法二
通过@Cris Luengo,您也可以通过meshgird
函数来完成第一部分。因此,我们可以生成R
并C
喜欢以下内容:
[C,R] = meshgrid(1:n, 1:m)
推荐阅读
- html2pdf - html2pdf 边距 - 表格的多个页面不起作用
- logging - Firehose 在 Firehose-Datadog 集成中添加冗余标签
- azure-log-analytics - 天蓝色日志分析/kusto 重叠区域或甘特图
- python - 由于导入模块冲突,S3 上传失败
- javascript - Chart JS:可以在 Chart JS 中混合散点图和条形图吗?
- lua - Roblox DataStore 不会保存甚至记住我的 UserId
- spartacus-storefront - 如何在斯巴达克斯中根据登录更改主题?
- c# - 数据库保存的外键约束
- dart - Dart:为什么继承的字段不能用作构造函数参数?
- c# - 如何让 Blazor 中的光标闪烁?