我必须使用什么函数或循环来平均矩阵?
我想求所有矩阵的平均值:
Data=(Data{1}+......+Data{n})/n) 其中 Data{n} 是 m*n 的矩阵..
非常感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想求所有矩阵的平均值:
Data=(Data{1}+......+Data{n})/n) 其中 Data{n} 是 m*n 的矩阵..
非常感谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
首先,将元胞数组转换为 3D 数组,然后可以取平均值,如下所示:
注意:如果您以这种方式遇到内存问题,并且不需要保留变量
Data
周围,您可以用Data
替换tmp
,一切都会正常工作。或者,如果
Data
只是 am*n 数值数组First, you convert your cell array into a 3D array, then you can take the average, like this:
Note: if you get memory problems this way, and if you don't need to keep the variable
Data
around, you can replacetmp
withData
and all will work fine.Alternatively, if
Data
is simply a m*n numeric array如果您的元胞数组非常大,您可能希望避免使用上述解决方案,因为它占用内存。然后,我建议使用 Matlab Central 提供的实用程序
mtimesx
,此处。在上面的示例中,我假设 Data 是线形元胞数组。我个人从未使用过
mtimesx
,这个解决方案来自那里< /a>,其中还讨论了时间问题。希望这有帮助。
一个。
If your cell array is really big, you might want to keep away from the above solution because of its memory usage. I'd then suggest using the utility
mtimesx
which is available from Matlab Central, here.In the above example, I assumed that Data is a line-shaped cell array. I have never used personally
mtimesx
, this solution comes from there, where timing issues are also discussed.Hope this helps.
A.