metoda_galerkina.sci
clc clear // d2y/dx2 + 1000x^2 = 0 // y(0) = 0, y(1) = 0, function r = res(a,x) // n1 = x*(1-x); // n2 = x^2*(1-x); // yp = a1*n1 + a2*n2 ddn1 = -2; ddn2 = 2 - 6*x; r = a(1)*ddn1 + a(2)*ddn2 + 1000*x.^2; endfunction function r1 = y1(a,x) r1 = x.*(1-x).*res(a,x) endfunction function r2 = y2(a,x) r2 = (x.^2).*(1-x).*res(a,x); endfunction function r = integr(a) x = linspace(0,1.0); r(1,1) = inttrap(x, y1(a,x)); r(1,2) = inttrap(x, y2(a,x)); endfunction a = fsolve([0 0], integr); x = linspace(0,1,20); yp = a(1)*x.*(1-x) + a(2)*(x.^2).*(1-x); plot(x,yp,'b') // rozw analit. y = 1000/12*x.*(1-x.^3); plot(x,y,'r')