我是靠谱客的博主 孝顺饼干,最近开发中收集的这篇文章主要介绍matlab矩阵运算代替for循环,如何在没有for循环的情况下在matlab中将矩阵提升为幂向量?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有一个2×2矩阵,我想在每次乘法后存储结果时自己乘以10次.这可以通过for循环轻松完成,但我想将它矢量化为消除for循环.我的方法是让我的2×2矩阵a并将其提升为元素1:10的向量b.答案应该是2x2x10矩阵,可以复制打字

a^b(1)

a^b(2)

.

.

.

a^b(10)

为了澄清我没有明智地做这个元素,我需要实际的矩阵乘法,而不想使用for循环.感谢你给与我的帮助.

最佳答案 这是给你的代码.我使用cellfun来做这个,我在代码的每一行后都有注释.它可以从任意矩阵m的自乘的fisrt-n阶计算和存储.如果您有任何疑问,请随时提出.

function m_powerCell = power_store(m, n) %m is your input matrix, n is the highest power you want to reach

n_mat = [1:n]; %set a vector for indexing each power result in cell

n_cell = mat2cell(n_mat,1,ones(1,n)); %set a cell for each of the power

m_powerCell = cellfun(@(x)power(m, x), n_cell, 'uni', 0); %compute the power of the matrix

end

%this code will return a cell to you, each element is a matrix, you can

%read each of the matrix by m_powerCell{x}, x represents the xth order

最后

以上就是孝顺饼干为你收集整理的matlab矩阵运算代替for循环,如何在没有for循环的情况下在matlab中将矩阵提升为幂向量?...的全部内容,希望文章能够帮你解决matlab矩阵运算代替for循环,如何在没有for循环的情况下在matlab中将矩阵提升为幂向量?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部