7 views (last 30 days)
Mehmet Volkan Ozdogan on 22 Jul 2019
Answered: Roshni Garnayak on 5 Aug 2019
Hi,
i have a data set like shown in figure1,
I try to create a new interpolate data between each sequential two data points with interp1 (one point for each sequential two data points) and the result are given in figure 2. Although i have 100 data the interpolated data are 57. It have to be 99.
It is obviously shown from figure 2 that it did not calculate interpolate data for sequential two data points. Especially sides do not have any interpolated data. What will be the solution
Thank you..
Vxi = min(Vx):0.1:max(Vx);
Vyi = interp1(Vx,Vy,Vxi, 'nearest');
plot(Vxi,Vyi, 'o')
FIGURE 1
FIGURE 2
Mehmet Volkan Ozdogan on 24 Jul 2019
Actually, input data is 3D then i used Kmeans alg. and then get 2D data for newVar ("x") and newVar2 ("*") variable, and newVar5 (O) is the mean of newVar and newVar2. They are all 2D coordinates. "X" forms the orginal cross section data of a rectangular shape, "*" is the deformed shape of same rectangular cross section. I try to find the deformation of original data ("X"). So i wanted to draw a line between O-X and * to neighbour * and then find the intersection point of these lines.And i wanted to do this for all cross section. This intersection points give me the where the original data ("X") go in second cross section.
Also you can find the data in attachment.
Thank you...

Roshni Garnayak on 5 Aug 2019
The interp1 function performs 1D interpolation and computes one y-value for the corresponding x-value. Due to this only one point is computed in the x : x+0.1 range even when a number of data points are clustered in that range.
A possible solution is to use variable interval size for Vxi. The intervals where more data points are located can be assigned smaller interval size and the intervals with lesser number of points can be allotted larger interval size.