How to save a maxtrix created by for loop

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,'*-')

Answers (1)

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 Comments

thanks but it is not what I want.
Im trying to plot the interpolated function without using 'interp1'.
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?

Sign in to comment.

Categories

Asked:

on 14 Mar 2023

Edited:

on 19 Mar 2023

Community Treasure Hunt

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

Start Hunting!