在matlab中,我之前使用的是zscore对矩阵a进行归一化处理,得到了归一化的矩阵A,再对A经过一系列计算得到了和矩阵A行列数量不相同的矩阵B。现在想要对B进行反归一化处理应该怎么操作
时间: 2024-03-13 09:46:56 浏览: 52
归一化和反归一化matlab程序
5星 · 资源好评率100%
反归一化的操作与归一化的操作类似,只是需要使用到原始数据的均值和标准差。假设你的原始数据是矩阵 `a`,经过 `zscore` 归一化处理得到矩阵 `A`,然后经过一系列计算得到了矩阵 `B`。那么,反归一化的步骤如下:
1. 计算矩阵 `A` 的均值和标准差:
```
mu = mean(a);
sigma = std(a);
```
2. 对矩阵 `B` 进行反归一化处理:
```
B = B .* repmat(sigma, size(B,1), 1) + repmat(mu, size(B,1), 1);
```
这里使用了 `repmat` 函数将均值和标准差扩展成与 `B` 相同的大小,然后使用点乘 `.*` 将其应用到 `B` 上,得到反归一化后的矩阵 `B`。
阅读全文