Interpolations and extrapolation of matrix.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Interpolations and extrapolation of matrix.
Hello,
Newly introduced to MathCAD Prime 6.0 here and I want to put the following image as a matrix. Then, write a program where, at any given roof angle, between 0-30, and 1) if solidity ratio is 0 or 1, then interpolate to get corresponding Cp value. 2) if solidity ratio is between 0 and 1, then do bi-linear interpolation to get a corresponding Cp value. 3) if solidity ratio is greater than 1, then extrapolate to get a corresponding Cp value.
Would really appreciate some help on how I could go about this. Thank you!
*EDIT* I have now been able to convert this data as a matrix. I used another thread as an example to be able to extract the roof angle matrix, Solidity ratio = [0 1] and the Cp values matrix. After this I am stuck on how to program the conditions stated above. Please refer to the mdcx file attached. Also familiar with the linterp, and interp functions. But unsure on how to use them for my requirements.
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I did not look at your sheet as it wasn't attached from the beginning.
Unfortunately you don't show in the sheet you attached how you used my function.
So my best guess is that you forgot to transpose y.
The row and column headers must both be (column)vectors.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Look up interpolation functions such as linterp(), interp() and spline functions.
Success!
Luc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hello, thank you for replying. I took a look at those functions earlier and added a worksheet to my original post with an update on what I did. Did something which seemed to work out but again hit another road block.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I guess the routine(s) I posted here
should help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hi, I actually used your and another person's feedback to create my solution. But in the f(x,y) values, when I input the values in the function, such as f(11,0). Then I get an error saying "this value must be a vector".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I did not look at your sheet as it wasn't attached from the beginning.
Unfortunately you don't show in the sheet you attached how you used my function.
So my best guess is that you forgot to transpose y.
The row and column headers must both be (column)vectors.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
You're absolutely right. I didn't transpose the "y" submatrix. Thank you very much for your help. Really appreciate it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
The Cp() function below may be what you are looking for.
Success!
Luc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Hello, thank you for your solution. It was just as helpful as the other person as it gave a better perspective in programming the solution. Really appreciate your feedback.