jueves, 20 de febrero de 2014

aqui dejos los primeros programas, disfrutenlos

2 comentarios:

  1. *************************************************************************************
    **************** 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
  2. **********************************************************************************************
    **************************** 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)

    ResponderEliminar