Interpolate big array to match length of smaller array?
显示 更早的评论
I am trying to do some array math, but my arrays are different sizes. I tried to interpolate the larger array, tau, (13795 x 1) to match the length of the smaller one, rho, (105 x 1). Neither data set is linear. I tried to do 1D interpolation with interp1(...) function but got the following error: "error using GriddedInterpolant The grid vectors do not define a grid of points that match the given values"
My end goal is to get the longer tau array to be (105 x 1).
6 个评论
jonas
2018-9-25
How did you use interp1?
Marissa Menzel
2018-9-25
Jake Gonzalez
2018-9-25
Are tau and rho different sizes because they are being sampled at different rates?
Correct me if I am wrong, but wouldn't you need to know the meaning of each values index in order to appropriately interpolate one data-set relative to the other?
jonas
2018-9-25
rho and tau are functions of what? Some x vector I assume?
Marissa Menzel
2018-9-25
jonas
2018-9-25
Measured over what? Over time? Over a geometry? Why are they different size?
回答(1 个)
You need an x vector for interp.
tau_new=interp1(X_tau,tau, X_rho)
tau_new is the interpolated vector
2 个评论
Marissa Menzel
2018-9-25
Can you upload and describe the data? You said you got the data from a table. What does the row number of the table represent? Is there a time associated with the values or perhaps a geometry? rho and tau must surely be functions of something right? Unless of course they are repeated measurements to get a measure of their distributions. In this case it is however senseless to interpolate.
Anyway, I am not supposed to figure it out.
类别
在 帮助中心 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!