make function from matrix

2 views (last 30 days)
nader
nader on 24 Mar 2025
Commented: Stephen23 on 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 Comments
John D'Errico
John D'Errico on 24 Mar 2025
Edited: John D'Errico on 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.

Sign in to comment.

Answers (1)

Torsten
Torsten on 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!