Aprender matlab

Solo disponible en BuenasTareas
  • Páginas : 17 (4144 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de septiembre de 2010
Leer documento completo
Vista previa del texto
MANEJO SIMBÓLICO
>> syms x; definición de variable tipo simbólico
>> 2*x+3*x suma algebraica
>> a=[x 5; 3*x 4]; matriz con elementos símbolos
>> t=inv(a) su inversa también contiene símbolos
>> t=solve(2*x^2+3*x-2) solución de una ecuación
>> f=3*x^2+5*x; definición simbólica de una función
>> t=factor(f) factorar la expresión
>> s=expand(t) expandirla
>> e=taylor(exp(x)) expansión conla serie de Taylor
>> limit(sin(x)/x) obtencíon de límites de funciones
>> syms y;
>> f=2*x^3+3*y^2 una función de dos variables
>> g=diff(f,x) derivada parcial
>> u=int(f,x) integrar en x
Funciones adicionales con expresiones simbólicas
>> f='2*t+1'; definición de una función en forma literal
>> t=3;
>> y=eval(f) evaluación de la función
>> [a,b] = solve('a^2 + a*b - b = 3','a^2 - 4*b -5 = 0')
resuelve un sistema de dos ecuaciones no lineales
>> a=double(a) para expresarlas en forma real
>> b=double(b)
>> f='exp(x)-pi*x';
>> x=solve(f)
>> x=double(x) cambia la solución simbólica a real
x =
0.5538 resultados de MATLAB
1.6385
>> x=fzero(f,2) solución de una ecuación con un valor inicial
x =
1.6385 resultado de MATLAB
>> x=fzero(f,[1,2]) solución usando un rango parala raiz
x =
1.6385 resultado de MATLAB
>> u=diff(f) diferenciación
>> v=int(f) integración analítica
>> r=int(f, 0, 2) integración entre límites
>> g='x*exp(-x)';
>> r=int(g, 0, Inf); integral impropia
solución analítica y gráfico de una EDO de primer orden con una condición en el inicio
>> y=dsolve('Dy=(x-y)/x','y(0)=0','x')
>> ezplot(y,0,2);
>> grid on
EDO de segundo orden concondiciones
en el inicio y gráfico de la solución
>> y=dsolve('D2y+Dy+2*y-x-3=0','y(0)=0,Dy(0)=1','x')
>> ezplot(y,0,2);
>> grid on;
EDO de segundo orden con condiciones
en los bordes
>> y=dsolve('D2y-Dy+2*y-5*x-3=0','y(0)=0,y(1)=2','x')
>> ezplot(y,0,2);
>> grid on
>> f=’2*sin(x)*exp(x)’;
>> [x,y]=fminbnd(f,-2,2) encuentra un mínimo local de f en 1 £ x £ 4
>> ezplot(f,-2,2)
Ejercicio:Escriba directamente las instrucciones necesarias para encontrar el valor del radio x de un cilindro de 1000 cc de capacidad, de tal manera que el valor del área sea el mínimo:
Primer enfoque:
1. Escriba una función f en términos del radio x
2. Grafique f con ezplot. Localice el intervalo para el mínimo de f(x)
3. Use la función fminbnd para obtener el mínimo
x: radio, h: altura
>>f='2*pi*x*1000/(pi*x^2)+2*pi*x^2';
>> ezplot(f,0,10)
>> grid
>> x=fminbnd(f,4,6)
x =
5.4193
>> area=eval(f)
area =
553.5810
Segundo enfoque
1. Derive f y obtenga la función a minimizar g.
2. Grafique g con ezplot. Localice el intervalo de la raíz de g(x)=0
3. Use la función fzero para obtener la raíz
4. Use la funcion solve para obtener la raíz
x: radio, h: altura
>> g=diff(f)
g =-2000/x^2+4*pi*x
>> x=fzero(char(g),[4,6])
x =
5.4193
>> x=solve(g)
x =
[ 5/pi*4^(1/3)*(pi^2)^(1/3)]
[ -5/2/pi*4^(1/3)*(pi^2)^(1/3)+5/2*i*3^(1/2)/pi*4^(1/3)*(pi^2)^(1/3)]
[ -5/2/pi*4^(1/3)*(pi^2)^(1/3)-5/2*i*3^(1/2)/pi*4^(1/3)*(pi^2)^(1/3)]
>> x=double(x)
x =
5.4193
-2.7096 + 4.6932i
-2.7096 - 4.6932i
Funciones especiales para medir eficiencia de algoritmos
>> tic; Inicia cronómetro
>>toc; muestra el tiempo transcurrido
>> tic; a=inv(rand(500, 500)); toc
tiempo utilizado en invertir una matriz 500x500
GRAFICACIÓN
Gráfico de funciones de una variable
>> f='exp(x)-3*x'; función para el ejemplo (use comillas simples)
>> ezplot(f) función básica para graficar f en [-2p , 2p ]
>> ezplot(f, [0, 2]) función básica para graficar f en un dominio dado
>> grid on colocarcuadrículas en el dibujo
>> x=[0: 0.1: 2*pi]; puntos para evaluar alguna función
>> y=sin(x); puntos de la función seno
>> plot(x,y); función para graficar la función con línea contínua
>> plot(x,y,'o') gráfico con puntos. Puede elegir: o . * + x --
>> plot(x,y,'r') cambiar a color rojo. Puede elegir r,b,y,m,g,w,k
>> plot(x,y,'og') grafique con círculos verdes.
>> grid on colocar cuadrículas en el...
tracking img