How to save a maxtrix created by for loop

1 visualizzazione (ultimi 30 giorni)
jaehun chung
jaehun chung il 14 Mar 2023
Modificato: Biraj Khanal il 19 Mar 2023
The code below is what I write to interpolate the function.
To plot the interpolated function, I think fx should be saved in 49 columns.
How can I put fx in a matrix? (1 row and 49 columns)
--------------------------------------------------------
x=linspace(-2,2,13);
xi=linspace(-2,2,49);
f= 3*x.^2 + 8*x;
m = [-1 -0.5 0 0.5 1];
fx=zeros(size(xi));
for i = 1 : length(x) -1
for j = 1 : length(m)
fx = f(i) * (1-m(j)) / 2 + f(i+1) * (1+m(j)) / 2
end
end
plot(xi,fx,'*-')

Risposte (1)

Biraj Khanal
Biraj Khanal il 14 Mar 2023
Is this what you are trying to do?
x=linspace(-2,2,13);
xi=linspace(-2,2,49);
f= 3*x.^2 + 8*x;
fx = interp1(x,f,xi);
plot(xi,fx)
  2 Commenti
jaehun chung
jaehun chung il 16 Mar 2023
thanks but it is not what I want.
Im trying to plot the interpolated function without using 'interp1'.
Biraj Khanal
Biraj Khanal il 19 Mar 2023
Modificato: Biraj Khanal il 19 Mar 2023
Your length(x) -1 is 12 and length(m) is 5. hence if you put fx in a matrix by assigning a counter c and increase it in every iteration, you would obtain fx with 60 elements. I am not sure how you are trying to relate it with xi. Can you clarify?

Accedi per commentare.

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by