Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc; % выполняет очистку командного окна
- clear; % выполняет очистку рабочей области
- a=0.3;
- b=8.7;
- n=10;
- x_s=10;
- h=(b-a)/10;
- x1=h*(b+a);
- x2=0.3*(b-a)+2*h;
- f=@(x) (sin(x)+0.5*cos(2*x)+0.5*x);
- x = zeros(1,n);
- y = zeros(1,n);
- for i=1:n %1сп
- x(i)=a+i*h;
- y(i)=f(a+i*h);
- end;
- % for i=1:n %2сп
- % q=b/(n-1);
- %
- % x(i)=q*(i-1);
- %
- % y(i)=f(x(i));
- % end;
- fprintf(' a=%g\n b=%g\n h=%g\n i=%g\n ',a,b,h,i);
- disp('x=');
- disp(x);
- disp('y=');
- disp(y);
- xx=linspace(min(x),max(x),x_s);
- yy=0;
- for z=1:2
- yy=0;
- for i=1:n
- P=1;
- for k=1:n
- if(i~=k)
- P=P.*(xx-x(k))./(x(i)-x(k));
- %.* - поэлементное умножение
- %./ - поэлементное деление
- end
- end
- yy=yy+y(i)*P;
- end
- if(z==1)
- plot(x,y,'*r');
- hold on;
- plot(xx,yy);
- % e = zeros(1,n);
- % for t=1:n
- % e(t)=y(t)-yy(t);
- % end
- % % disp(yy);
- % phbka=max(abs(e));
- % fprintf('phbka=%g\n ',phbka);
- x(1)=x1;
- x(2)=x2;
- xx=[x1,x2];
- y(1)=f(x1);
- y(2)=f(x2);
- disp(x1);
- disp(x2);
- disp(y(1));
- disp(y(2));
- n=2;
- end
- end
- grid on
- plot(xx,yy,'bo');
- plot(xx,yy);
- 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