************************************************************************************* **************** PROGRAMA RICHARDSON********************************** ************************************************************************************
>> syms x >> h=1/80; >> X0=1.65; >> G=7*((log(x))^2)+3*tan(5*x); %colocar funcion del ejercicio >> N=zeros(7,7) %el valor de n que me diga el ejercicio
>> for i=1:7 N(i,1)=(1/(2*h))*(subs(G,X0+h)-(subs(G,X0-h))); h=h/2; %en este for muestra los primeros 7 N, luego end ir cambiando formula y denominador >> fprintf('%.9f\n',N)(columna1)
%de aqui para adelante ir cambiando los coeficientes para los distintos N2(columna2) . . . >> for i=2:7 N(i,2)=N(i,1)+((N(i,1)-N(i-1,1))/3); h=h/2; end >> fprintf('%.9f\n',N) . . %para columna3 >> for i=4:7 N(i,4)=N(i,3)+((N(i,3)-N(i-1,3))/63); h=h/2; end >> fprintf('%.9f\n',N) . . %para columna4 >> for i=4:7 N(i,4)=N(i,3)+((N(i,3)-N(i-1,3))/63); h=h/2; end >> fprintf('%.9f\n',N) . . %para calumna5 >> for i=5:7 N(i,5)=N(i,4)+((N(i,4)-N(i-1,4))/255); h=h/2; end >> fprintf('%.9f\n',N) . . % y asi hasta el ultimo n7
>> syms x >> g = 2*pi*(x^3 + x); >> a = 5; >> b = 13; n = 6; % --------> solo aqui hacer el cambio de la Rnn que me den >> h = zeros(1,n); >> for i=1:n h(i) = (b-a)/(2^(i-1)); end >> h %----------------> hasta aqui copiar primero (muestra las h) h = 8.000000000000000 4.000000000000000 2.000000000000000 1.000000000000000 0.500000000000000 0.250000000000000 >> R = zeros(n,n); >> R(1,1) = (h(1)/2)*(subs(g,a) + subs(g,b)); fprintf('%.9f\n',R(1,1)) %---------------->hasta aqui hacer 2° copia(Imprime solo R11)
>> sum = 0; >> for k=2:n for i=1:(2^(k-2)) sum = subs(g,a+((2*i-1)*h(k))) + sum; end R(k,1) = 0.5*(R(k-1,1) + (h(k-1)*sum)); sum = 0; end fprintf('%.9f\n',R) ---------------> % hasta aqui hacer 3° copia (Imprime R21 hasta R61)
>> for k=2:n for j=2:k R(k,j) = R(k,j-1) + (R(k,j-1) - R(k-1,j-1))/(4^(j-1) - 1); end end fprintf('%.9f\n',R) ---------------> % de aqui en adelante (Imprime R22 hasta Rnn)
*************************************************************************************
ResponderEliminar**************** PROGRAMA RICHARDSON**********************************
************************************************************************************
>> syms x
>> h=1/80;
>> X0=1.65;
>> G=7*((log(x))^2)+3*tan(5*x); %colocar funcion del ejercicio
>> N=zeros(7,7) %el valor de n que me diga el ejercicio
N =
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
>> for i=1:7
N(i,1)=(1/(2*h))*(subs(G,X0+h)-(subs(G,X0-h)));
h=h/2; %en este for muestra los primeros 7 N, luego
end ir cambiando formula y denominador
>> fprintf('%.9f\n',N)(columna1)
%de aqui para adelante ir cambiando los coeficientes para los
distintos N2(columna2)
.
.
.
>> for i=2:7
N(i,2)=N(i,1)+((N(i,1)-N(i-1,1))/3);
h=h/2;
end
>> fprintf('%.9f\n',N)
.
.
%para columna3
>> for i=4:7
N(i,4)=N(i,3)+((N(i,3)-N(i-1,3))/63);
h=h/2;
end
>> fprintf('%.9f\n',N)
.
.
%para columna4
>> for i=4:7
N(i,4)=N(i,3)+((N(i,3)-N(i-1,3))/63);
h=h/2;
end
>> fprintf('%.9f\n',N)
.
.
%para calumna5
>> for i=5:7
N(i,5)=N(i,4)+((N(i,4)-N(i-1,4))/255);
h=h/2;
end
>> fprintf('%.9f\n',N)
.
.
% y asi hasta el ultimo n7
**********************************************************************************************
ResponderEliminar**************************** ROMBERG **************************************************
*********************************************************************************************
>> syms x
>> g = 2*pi*(x^3 + x);
>> a = 5;
>> b = 13;
n = 6; % --------> solo aqui hacer el cambio de la Rnn que me den
>> h = zeros(1,n);
>> for i=1:n
h(i) = (b-a)/(2^(i-1));
end
>> h %----------------> hasta aqui copiar primero (muestra las h)
h =
8.000000000000000 4.000000000000000 2.000000000000000 1.000000000000000 0.500000000000000 0.250000000000000
>> R = zeros(n,n);
>> R(1,1) = (h(1)/2)*(subs(g,a) + subs(g,b));
fprintf('%.9f\n',R(1,1)) %---------------->hasta aqui hacer 2° copia(Imprime solo R11)
>> sum = 0;
>> for k=2:n
for i=1:(2^(k-2))
sum = subs(g,a+((2*i-1)*h(k))) + sum;
end
R(k,1) = 0.5*(R(k-1,1) + (h(k-1)*sum));
sum = 0;
end
fprintf('%.9f\n',R) ---------------> % hasta aqui hacer 3° copia (Imprime R21 hasta R61)
>> for k=2:n
for j=2:k
R(k,j) = R(k,j-1) + (R(k,j-1) - R(k-1,j-1))/(4^(j-1) - 1);
end
end
fprintf('%.9f\n',R) ---------------> % de aqui en adelante (Imprime R22 hasta Rnn)