How to generate a function from x-y vectors?

248 views (last 30 days)
Hello MATLAB users. I got two vectors (say x and y). Is there any way to create a function i.e. y=f(x). I do not want the expression. I just want to create the function in matlab for further calculations. For ease: x=[1 5 0 32 8]; y=[10 1 654 32 100];
  2 Comments
Ajay Goyal
Ajay Goyal on 6 Feb 2017
If I do not get expression; its ok. I just want to create a funtion from these vectors so that further calculations like Fourier series etc can be done

Sign in to comment.

Accepted Answer

Nicolas Schmit
Nicolas Schmit on 4 Sep 2017
You question is not very clear, so I will try to guess what you are trying to do.
If you want to define a purely symbolic function f(x), use the following syntax.
syms f(x)
If you want to create a function from data points x and y, use the griddedInterpolant function to create a interpolation of x and y.
x=[1 5 0 32 8];
y=[10 1 654 32 100];
[~, index] = sort(x);
F = griddedInterpolant(x(index), y(index));

More Answers (3)

Yifan Ma
Yifan Ma on 6 Feb 2018
What you are looking for is map container. https://de.mathworks.com/help/matlab/ref/containers.map-class.html

Luca
Luca on 31 Mar 2020
Edited: Luca on 31 Mar 2020
Hi,
I have 2 vector (x, y) and I desire math expression y=f(x)
x must be syms. How to?
tnks
  2 Comments
Ajay Goyal
Ajay Goyal on 31 Mar 2020
both files has to be in the working folder

Sign in to comment.


Luca
Luca on 31 Mar 2020
Edited: Luca on 31 Mar 2020
For you.

Community Treasure Hunt

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

Start Hunting!

Translated by