How to spline 163 data points into 100 data points?

7 vues (au cours des 30 derniers jours)
Herald Grant
Herald Grant le 30 Avr 2024
Commenté : Herald Grant le 2 Mai 2024
I have a data set that is a "double" class 163x1 in a numeric matrix, I would like to spline this data into 100 points instead of 163 data points.
Although I have researched and checked on the 'Help' section of spline, I have followed it to the best of my abilities and I have searched here for answers, unfortunately I have not found my answer.
Furthermore, when I run through this code that I have created it says that "Index in position 2 is larger than array. This should be less than 1".
z = [lCOMz_FS1_1]';
x1 = 0:1:99;
y1 = linspace(z(1,1), z(1,163), 100);
COMz = spline(x1,y1);
plot(x1,y1,COMz)
I'd like to thank anyone in advance for such helping me on such a simple code.
  4 commentaires
Torsten
Torsten le 1 Mai 2024
Modifié(e) : Torsten le 1 Mai 2024
You want to interpolate - thus you have to make your z-data a function of 163 x-values. And in order to interpolate your data in 100 points, you have to specify 100 points somewhere in between these 163 x-values in which you want to do this.
Example:
x = linspace(0,1,163);
f = x.^2;
xinter = linspace(0,1,100);
finter = interp1(x,f,xinter,'spline');
hold on
plot(x,f)
plot(xinter,finter)
hold off
grid on
Herald Grant
Herald Grant le 1 Mai 2024
Thank you so much Torsten! You have helped out a lot! Thank you for the kind explanation and the example provided.
You have helped me out a lot, the code worked and it worked perfectly within my system!
I truly appreciate you helping out on such a simple task.
x = linspace(0,1,163);
z = lCOMz_FS1_1;
len = linspace(0,1,100);
CoMz_interp = interp1(x,z,len,'spline');
hold on
plot(CoMz_interp)
hold off
grid on
This code game me exactly what I needed! Thank you.

Connectez-vous pour commenter.

Réponses (2)

the cyclist
the cyclist le 30 Avr 2024
I expect you want to use the spline method in the interp1 function. It may be possible to give more specific help if you upload the data. (You can attach a MAT file using the paperclip icon from the INSERT section of the toolbar.)
  4 commentaires
the cyclist
the cyclist le 1 Mai 2024
I didn't see this comment until after Torsten seems to have solved your problem (using interp1!), so I guess you are all set.
Herald Grant
Herald Grant le 2 Mai 2024
Yeah Torsten did help a lot, but thank you to The Cyclist for reaching out as well! I appreciate the help either way.

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 1 Mai 2024
See attached demo. You can easily use new values for the descriptively-named variables in the demo to do what you want.

Catégories

En savoir plus sur Splines dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by