make function from matrix

2 visualizzazioni (ultimi 30 giorni)
nader
nader il 24 Mar 2025
Commentato: Stephen23 il 31 Mar 2025
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 Commenti
John D'Errico
John D'Errico il 24 Mar 2025
Modificato: John D'Errico il 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.

Accedi per commentare.

Risposte (1)

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

Community Treasure Hunt

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

Start Hunting!

Translated by