在Matlab中如何做(m,n,k)*(n,k)=(m,k)?

编程入门 行业动态 更新时间:2024-10-12 22:31:55
本文介绍了在Matlab中如何做(m,n,k)*(n,k)=(m,k)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我发现了以下相关问题: 乘法列MatLab中具有3d矩阵的2d矩阵切片的矩阵的计算

I have found this relevant question: Multiply columns of a matrix with 2d matrix slices of a 3d matrix in MatLab

我有同样的问题,但在我的情况下,每个切片的m可能有所不同.有没有一种方法可以使用 mtimesx ?因为m变化,所以我的3d张量存储为单元格列表,每个单元格都包含一个矩阵.而且我的2d矩阵是一个包含每个向量的单元格列表.

I have the same problem but in my case m can vary for each slice. Is there a way to do that with mtimesx ? Because m varies, my 3d tensor is stored as a list of cells, each containing a matrix. Also my 2d matrix is rather a list of cells each containing a vector.

有没有一种方法可以在没有for循环的情况下进行乘法运算?

Is there a way I can do this multiplication without a for loop?

推荐答案

由于您的数据已经存储在单元阵列中,因此您可以使用 cellfun

Since your data is already stored in cellarrays, you can use cellfun

res = cellfun( @(x,y) x*y, mnkCell, nkCell, 'UniformOutput', false );

更多推荐

在Matlab中如何做(m,n,k)*(n,k)=(m,k)?

本文发布于:2023-11-29 14:12:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1646616.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何做   Matlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!