Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n=20
- x=[0:6/(n-1):6]
- y=0
- for i=1:n
- y(i)=5
- //print("F:\y(i).txt",y(i))
- end
- w=poly([1], "x", "c")
- function my = My(i)
- my=exp(sin(x(i)))
- endfunction
- function myfunc = Funct(i)
- myfunc=poly([1],"x", "c")
- for j=1:n
- if j~=i then
- myfunc1=poly([-x(j)/(x(i)-x(j));1/(x(i)-x(j))], "x", "c")
- myfunc = myfunc*myfunc1
- end
- end
- endfunction
- function Lagrange = Lag()
- Lagrange=poly([0],"x", "c")
- for i=1:n
- yLi=Funct(i)
- my=My(i)
- Lagrange=Lagrange+yLi*my
- end
- endfunction
- function razdrazn = RazdRazn (k)
- razdrazn=0
- if k == 1 then
- razdrazn=My(1)
- end
- if k>1 then
- for j=1:k
- for l=1:n
- if l~=j
- l1=(x(j)-x(l))
- end
- razdrazn=razdrazn+My(j)/l1
- end
- end
- end
- endfunction
- function w = W(i)
- if i==1 then
- end
- if i>1 then
- w1=poly([x(i)], "x", "r")
- w=w*w1
- end
- endfunction
- function Newton = MyNew()
- Newton=poly([0], "x", "c")
- for i=1:n
- Newton=Newton+RazdRazn(i)*W(i)
- end
- endfunction
- Newton=MyNew
- Lagrange=Lag()
- roots(Lagrange)
- _nodes = [0:1/10000:6]
- value_calc = horner(Lagrange,_nodes)
- value_calcNewt = horner(Newton,_nodes)
- plot(_nodes, value_calc, "red")
- plot(_nodes, value_calcNewt, "green")
- plot(_nodes, exp(sin(_nodes)), "blue")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement