![]() |
1
7
许多基本的matlab函数,比如 MEAN , MAX , MIN , SUM 等,设计用于在特定尺寸范围内操作:
你也可以利用
MATLAB arithmetic operators
设计为在矩阵上以元素方式操作。例如,函数中的操作
要处理一个更一般的情况,即要将函数应用于n维矩阵的任意维,您可能需要编写函数,以便它接受一个额外的输入参数,该参数的维可以操作(如上述matlab函数),然后使用一些简单的逻辑(即,如果其他状态以及元素矩阵运算,将其计算应用于矩阵的适当维度。 虽然我不建议使用它,但是 是 一个快速和肮脏的解决方案,但它相当丑陋和计算上更昂贵。你可以使用这个功能 NUM2CELL 要沿着数组的维度将值收集到单元格数组的单元格中,然后使用函数将函数应用于每个单元格 CELLFUN :
|
![]() |
2
6
我写了一个名为“vecfun”的助手函数,如果这是你想要实现的,它可能对这个有用。 |
![]() |
3
4
你可以使用 BSXFUN 至少你的一些任务。它通过展开大小为1的维度来匹配另一个数组中的大小,从而在两个数组之间执行元素操作。“淡红色”功能将变为
以上所有的陈述都要求工作的第三个维度是
|
![]() |
4
3
如果您一直试图将函数应用于由图像块中的三维组成的向量,我建议您使用一对重塑,例如:
这样,您就可以交换在矩阵第一维上操作的任何函数。 编辑。 如果输入只有一层的图像,上面的代码将崩溃:下面的函数可以修复它。
|
![]() |
5
2
好吧,如果你只关心向量相乘,你可以用点积,就像这样:
注意向量的形状要一致。 |
![]() |
SH_IQ · 在MATLAB条形图中为特定条形图颜色添加其他图例 6 月前 |
![]() |
Vlad Vadean · Matlab数组乘法 6 月前 |
![]() |
Catalin Baba · 如何在MATLAB中连接两个向量 6 月前 |
![]() |
servoz · 在matlab和python中创建类似的矩阵对象 12 月前 |
![]() |
CircAnalyzer · MATLAB中字符串的十进制数列表 1 年前 |
![]() |
I Like Algebra · 在Julia中交换行的最简单方法 1 年前 |