I have large datasets that are larger than 2-D that are typically used with the interpn function in matlab (multi-dimensional table lookup). Since AdiGator errors for arrays larger than 2-D, what are solutions to reduce the number of dimensions of the datasets?
I am currently exploring machine learning/regression techniques to approximate the datasets to a high order polynomial. So far, the model approximations that I have produced have large deviations from the datasets.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry for the late reply here. I looked at this awhile back and I could not come up with a good solution for dealing with multi dimensional interpolation. My standard answer for multi-dimensional data is to just compress it to 2D.. Two possible workarounds:
Compress the data to 2D, and write your own interpn routine that works off of this.
Use nested cells/structures and write your own interpn routine..
Either way I think you will run into issues with adigator's referencing/indexing limitations within loops.
I think ideally what is needed is the ability for a user to supply their own derivative rules for called subfunctions or to flag subfunctions to be differentiated with finite differences to work around some of these limitations. In the meantime, I am sorry I do not have a good answer.
Matt W.
Last edit: Matthew J. Weinstein 2018-03-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have large datasets that are larger than 2-D that are typically used with the interpn function in matlab (multi-dimensional table lookup). Since AdiGator errors for arrays larger than 2-D, what are solutions to reduce the number of dimensions of the datasets?
I am currently exploring machine learning/regression techniques to approximate the datasets to a high order polynomial. So far, the model approximations that I have produced have large deviations from the datasets.
Hi Daniel,
Sorry for the late reply here. I looked at this awhile back and I could not come up with a good solution for dealing with multi dimensional interpolation. My standard answer for multi-dimensional data is to just compress it to 2D.. Two possible workarounds:
Either way I think you will run into issues with adigator's referencing/indexing limitations within loops.
I think ideally what is needed is the ability for a user to supply their own derivative rules for called subfunctions or to flag subfunctions to be differentiated with finite differences to work around some of these limitations. In the meantime, I am sorry I do not have a good answer.
Matt W.
Last edit: Matthew J. Weinstein 2018-03-24