繁体   English   中英

在Matlab中不使用循环的预测编码?

[英]Predictive coding without using loops in Matlab?

我有一组数字,我想使用预测编码来获得该组数据的较小值,因为每个值与上一个之间的差异不应太大。 我只是非常简单地从一个期望值开始,即每个值将与最后一个值相同,然后存储错误。

对于一些简单的数据:

1 2 -3 1

我应该得到的价值是

1 1 -5 4

我进行这种压缩的方式是一行,但是要解压缩,我需要最后一个值,因此将其放入循环中。 有没有一种方法可以做到这一点,并且可能不需要使用Matlab循环就可以进行更复杂的预测(更多地只是看最后一个值)。

正如@Divakar所建议的那样,可以通过以下方式构造新值

B = [A(1) diff(A)];

从上述结果中获取与上述过程相反的结果是通过

A = cumsum(B);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM