Multiply two griddedInterpolant functions

4 Ansichten (letzte 30 Tage)
Anita Capelli
Anita Capelli am 25 Okt. 2021
Bearbeitet: Anita Capelli am 25 Okt. 2021
I have some data and I have interpolated them using the function griddedInterpolant. Now, let's suppose I end up with f and g from the previous interpolation. What I want to do now is fun = f*g. I can I do that?
Thanks
Anita

Akzeptierte Antwort

Bjorn Gustavsson
Bjorn Gustavsson am 25 Okt. 2021
If you have 2 functions f(x,y) and g(x,y) you can evaluate the product on your selected grid-points and multiply them:
fx_at_xy = f(x,y).*g(x,y);
or you can create a function that multiplies the two:
f_times_g = @(x,y) f(x,y).*g(x,y);
and use that one - this should (at least ought to) be more convenient when for example integrate over some region in the x-y-plane.
HTH
  1 Kommentar
Anita Capelli
Anita Capelli am 25 Okt. 2021
Bearbeitet: Anita Capelli am 25 Okt. 2021
I couldn't do it like this. So I changed and I used instead of griddedInterpolant interp1 creating an handle function. Therefore, supposing to have data_x = [], data_y = [], I created f = @(x) interp1(data_x,data_y,x). The same for g. How should I multiply them? I was doing
h = @(x) f(x).*g(x)
but it says Array indices must be positive integers or logical values.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by