Вы находитесь на странице: 1из 9

Funciones Importantes de MATLAB

UNAH

Funcin Descripcin Sintaxis

fzero Busca el cero de una funcin en la cercana de un punto. p = fzero(FUN, p0) Ejemplo

Un cable en forma catenaria es aquel que cuelga entre dos puntos (Ver Fig. 1). Como se ilustra en la figura, el cable, no est sujeto a ms carga que su propio peso. En la figura 2 se ilustra un diagrama de cuerpo libre de una seccin AB, donde y son las fuerzas de tensin en el extremo.
y TB B TA A w Fig. 1
yo

W = wx x Fig. 2

El modelo (una ecuacin diferencial) produce la solucin funcin de la distancia .

(altura del cable) en

Determine el valor del parmetro dados los valores de modo que el cable tenga una altura de en .

de

>> w=12; y0=6; y=15; x=50; %Asignacin a variables de los valores conocidos >> f=@(Ta) (Ta/w).*cosh(w*x./Ta)+y0-Ta/w-y; %Definicin de la funcin >> Ta=1000:0.1:2000; plot(Ta,f(Ta)); grid on %Obteniendo una estimacin de la solucin >> Ta=fzero(f, 1700) %Obteniendo el cero de la funcin Ta = 1684.36509681737

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Funciones Importantes de MATLAB

UNAH

Funcin Descripcin Sintaxis

fsolve (Optimization Toolbox) Busca la solucin a un sistema no lineal de ecuaciones p = fsolve(FUN, p0) Ejemplo

Resuelva el siguiente sistema

>> %Definiendo la funcin >> f=@(x) [x(1)^3+x(1)^2*x(2)-x(1)*x(3)+6; exp(x(1))+exp(x(2))-x(3); x(2)^2-2*x(1)*x(3)-4]; >> %Definiendo el punto inicial >> x0=[-1;-2;1]; >> p=fsolve(f,x0) Optimization terminated: first-order optimality is less than options.TolFun. p= -1.4560 -1.6642 0.4225

Funcin Descripcin Sintaxis

fminbnd Retorna el mnimo ym de la funcin en el intervalo [x1, x2], as como la abscisa xm donde se da dicho valor. [xm, ym]= fminbmd(funcin, x1, x2) Ejemplo

Calcule las dimensiones (radio y altura ) de un cilindro con el mayor volumen posible que se puede construir con una esfera de radio cm.

Para obtener el mximo usamos fminbnd pero con la funcin es >> v=@(h) -2*pi*h*sqrt(15^2-(h/2)^2); %Def. la funcin >> [h,vmax]=fminbnd(v,0,30); r=sqrt(15^2-(h/2)^2); >> [r, h, -vmax] ans = 10.607 21.213 1413.7

. Esto es:

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Funciones Importantes de MATLAB

UNAH

Funcin Descripcin Sintaxis

lagrange (funcin elaborada por usuario) Retorna los coeficientes del polinomio de Lagrange para los datos (x, y) c = lagrange(x, y)

Ejemplo
Se sospecha que las elevadas concentraciones de tanina en las hojas de los robles maduros inhiben el crecimiento de las larvas de la polilla invernal que tanto daan a los rboles en algunos aos. La tabla anexa contiene el peso promedio de dos muestras de la larva, tomadas en los primeros 28 das despus del nacimiento. La primera muestra se cri en hojas de robles jvenes, mientras que la segunda los hizo en hojas maduras del mismo rbol. a) Use interpolacin de Lagrange para aproximar la curva del peso promedio de las muestras (grafique). b) Para calcular un peso promedio mximo aproximado de cada muestra, determine el mximo del polinomio interpolante.

Da Peso promedio de la muestra 1 (mg) Peso promedio de la muestra 2 (mg)

0 6.67 6.67

6 10 13 17 20 28 17.33 42.67 37.33 30.10 29.31 28.74 16.11 18.89 15.00 10.56 9.44 8.89

>> d=[0,6,10,13,17,20, 28]; %das >> m1=[6.67, 17.33, 42.67, 37.33, 30.10, 29.31, 28.74]; %muestra1 >> m2=[6.67, 16.11, 18.89, 15, 10.56, 9.44, 8.89]; %muestra2 >> c1=lagrange(d,m1), c2=lagrange(d,m2), %coeficientes lagrange c1 = 4.0946e-005 -0.0036717 c2 = 8.3616e-006 -0.00075255 0.025841 -0.4138 2.9128 -5.6782 6.67 0.1269 -2.0946 16.143 -42.643 6.67

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Funciones Importantes de MATLAB


