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:
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.
Thank you for this class. But I think there are some things to watch. Try z=meas(3,1) and then z/z.
Thank you! It's a very interesting class and very useful.
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
Excellent idea! Please, please continue to expand the class furthermore. Thank you!