make function from matrix

hi, i have some earthquake records matrix (time, acceleration), it contains about 3000 rows and 2 column, I need a f(x) function like a(time) which return acceleration of that time.

2 commentaires

John D'Errico
John D'Errico le 24 Mar 2025
Modifié(e) : John D'Errico le 24 Mar 2025
This vague question (lacking any data) is effectively impossible to answer, without trying to teach you the content of an entire course (or several courses) on interpolation, curve fitting, modeling, approximation, regression technizues, time series analysis, perhaps Fourier methods. I'm sure I left something out here. It will depend on the character of your data, the noise structure, and what you will do with the result. And all of that before you begin to think about code, writing anything in MATLAB.
You might start by looking at the tools in the curve fitting toolbox though. Your task will be in deciding first what kind of modeling you will do. How do you need to treat what must surely be noisy data, given the source.

Connectez-vous pour commenter.

Réponses (1)

Torsten
Torsten le 24 Mar 2025
t = linspace(0,10,3000).';
a = rand(3000,1);
f = @(x)interp1(t,a,x);
f(8.336)
ans = 0.1152

Catégories

Question posée :

le 24 Mar 2025

Commenté :

le 31 Mar 2025

Community Treasure Hunt

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

Start Hunting!

Translated by