function [A,b,xref]=fredholm(m) a=0.3; ns=5; p=linspace(0,2*pi,m+1)'; p=p(1:m); z=(1+a*cos(ns*p)).*exp(i*p); zp=(i-ns*a*sin(ns*p)+i*a*cos(ns*p)).*exp(i*p); zpp=-(1+(1+ns*ns)*a*cos(ns*p)+2*i*ns*a*sin(ns*p)).*exp(i*p); w=2/m; b=cos(p); A=diag(1+w/2*imag(zpp./zp)); for k=1:m A(1:k-1,k)=imag(w*zp(k)./(z(k)-z(1:k-1))); A(k+1:m,k)=imag(w*zp(k)./(z(k)-z(k+1:m))); end xref=A\b; b=A*xref;