c/c++语言开发共享Matlab如何实现矩阵复制扩充

考虑这个问题:定义一个简单的行向量a如何复制10行呢?即:同理,对于一个列向量,如何复制 10 列呢?关键函数1:repmat( a , m , n ):将向量/矩阵在垂直方向复制m次,在水平方向复制


考虑这个问题:

定义一个简单的行向量a

Matlab如何实现矩阵复制扩充

如何复制10行呢?即:

Matlab如何实现矩阵复制扩充

同理,对于一个列向量,如何复制 10 列呢?

关键函数1:

repmat( a , m , n ):将向量/矩阵在垂直方向复制m次,在水平方向复制n次。

Matlab如何实现矩阵复制扩充

再举一个例子,对于 a =[1 2;3 4]:

Matlab如何实现矩阵复制扩充

垂直方向复制3次,水平方向复制2次,结果是:

Matlab如何实现矩阵复制扩充

接下来进阶一下,玩点复杂的。对于 a = [1 2;3 4],如何变成下面这样:

Matlab如何实现矩阵复制扩充

关键函数:

kron( a , b ) :对 a 的每一个元素 e,都数乘b矩阵,构成新的矩阵。具体用法可以doc kron。

引用 matlab 的帮助文档,对于 a 和 b,kron(a,b) 的图示如下:

Matlab如何实现矩阵复制扩充

回到上面的问题,对于 a=[1 2;3 4],

Matlab如何实现矩阵复制扩充

matlab中x0=[x0,x0] 矩阵扩展

就是说对矩阵x0进行扩展,左右各一个x0组成的新的矩阵赋值给x0。

比如:

  x0=[1,2;3,4]  x0 =         1     2       3     4    x0=[x0,x0]  x0 =         1     2     1     2       3     4     3     4

以上为个人经验,希望能给大家一个参考,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

需要了解更多c/c++开发分享Matlab如何实现矩阵复制扩充,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/634501.html

(0)
上一篇 2021年6月2日
下一篇 2021年6月2日

精彩推荐