我是靠谱客的博主 寂寞大神,最近开发中收集的这篇文章主要介绍matlab张量沿某一维展开,张量的展开与matlab下的工具包操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1张量的定义

在维基百科上,张量被定义为“一个多重线性映射”:

0818b9ca8b590ca3270a3433284dd417.png

这个可以理解为一个多维数组,当变换坐标或者变换基底的时候,其分量会按照一定的规则变换。

2.张量的模展开矩阵

在实际运算当中,我们有时需要对张量按照模展开矩阵。目的是对高维张量进行降阶,转换为矩阵进行运算。在张量的矩阵展开过程中,是对组成张量的所有阶按交错次序采样,并非简单地先采取某一阶的特征值在采取另一阶的特征值,而在整个采取过程中对不同阶的特征值进行混合交错采样,这样在采集过程中实现了张量不同阶特征值之间的传递和融合。

0818b9ca8b590ca3270a3433284dd417.png

具体以Element-wise的形式写出来就是(以一个A(4*3*2)的三阶张量为例):

对第一阶模展开

0818b9ca8b590ca3270a3433284dd417.png

A的第一阶模展开矩阵是一个(4x6)的矩阵,矩阵中的6列是第二阶和第三阶特征值交错取值得到的。

对三阶张量A的第二阶模展开矩阵:

0818b9ca8b590ca3270a3433284dd417.png

A的第二阶模展开矩阵是一个(3x8)的矩阵。

对三阶张量A的第三阶模展开矩阵:

0818b9ca8b590ca3270a3433284dd417.png

A的第三阶模展开矩阵是一个(2x12)的矩阵。

3.Tensor_Toolbox的安装与使用

3.1安装

下载之前可能需要简单的注册一下,提交相关的使用者基本信息,不难,应该能看得懂

可惜选择.zip压缩包或者是.tar.gz压缩包格式。安装的具体方法是:

(1).解压当前安装包;

(2).将tensor_toolbox_2.6改名为tensor_toolbox

(3).启动matlab,选择toolsbox所在的路径,然后在matlab的命令窗口中键入如下命令:

addpath(pwd) %将当前路径添加到matlab工作路径中去

cd met; addpath(pwd) %将子目录met也添加进来

savepath %为后续进程保存这两个路径如果安装成功的话,可以在Help窗体中看到TensorToolBox的帮助文章名称

0818b9ca8b590ca3270a3433284dd417.png

3.2使用Tensor Toolbox

随机生成稀疏张量

0818b9ca8b590ca3270a3433284dd417.png

R=sptenrand([5 4 2],12)

上述命令生成一个5*4*2维的随机稀疏张量,随机值分布在相应的下标位置上。

0818b9ca8b590ca3270a3433284dd417.png

对稀疏张量分别进行模-1,模-2,模-3的展开(Unfolding)

%对生成的张量R按照mode-1,mode-2,mode-3 Unfolding

tenmat(R,1);

tenmat(R,2);

tenmat(R,3);通过结果可以理解张量的具体展开方式

0818b9ca8b590ca3270a3433284dd417.png

后面还要进一步采用张量分析进行实例数据的处理。

最后

以上就是寂寞大神为你收集整理的matlab张量沿某一维展开,张量的展开与matlab下的工具包操作的全部内容,希望文章能够帮你解决matlab张量沿某一维展开,张量的展开与matlab下的工具包操作所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部