Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
roteiro_final_exercicio_1/dy1.m function dy1 = dy1(y2) dy1 = y2; end roteiro_final_exercicio_1/dy2.m function dy2 = dy2(x,y1,y2) dy2 = y2 + 2*y1 - x^2; end roteiro_final_exercicio_1/exercicio1_roteiro_final.m clear all; fid = fopen('tabela de resultados.txt','w'); fprintf(fid, 'i x y z \n'); a = 0; b = 1; h = 0.1; n = abs(a-b)/h; y10 = 1; y20 = 0; xt = a; y1t = y10; y2t = y20; xrk2(1) = xt; y1rk2(1) = y1t; y2rk2(1) = y2t; for i=1:n x = xt; y1 = y1t; y2 = y2t; k1y1 = dy1(y2); k1y2 = dy2(x,y1,y2); x = xt + h; y1 = y1t + h*k1y1; y2 = y2t + h*k1y2; k2y1 = dy1(y2); k2y2 = dy2(x,y1,y2); y1 = y1t + h*(k1y1 + k2y1)/2; y2 = y2t + h*(k1y2 + k2y2)/2; xt = a + i*h; y1t = y1; y2t = y2; xrk2(i+1) = xt; y1rk2(i+1) = y1t; y2rk2(i+1) = y2t; end %******tabela resultados********** for i=1:n+1 fprintf(fid, ' %d \t %8.5f \t %8.5f \t %8.5f \n', i, xrk2(i), y1rk2(i), y2rk2(i)); end %*********EXATO*********** ex = a:h:b; ey = (exp(2.*ex) + 2.*ex.^2 - 2.*ex + 3)/4; %**********GRAFICO************ plot(ex, ey, '-.', xrk2, y1rk2, 'or') title('Solucao EDO') xlabel('Domínio') ylabel('Imagem') legend('Exato', 'Aproximado') roteiro_final_exercicio_1/grafico_ex1.png roteiro_final_exercicio_1/tabela de resultados.txt i x y z 1 0.00000 1.00000 0.00000 2 0.10000 1.01000 0.20950 3 0.20000 1.04205 0.44314 4 0.30000 1.09880 0.70623 5 0.40000 1.18349 1.00525 6 0.50000 1.30008 1.34808 7 0.60000 1.45338 1.74438 8 0.70000 1.64927 2.20589 9 0.80000 1.89493 2.74697 10 0.90000 2.19911 3.38510 11 1.00000 2.57249 4.14166
Compartilhar