MATLAB Answers

hey!! i am stuck here. i am new. help please.

1 view (last 30 days)
rana zain
rana zain on 22 Oct 2020
Edited: rana zain on 22 Oct 2020
my task is to do this:
i have wrote the codde as:
clc
clear all
xdata=linspace(-1,1,9);
ydata=1./(1+14*xdata.^2);
x=linspace(-1,1,1000);
y=lagrangeInterp(xdata,ydata,x);
plot(x,y,'b',xdata,ydata,'*r');
function [yhat]=lagrangeInterp(x,y,interpx)
X=x;
f=y;
x=interpx;
l=0;
for i=1:length(X)
li=1;
for j=1:length(X)
if i~=j
li=(li).*((x-X(j))/(X(i)-X(j)));
end
end
l=(l)+((li)*f(i));
end
yhat=l;
end
Can you tell me what will happen if we use nodes that are not equispaced in x. Instead,
use the Chebyshev nodes {xk}given by
xk = -cos(pi * k/n); k = 0, 1, ..... ,n

  0 Comments

Sign in to comment.

Accepted Answer

Andy
Andy on 22 Oct 2020
You do not say why this is wrong, the code runs. Is there an issue with the number of nodes and the linspace. The question says use n=9 (i.e. 10 nodes) but using xdata=linspace(-1,1,9); only generates 9 nodes. If you change to
xdata=linspace(-1,1,10);
This gives 10 nodes and perhaps the answer you are looking for.

  5 Comments

Show 2 older comments
rana zain
rana zain on 22 Oct 2020
got it!!
can you tell me what will happen if we use nodes that are not equispaced in x. Instead,
use the Chebyshev nodes {xk}given by
xk = -cos(pi * k/n); k = 0, 1, ..... ,n
Andy
Andy on 22 Oct 2020
Sorry, I can't help with that, I'm not familiar with use of the interpolation functions.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by