基于matlab处理时序数据总结

从python读取的数据导入excel之后,我从matlab导入excel数据,发现导入的数据是cell型矩阵,无法处理。
》 weight1
weight1 =
95×2 cell 数组
‘2019/12/23 15:30:28’ ‘13.8’
‘2019/12/23 15:41:07’ ‘14.4’
经过查找相关资料,我发现是需要对cell进行转换。我的原始数据是两列,一列是时间数据,一列是数值数据。首先转换数值数据,利用函数cell2mat
weight4=cell2mat(weight1(:,2))
转换成的weight4为4位char数据。最后还是需要转换:
m=str2num(weight4); %%最终得到m是数值;
接着转换时间数据,转换之后出错:
m1=cell2mat(weight1(:,1))
错误使用 cat,串联的矩阵的维度不一致。
出错 cell2mat (line 83)
m{n} = cat(1,c{:,n});

经过查找,解决的代码如下:
m1=char(weight1(:,1)) %不适用cell2mat函数,而使用char函数;
转换之后的m1是一个多维字符型数组;
接着要将m1转换成时间数组,应用datavec函数;
t2=datevec(m1);
最后转换成时间变量:
t1=datetime(t2(1,1),t2(2,1),t2(3,1),t2(1,1),t2(2,1),t2(3,1))
最终结果:
t1 =
datetime
2019-12-23 15:30:28
%%datatime变量可以用在plot函数中;

自注意力机制(Self-Attention Mechanism)是一种用于处理序列数据的机制,能够将序列中的每个元素与其他元素进行交互,以便从全局上对序列进行建模。在自注意力机制中,每个元素都被表示为一个向量,该向量是通过将该元素与序列中所有其他元素的加权和得到的。这个权重是通过计算元素之间的相似度来确定的。 下面是一个基于MATLAB时序数据自注意力机制的代码: ```matlab function [output] = SelfAttention(input, dk, dv) % input: 输入矩阵,大小为 [batch_size, seq_length, feature_size] % dk: Q,K 向量的维数 % dv: V 向量的维数 % output: 输出矩阵,大小为 [batch_size, seq_length, dv] batch_size = size(input, 1); seq_length = size(input, 2); % 计算 Q,K,V 矩阵 Q = input * randn(size(input, 3), dk); K = input * randn(size(input, 3), dk); V = input * randn(size(input, 3), dv); % 计算相似度 S = zeros(batch_size, seq_length, seq_length); for i = 1:batch_size for j = 1:seq_length for k = 1:seq_length S(i,j,k) = dot(Q(i,j,:), K(i,k,:)) / sqrt(dk); end end end % 计算权重 A = softmax(S, 3); % 计算输出矩阵 output = zeros(batch_size, seq_length, dv); for i = 1:batch_size for j = 1:seq_length for k = 1:dv output(i,j,k) = dot(A(i,j,:), V(i,:,k)); end end end end ``` 在这个代码中,输入矩阵包含了序列中每个元素的特征向量,该向量的大小为 [batch_size, seq_length, feature_size],其中 batch_size 表示批次大小,seq_length 表示序列长度,feature_size 表示每个元素的特征向量维数。 首先,通过随机生成 Q,K,V 向量,计算相似度 S。然后,通过 softmax 函数计算权重 A。最后,通过加权和计算输出矩阵。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值