How to apply calculation over multiple columns in a matrix

Hello,
I have a matrix (1503x7) where each column is a time series data. I need to apply the following calculation to each column in my matrix, so that each time data serie (each column) will be normalized to 100 points:
x = linspace(0,100,length(presentMatrix));
y = 0:100;
newMatrix= spline(x,presentMatrix y);
Any suggestion how to do it? Thank you!!!!!!

 Réponse acceptée

Matt J
Matt J le 15 Sep 2023
Modifié(e) : Matt J le 15 Sep 2023
The code you've posted already does it, after transposition.
x = linspace(0,100,length(presentMatrix));
y = 0:100;
newMatrix= spline(x,presentMatrix', y)';

2 commentaires

I'd use height(presentMatrix) rather than length(). If this is every applied to a matrix that is wider than it is tall, this will fail.
Thanks Matt, it did work, in my code I just missed to add ' to define the transpose!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by