Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.24 KB | None | 0 0
  1. clc; % выполняет очистку командного окна
  2. clear; % выполняет очистку рабочей области
  3.  
  4. a=0.3;
  5. b=8.7;
  6. n=10;
  7. x_s=10;
  8. h=(b-a)/10;
  9.  
  10. x1=h*(b+a);
  11. x2=0.3*(b-a)+2*h;
  12. f=@(x) (sin(x)+0.5*cos(2*x)+0.5*x);
  13. x = zeros(1,n);
  14. y = zeros(1,n);
  15.  
  16. for i=1:n %1сп
  17. x(i)=a+i*h;
  18. y(i)=f(a+i*h);
  19. end;
  20.  
  21. % for i=1:n %2сп
  22. % q=b/(n-1);
  23. %
  24. % x(i)=q*(i-1);
  25. %
  26. % y(i)=f(x(i));
  27. % end;
  28.  
  29. fprintf(' a=%g\n b=%g\n h=%g\n i=%g\n ',a,b,h,i);
  30. disp('x=');
  31. disp(x);
  32. disp('y=');
  33. disp(y);
  34.  
  35. xx=linspace(min(x),max(x),x_s);
  36.  
  37. yy=0;
  38.  
  39. for z=1:2
  40. yy=0;
  41. for i=1:n
  42. P=1;
  43. for k=1:n
  44. if(i~=k)
  45. P=P.*(xx-x(k))./(x(i)-x(k));
  46. %.* - поэлементное умножение
  47. %./ - поэлементное деление
  48. end
  49. end
  50. yy=yy+y(i)*P;
  51. end
  52.  
  53. if(z==1)
  54. plot(x,y,'*r');
  55. hold on;
  56. plot(xx,yy);
  57. % e = zeros(1,n);
  58. % for t=1:n
  59. % e(t)=y(t)-yy(t);
  60. % end
  61. % % disp(yy);
  62. % phbka=max(abs(e));
  63. % fprintf('phbka=%g\n ',phbka);
  64. x(1)=x1;
  65. x(2)=x2;
  66. xx=[x1,x2];
  67. y(1)=f(x1);
  68. y(2)=f(x2);
  69. disp(x1);
  70. disp(x2);
  71.  
  72. disp(y(1));
  73. disp(y(2));
  74. n=2;
  75. end
  76.  
  77. end
  78. grid on
  79. plot(xx,yy,'bo');
  80. plot(xx,yy);
  81. fplot( '[sin(x)+0.5*cos(2*x)+0.5*x]',[0.3 8.7],0.0001)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement