0% encontró este documento útil (0 votos)
114 vistas3 páginas

Lab2 Programacion Matlab

Este documento contiene varios ejemplos de cómo utilizar funciones vectorizadas en Matlab para lograr mayor velocidad de operación. Explica la ventaja de usar operaciones con vectores y matrices en lugar de bucles for. Luego presenta seis ejemplos de código Matlab que ilustran el uso de funciones vectorizadas para calcular coeficientes binomiales, funciones y la conversión de números a binario.

Cargado por

corpses88
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
114 vistas3 páginas

Lab2 Programacion Matlab

Este documento contiene varios ejemplos de cómo utilizar funciones vectorizadas en Matlab para lograr mayor velocidad de operación. Explica la ventaja de usar operaciones con vectores y matrices en lugar de bucles for. Luego presenta seis ejemplos de código Matlab que ilustran el uso de funciones vectorizadas para calcular coeficientes binomiales, funciones y la conversión de números a binario.

Cargado por

corpses88
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Universidad Nacional de Ingeniera Facultad de Ingeniera Mecnica Departamento de Ciencias Basicas y Cursos Complementarios

MB536-A P.A. 2013-1

Programacion en Matlab Vectorizacin Para lograr la velocidad de operacin ms alta, se debe vectorizar en los algoritmos del Matlab siempre que sea posible. Mientras que otros lenguajes de programacin requieren for o lazos, Matlab puede utilizar operaciones con vectores o matrices. Esto generalmente implica una ventaja en velocidad sobre la tcnica del bucle. Un simple ejemplo: Ejemplo 1 x=0.1:0.1:1000; t=0.1; y=log10(x); for k=1:1000 plot(x,y) x(k)=t; y(k)=log10(t); t=t+0.1; end plot(x,y) Obtener un cdigo de vectorizacin complicado no siempre es una ventaja, porque la expresin puede ser demasiado compleja. Si la velocidad es importante, pero usted siempre debe tratar de vectorizar sus algoritmos. Ejemplo 2 Los coeficientes binomiales son fciles con la ayuda del tringulo de Pascal. Escribir en un programa (M-file), que calcula una funcin de n, los coeficientes binomiales en una matriz nxn A. Ejemplo para n= 5.

Solucin:
function [A]= pascal(n) A=zeros(n); v=1; for i= 1:n A(i,1:i)=v; v=[v 0]+[0 v]; end

Corrida: >> n=5 >> A=pascal(n) Ejemplo 3 Escriba una funcin de archivo (M-file) para calcular la siguiente funcin:

Profesora: Rosa Mercedes Garrido Jurez

Universidad Nacional de Ingeniera Facultad de Ingeniera Mecnica Departamento de Ciencias Basicas y Cursos Complementarios

MB536-A P.A. 2013-1

Pruebe su funcin para los valores x = -2, 1.5, 2 y 6 y Grafique la funcin f en el intervalo [-3 3]. Solucin
function y=fun(x) y=x.*(x<0)+x.^2.*(x>=0 & x<2)+4.*(x>=2);

Corrida >>x=linspace(-3,3); % por defecto son n=100 puntos, sintax. : x= linspace(a,b,n)


>>fun(-2) ans= -2 >>fun(1.5) ans= 2.2500 >>fun(2) ans= 4 >>fun(6) ans= 4 >>plot(x,y,ob)
4

-1

-2

-3 -3

-2

-1

Ejemplo 4 Sealar que los siguientes vectores son linealmente dependientes (LD) o linealmente independiente (LI)! Ingresar los siguientes vectores:

Solucin % Prueba_vector.m
clear; close all; disp(' %Dos vectores en R^2 son linealmente dependientes (LD) si uno es un mltiplo del otro.'); disp(' % En primer lugar, los vectores se pueden introducir:'); a=input('a = elementos en corchetes y transpuesta = '); b=input('a = elementos en corchetes y transpuesta = '); c=input('a = elementos en corchetes y transpuesta = '); disp('Pulse enter'); pause k=b./a; if (k(1)==k(2)), disp('b y a LD'); else disp('b y a LI'); end; disp('Pulse enter'); pause m=c./a;
Profesora: Rosa Mercedes Garrido Jurez 2

Universidad Nacional de Ingeniera Facultad de Ingeniera Mecnica Departamento de Ciencias Basicas y Cursos Complementarios

MB536-A P.A. 2013-1

if (m(1)==m(2)), disp('c y a LD'); else disp('c y a LI'); end; n=c./b; if (n(1)==n(2)), disp('c y b LD'); else disp('c y b LI'); end; pause Ejemplo 5 Convertir un nmero entero en base decimal a un binario en forma de vector. Ejemplo : N= 125 debe salir b= 1 1 1 1 1 0 1 Solucin x=input( 'n='); b=[]; while x~=0 d=rem(x,2); x=fix(x/2); b=[b d]; end b=b(end:-1:1) Ejemplo 6 Uso del Case
clear; close all; disp(' Entero > 0 : '); n=input('n = '); disp(' '); disp(' switch ( rem(n,4) == 0) + (rem(n,2) == 0)'); disp(' case 0'); disp(' ''impar'''); disp(' case 1'); disp(' ''divisible slo por 2'''); disp(' case 2'); disp(' ''divisible por 4'''); disp(' otherwise'); disp(' ''ninguna de las anteriores'''); disp('end'); disp(' '); switch ( rem(n,4) == 0) + (rem(n,2) == 0) case 0 'impar' case 1 'divisible slo por 2' case 2 'divisible por 4' otherwise 'ninguna de las anteriores' end pause
Profesora: Rosa Mercedes Garrido Jurez 3

También podría gustarte