File Exchange

image thumbnail

Error Propagation Class

version 1.0 (5.7 KB) by

This class automatically performs error propagation in Matlab expressions.



View License

This class, called "meas" (meaning measurement with uncorrelated error), contains two elements. A "meas" can be created with the constructor function:

>> d = meas();

and values can be assigned to the two elements.

>> d.value = 1;
>> d.error = .3;

The values can also be displayed:

>> d
1 +/- 0.3

I overloaded the +,-,*,/,^,>,<,==,>=,<= operators to perform the error propagation for each of these operators. The comparison operators work to within 1-sigma. For example, (1.0 +/- .3) == (.9 +/- .3) would return "true".

In this early version, this only works for single numbers, and just for the operators listed above. In the future, I plan to overload many common functions (sin(x) and such...), and make support for matrices and arrays. Comments and changes are most welcome, especially since this is my first Matlab code in which I have made my own class.

Thanks to Kevin Murphy's site,
for helpful basic information on writing a class.

Comments and Ratings (5)

Thank you for this class. But I think there are some things to watch. Try z=meas(3,1) and then z/z.

belhaoua abdelkrim

Thank you! It's a very interesting class and very useful.

Kenneth Wong

Thank you for this useful class!

May I suggest adding functionality to perform multiplication of scalars with "meas"s? i.e. 10 * d = 1 +/- 3

Thanks again!

Thomas Pieper

Excellent idea! Please, please continue to expand the class furthermore. Thank you!

Dimitri Shvorob

It's 'propAgation'.

MATLAB Release
MATLAB 7.4 (R2007a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video