Advertisement
codisinmyvines

paragraph3task5

Feb 24th, 2022
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. //main
  2. format long;
  3. a=0; b=10; n=201;
  4. x=linspace(a,b,n);
  5. f=@(x) 0;
  6. K=@(x,s,y) (1+y^2)/(1+s^2);
  7. tol=1e-07;
  8. u=@(x) x;
  9. [y,x,iter]=Nonlin_VoltII_SimpleIter_Simpson(a,b,n,K,f,tol);
  10. er=norm(u(x)-y,inf)/norm(u(x),inf)
  11. plot(x,y,'o',x,u(x),'r');
  12. xlabel('x');
  13. ylabel('y');
  14.  
  15. //function
  16. function [y,x,iter]=Nonlin_VoltII_SimpleIter_Simpson(a,b,n,K,f,tol,y0)
  17. x=linspace(a,b,n);
  18. h=x(2)-x(1);
  19. F=f(x);
  20. if(nargin<=6) y0=F;
  21. end
  22. if(nargin<=5) tol=1e-10;
  23. end
  24. y=ones(1,n)*inf;
  25. yk=y0;
  26. iter=0;
  27. yk(1)=F(1);
  28. y(1)=F(1);
  29. while(norm(yk-y,inf)/norm(yk,inf)>tol)
  30. y=yk;
  31. iter=iter+1;
  32. for i=2:n
  33. s=f(x(i));
  34. for j=1:(i-1)
  35. s=s+h*K(x(i),x(j),yk(j));
  36. end
  37. fun = @(y_i) (y_i-(h/2)*K(x(i),x(i),y_i)-s);
  38. yk(i)=fsolve(fun,yk(i-1));
  39. end
  40. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement