I am using a multidimentional wave where there is 1 wave and 80 columns. because of this, i cannot use Analysis --> Curve Fitting --> Data Options, masking.
Is there anyway to write a line into a procedure where I would be able to mask all values greater than 10,000 within one specific wave (say Wave0[3])?
I am using a multidimentional wave where there is 1 wave and 80 columns. because of this, i cannot use Analysis --> Curve Fitting --> Data Options, masking.
Are you fitting, for instance, one column from the 80-column matrix? The Curve Fit dialog doesn't support that at all, but on the command line (and consequently, in procedures) you can use subranges to extract any subrange for any purpose. So you can use something like
FuncFit ... M90[][0]/X=M80[][1]/M=M80[2]
Here I am extracting one column from a matrix wave called M80 for each place in the fit command where a wave is needed.
If you are doing a multivariate fit, and you have a mask wave of the same size and shape, you should be able to select your mask wave in the Curve Fit dialog.
Quote:
Is there anyway to write a line into a procedure where I would be able to mask all values greater than 10,000 within one specific wave (say Wave0[3])?
Do you mean "one specific column"? So if Wave0 is your 80-column matrix, and you want to use column 3 to mask out all values above 10000, you might write this (assume your Y data is stored in column 0):
Is there anyway to write a line into a procedure where I would be able to mask all values greater than 10,000 within one specific wave (say Wave0[3])?
You could loop over the original wave as part of the procedure and
write all values that fulfil your criterion into the new 1d-wave.
However that takes two for-loops and may may take a long time.
Not the most elegant way and but it works.
This may not be the best place for posting this: However, I would greatly appreciate the possibility to use a mask wave for 1d and multi-dim waves in conjunction with a wider range of commands than currently possible, such as display or appendtograph. I know that display works with ranges, but that's not always feasible.
Are you fitting, for instance, one column from the 80-column matrix? The Curve Fit dialog doesn't support that at all, but on the command line (and consequently, in procedures) you can use subranges to extract any subrange for any purpose. So you can use something like
Here I am extracting one column from a matrix wave called M80 for each place in the fit command where a wave is needed.
If you are doing a multivariate fit, and you have a mask wave of the same size and shape, you should be able to select your mask wave in the Curve Fit dialog.
Do you mean "one specific column"? So if Wave0 is your 80-column matrix, and you want to use column 3 to mask out all values above 10000, you might write this (assume your Y data is stored in column 0):
wave0[][3] = wave0[p][0] < 10000
FuncFit ... /M=wave0[][3]
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
July 13, 2010 at 01:49 pm - Permalink
You could loop over the original wave as part of the procedure and
write all values that fulfil your criterion into the new 1d-wave.
However that takes two for-loops and may may take a long time.
Not the most elegant way and but it works.
This may not be the best place for posting this: However, I would greatly appreciate the possibility to use a mask wave for 1d and multi-dim waves in conjunction with a wider range of commands than currently possible, such as display or appendtograph. I know that display works with ranges, but that's not always feasible.
July 23, 2010 at 01:26 am - Permalink
I think you might mean ...
Note the additional [] in the /M=... flag.
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
July 23, 2010 at 03:37 am - Permalink
Yup!
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
August 2, 2010 at 04:29 pm - Permalink