MATLAB Answers

Minimizing cumulative error.

9 views (last 30 days)
Piotr Lenarczyk
Piotr Lenarczyk on 18 Dec 2017
Commented: Rena Berman on 26 Dec 2017
Please do consider separate accumulation within loops with periodical usage of C++:
typedef struct
{
float someFloat;
long long unsigned int extractMedianValue = 0;
} separateAccumulate;
Please consider making function for providing single as default Matlab variable.

  2 Comments

Jan
Jan on 18 Dec 2017
It is not clear what you are asking for. Matlab default type is double and you cannot change this. If you question concerns C++, this is the wrong forum.
Rena Berman
Rena Berman on 26 Dec 2017
(Answers Dev) Restored edit

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 18 Dec 2017
As indicated in your other Question, changing the default type can be done with
feature('SetPrecision', 24)
However, this is at odds with "minimizing cumulative error": you can reduce cumulative error by using higher precision variables.
Heavy use of exclusively single precision values is typically associated with deep learning and Recurrent networks. Those are, however, typically computed on GPU, in which case you would need a version of NVIDIA's deep learning GPU kernels written using algorithms to minimize cumulative errors; routines at the MATLAB level would not be useful in that situation.
When I look at your C++ code, it does not appear to me that you are using Donal Knuth's algorithm from The Art Of Computer Programming; you should consider using that. Unfortunately in the time I spent searching I do not happen to find a link to it.

  0 Comments

Sign in to comment.

Products


Translated by