Effacer les filtres
Effacer les filtres

How can I increase the the number of data-points in a scattered data set?

79 vues (au cours des 30 derniers jours)
I have a 461 by 3 matrix in which the first column is x coordinates, second one y and third one z coordinates. The values of the elements of z column is o. (i.e it is actually 2D data but I need 3D data for further calculation so I kept the third column.). The values of the data set are scattered values.
Now I want to get more coordinate values (x,y,z) within this data set. The z values will be zero.
Can I use the function interp1/2/3??? how??
My main problem is achieving the coordinate matrix with all (prev.+interpolated) values. The interp function shows the value of a desired point, but I do not need that.
Thanks in advance.

Réponse acceptée

David Sanchez
David Sanchez le 8 Juil 2013
M=rand(50,3);
M(:,3) = 0;
M = sort(M,1,'ascend');
% double the data in X column
x_extended = interp(M(:,1),2);
% dobule the data in Y column
y_extended = interp(M(:,2),2);
% new data containing all data
M_new = [x_extended, y_extended, zeros(100,1)];

Plus de réponses (3)

Kheya Banerjee
Kheya Banerjee le 8 Juil 2013
David, thank you very much. It woks perfectly! (as far as the data set is long enough)

Kheya Banerjee
Kheya Banerjee le 8 Juil 2013
David, there is a small problem. as I am considering the data as coordinates, (x,y), the actual data points become changed when you sorted it, isn't it right??
is there any way to keep the data combinations same???? i.e. x point and y point of a particular row (of the given data sheet) remains in the same row after interpolating,too.
Can you help me in this matter?

David Sanchez
David Sanchez le 8 Juil 2013
Just skip the sort command, I did it for testing purposes. The interp will create new point in between every consecutive pair of data:
M = my_50x3_data_matrix;
x_extended = interp(M(:,1),2);
% dobule the data in Y column
y_extended = interp(M(:,2),2);
% new data containing all data
M_new = [x_extended, y_extended, zeros(100,1)];
  1 commentaire
Shins K
Shins K le 2 Juil 2022
When I used the same code, I am getting the error message "Unrecognized function or variable 'interp'". Could you please let me know why it is so, if you know?

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by