>> dd=0:0.1:28; mm1=polyval(c1,dd); mm2=polyval(c2,dd); >> subplot(2,1,1);plot(d,m1,'o',dd,mm1,':'),grid >> xlabel('Das'); ylabel('Peso Promedio(mg)') >> legend('Datos','Polinomio Lagrange'), title('Muestra 1') >> subplot(2,1,2);plot(d,m2,'o',dd,mm2,':r'),grid >> legend('Datos','Polinomio Lagrange'), title('Muestra 2') >> xlabel('Das'); ylabel('Peso Promedio(mg)') >> %definiendo las funciones polinmicas >> f1=@(x) -1*(c1(1)*x^6+c1(2)*x^5+c1(3)*x^4+c1(4)*x^3+c1(5)*x^2+c1(6)*x+c1(7)); >> f2=@(x) -1*(c2(1)*x^6+c2(2)*x^5+c2(3)*x^4+c2(4)*x^3+c2(5)*x^2+c2(6)*x+c2(7)); >> [x1,max1]=fminbnd(f1,0,28);[x1,max2]=fminbnd(f2,0,28); >> [-max1, -max2] %Pesos promedios mximos ans = 42.708 19.416

UNAH

Funcin Descripcin Sintaxis


4

interp1 Interpolacin para funciones en una variable, (x, y), en el punto(s) xi. Por defecto la interpolacin es lineal interp1(x, y, xi)
Erick Pineda

Laboratorio de Anlisis Numrico (MM412-IC303)

Funciones Importantes de MATLAB

UNAH

Ejemplo Se realiza un experimento para definir la relacin entre la carga aplicada y el tiempo para fractura para un tipo de acero (Tiempo en funcin de la carga). Los datos resulantes son: Carga[Kg/mm2] Tiempo de fractura[h] 5 40 15 25 25 18 35 12

Usando interpolacin lineal determine el tiempo de fractura para una carga aplicada de 17 Kg/mm2 y 32 Kg/mm2.
>> C=5:10:35; t=[40, 25, 18 12]; Ci=[17, 32]; >> ti=interp1(C,t,Ci) ti = 23.6000 13.8000

Funcin Descripcin Sintaxis

csape (Spline Toolbox) Determina el spline cbico, natural o sujeto para un conjunto de datos (x,y). csape(x,y,varational) natural; csape(x,y,clamped,[a,b]) sujeto f (x0)=a, f (xn)=b Ejemplo

Los trazadores se usan a menudo en software de grficas para trazar una curva suave a travs de un conjunto de puntos de datos. En la siguiente tabla se proporcionan puntos de cierta curva en coordenadas . 1 0.15 0.50 2 0.20 0.80 3 0.40 1.00 4 0.50 1.00 5 0.50 0.80 6 0.30 0.60 7 0.30 0.40 8 0.40 0.30 9 0.25 0.20 10 0.15 0.50

no es funcin de ni viceversa; sin embargo, es posible generar una curva suave haciendo que y dependan de un parmetro comn cuyos valores para el conjunto de datos son . Por medio de trazadores naturales ajustar y a , para valores de desde 1 a 10 en incrementos de 0.05 luego grfique.
>> x=[0.15, 0.2, 0.4, 0.5, 0.5, 0.3, 0.3, 0.4,.25,0.15]; >> y=[0.5, 0.8, 1, 1, 0.8, 0.6, 0.4, 0.3,.2,0.5]; >> t=1:10; s1=csape(t,x,'varational'); s2=csape(t,y,'varational'); >> tt=1:0.05:10; xx=ppval(s1,tt); yy=ppval(s2,tt); >> plot(x,y,'o',xx,yy), grid

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Funciones Importantes de MATLAB

UNAH

Funcin Descripcin Sintaxis

interp2 Interpolacin para funciones de dos variables, (x, y, z), en el punto(s) (xi,yi). Por defecto la interpolacin es bilineal zi=interp2(x, y, z, xi, yi) Ejemplo

Las densidades de las soluciones acuosas del cido sulfrico varan con la temperatura y la concentracin de acuerdo con la tabla: 10 1.0344 1.1453 1.3103 1.6923 30 1.0281 1.3335 1.2953 1.6014 60 1.0140 1.1153 1.2732 1.5753 100 0.9888 1.0885 1.2446 1.5417

5 20 40 70

a) Calcule la densidad a una concentracin de 40% y una temperatura de 15 .


>> T=[10, 30]; d=[1.3103, 1.2953]; ti=15; di=interp1(T,d,ti) di = 1.3066

b) Calcule la densidad a 50

y 60% de concentracin.

>> T=[30, 60]; C=[40,70]; d=[1.2953, 1.2732; 1.6014,1.5753]; >> Ti=50; Ci=60; di=interp2(T,C,d,Ti,Ci) di = 1.4829

Funcin Descripcin Sintaxis

polyfit Ajuste polinmico de grado n por mnimos cuadrados al conjunto de datos (x, y) Pn=polyfit(x, y, n) retorna los coeficientes del polinomio Ejemplo

