Advertisement
Guest User

Untitled

a guest
Nov 5th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 1.43 KB | None | 0 0
  1. n=20
  2. x=[0:6/(n-1):6]
  3. y=0
  4. for i=1:n
  5.     y(i)=5
  6.     //print("F:\y(i).txt",y(i))
  7. end
  8. w=poly([1], "x", "c")
  9. function my = My(i)
  10.     my=exp(sin(x(i)))
  11. endfunction
  12.  
  13. function myfunc = Funct(i)
  14.     myfunc=poly([1],"x", "c")
  15.     for j=1:n
  16.         if j~=i then
  17.             myfunc1=poly([-x(j)/(x(i)-x(j));1/(x(i)-x(j))], "x", "c")
  18.             myfunc = myfunc*myfunc1
  19.         end    
  20.     end
  21. endfunction
  22.  
  23. function Lagrange = Lag()
  24.     Lagrange=poly([0],"x", "c")
  25.     for i=1:n
  26.         yLi=Funct(i)
  27.         my=My(i)
  28.         Lagrange=Lagrange+yLi*my
  29.     end
  30. endfunction
  31.  
  32. function razdrazn = RazdRazn (k)
  33.     razdrazn=0
  34.     if k == 1 then
  35.         razdrazn=My(1)
  36.     end
  37.     if  k>1 then
  38.         for j=1:k
  39.             for l=1:n
  40.                 if l~=j
  41.                     l1=(x(j)-x(l))
  42.                 end
  43.             razdrazn=razdrazn+My(j)/l1
  44.             end
  45.         end
  46.     end
  47. endfunction
  48.  
  49. function w = W(i)
  50.     if i==1 then
  51.     end
  52.     if i>1 then
  53.         w1=poly([x(i)], "x", "r")
  54.         w=w*w1
  55.     end
  56. endfunction
  57.  
  58. function Newton = MyNew()
  59.     Newton=poly([0], "x", "c")
  60.     for i=1:n
  61.         Newton=Newton+RazdRazn(i)*W(i)
  62.     end
  63. endfunction
  64.  
  65. Newton=MyNew
  66. Lagrange=Lag()
  67. roots(Lagrange)
  68. _nodes = [0:1/10000:6]
  69. value_calc = horner(Lagrange,_nodes)
  70. value_calcNewt = horner(Newton,_nodes)
  71. plot(_nodes, value_calc, "red")
  72. plot(_nodes, value_calcNewt, "green")
  73. plot(_nodes, exp(sin(_nodes)), "blue")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement