Documente Academic
Documente Profesional
Documente Cultură
echo off
% Inicializamos
clear
clc
format
% Nada de lo que escribamos con ECHO OFF puede verse, LALALA !!!
echo on
% Tema: EFICIENCIA COMPUTACIONAL by Gus
% Demostracin "interactiva" en Matlab
%
% COMO AUMENTAR LA VELOCIDAD Y MEJORAR EL MANEJO DE MEMORIA?
% =========================================================
%
% Las operaciones vectoriales y matriciales en MATLAB, son mas
% rpidas que las que se hacen elemento a elemento.
%
% Esto quiere decir que para obtener la mxima velocidad es
% conveniente vectorizar los algoritmos en los archivos ".m".
%
% Por tanto es deseable, siempre que sea posible, expresar los
% bucles "for" y "while", mediante operaciones vectoriales o matriciales.
%
%
% EJEMPLOS:
% =========
% A continuacin escribimos dos secuencias distintas que permiten
% calcular el seno de 1001 nmeros.
% Comprendidos entre 0 y 10.
%
%
i=0;
for t=0:.01:10
i=i+1;
y(i)=sin(t);
end
%
% y una versin vectorizada de lo mismo es:
%
%
t=0:.01:10;
y=sin(t);
%
% Pulsar una tecla para continuar...
pause
clc
clear
format long
t0=cputime;
i=0;
for t=0:.01:10
i=i+1;
y(i)=sin(t);
end
t1=cputime-t0;
disp(['Tiempo de cpu (versin secuencial): ' num2str(t1)])
%
% Pulsar una tecla para continuar...
pause
%
=====================================================================
%
%
clear
format long
t0=cputime;
t=0:.01:10;
y=sin(t)
t1=cputime-t0;
disp(['Tiempo de cpu (version vectorizada): ' num2str(t1)])
%
% VECTORES PREDEFINIDOS
% =====================
%
clear
format long
x=[1 2 3 4;5 6 3 4;6 -3 4 2;5 7 9 1];
max=5000;
t0=cputime;
y=zeros(1,max);
for i=1:max
y(i)=det(x^i);
end
t1=cputime-t0;
disp(['Tiempo de cpu. ' num2str(t1)])
clear
format long
x=[1 2 3 4;5 6 3 4;6 -3 4 2;5 7 9 1];
max=5000;
t0=cputime;
for i=1:max
y(i)=det(x^i);
end
t1=cputime-t0;
disp(['Tiempo de cpu. ' num2str(t1)])