En una reaccin gaseosa de expansin a volumen constante, se observa que la presin del reactor aumenta con el tiempo de reaccin segn se muestra en la tabla. P(atm) t(min) 1.0000 0.0 1.0631 0.1 1.2097 0.3 1.3875 0.5 1.7232 0.8 2.0000 1.0 2.9100 1.5

a) Determinar el mejor interpolante polinmico, de grado a lo ms 3, para ajustar los datos aplicando el mtodo de los mnimos cuadrados.
>> t=[0, 0.1, 0.3, 0.5, 0.8, 1, 1.5]; >> P=[1, 1.0631, 1.2097, 1.3875, 1.7232, 2, 2.91]; >> p1=polyfit(t,P,1); %Polinomio Lineal >> p2=polyfit(t,P,2); p3=polyfit(t,P,3); >> E1=sum((P-polyval(p1,t)).^2); %Error de p1 6

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Funciones Importantes de MATLAB


>> E2=sum((P-polyval(p2,t)).^2); >> E3=sum((P-polyval(p3,t)).^2); >> [E1; E2; E3] %El mejor ajuste el de menor error ans = 0.096983631503322 0.000415487678758 0.000000031060139

UNAH

b) Graficar los datos y la curva de ajuste.


>> tt=0:0.005:1.5; Pp3=polyval(p3,tt); plot(t,P,'o',tt,Pp3); grid >> xlabel('Tiempo(min)'), ylabel('Presin(atm)'), legend('Datos', 'Ajuste Cbico')

c) Determine P para t=0.7 minutos.


>> pi=polyval(p3,0.7) pi = 1.601416680484238

Funcin Descripcin Sintaxis

quad Integracin numrica de f(x) desde a hasta b I=quad(f, a, b, tol), tol es opcional: define el error mximo Ejemplo

El estudio de difraccin de la luz en una apertura rectangular implica el uso de las integrales de Fresnel

Construya una tabla de valores para para los valores de

y .

que tenga una exactitud de

>> f1=@(w) cos(pi*w.^2/2); f2=@(w) sin(pi*w.^2/2); >> t=0.1:0.1:1; >> for i=1:10 c(i)=quad(f1,0,t(i),1e-4); s(i)=quad(f2,0,t(i),1e-4); end >> c c= 0.1000 >> s 0.0005 0.0042 0.0141 0.0334 0.0647 0.1105 0.1721 0.2493 0.3398 0.4383 0.1999 0.2994 0.3975 0.4923 0.5811 0.6597 0.7228 0.7648 0.7799

Funcin Descripcin Sintaxis


7

trapz Intrega una funcin que se da en forma tabular (utiliza el mtodo del trapecio) I=trapz(x, y)
Erick Pineda

Laboratorio de Anlisis Numrico (MM412-IC303)

Funciones Importantes de MATLAB

UNAH

Ejemplo En un gasoducto se determina el gasto instantneo de gas y su contenido de azufre peridicamente durante el da. Los resultados se presentan en la tabla 0 20 0.30 4 22 0.45 8 19.5 0.38 12 23 0.35 15 21 0.30 20 20 0.43 22 20.5 0.41 24 20.8 0.40

a) Qu cantidad de gas se bombea en 24 horas? La cantidad de gas se calcula multiplicando el gasto como el gasto es variable, aplicamos la integral

por el tiempo, pero

>> t=[0,4,8,12,15,20,22,24]; W=[20, 22, 19.5, 23, 21, 20, 20.5, 20.8]; >> S=[.3, .45, .38, .35, .3, .43, .41, .4]; G=60*trapz(t,W) %En kg G= 30138

b) Cul es el gasto promedio diario?

>> Wp=G/(24*60) %En kg/min Wp = 20.9292

c) Cul es el contenido de azufre promedio diario?

>> Sp=trapz(W,S)/(20.8-20) % En (%) Sp = 0.3831

d) Qu cantidad de azufre se bombea en 24 horas?

>> Sc=60*trapz(t,S.*W/100) Sc = 113.9070

%En kg

Ejemplo El rea entre dos curvas cerrado en el cual y en un intervalo est dada por

. Para estimar la superficie de un estanque se han realizado las medidas (en metros)
8

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Funciones Importantes de MATLAB

UNAH

que muestra la figura, estimar el rea.


>> x=0:10:10*8; y=[0,20, 25, 32, 31, 36, 28, 12,0]; A=trapz(x,y) %En m^2 A= 1840

Funcin Descripcin Sintaxis

ode45 Resolucin de e.d.o problemas de valor inicial numricamente [t, y]=ode45(f, ti, y0) Ejemplo

Laboratorio de Anlisis Numrico (MM412-IC303)

Erick Pineda

Вам также может понравиться