Sunteți pe pagina 1din 44

Semestre Enero – Mayo 2013

Sábado 8:30 – 11:00hrs


Miércoles 15:30 – 18:00hrs
Impartido por: Joel Martínez Camarillo.
 Entender el problema claramente
 Describir las entradas y salidas del problema (I/O)
 Trabajar el problema a mano
 Seleccionar el algoritmo y el método numérico a utilizar
 Desarrollar la solución con Matlab
 Debuguear y probar
 Documentación (Generalmente refiere al escribir y discutir los
resultados, sin embargo es importante que todos los programas
realizados sean comentados, para saber que es lo que está haciendo
cada parte del programa, tanto para el programador como para el
usuario).
 MATLAB (MATrix LABoratory) es un software matemático que ofrece un entorno de
desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está
disponible para las plataformas Unix, Windows y Mac.

 Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación


de datos y funciones, la implementación de algoritmos, la creación de interfaces de
usuario (GUI) y la comunicación con programas en otros lenguajes y con otros
dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que
expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y
GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las
capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con
los paquetes de bloques (blocksets).

 Es un software muy usado en universidades y centros de investigación y desarrollo. En


los últimos años ha aumentado el número de prestaciones, como la de programar
directamente procesadores digitales de señal o crear código VHDL.
Ventana de Gráficos

Ventana de Edición
 El nombre de los archivos debe identificar el problema
 El nombre de variables no debe ser mayor de 31 caracteres
 Los nombres de las variables deberán ser alfabetos, dígitos y guión bajo( _ )
 Los nombres de las variables deberán empezar con letras, MATLAB distingue entre
mayúsculas y minúsculas.

 ABC, A1, C56, CVEN_302day, year, iteracion, maxtime, velocity, distance, area, density,
pressure
 Time, TIME, time (case sensitive!!)(sensitive!!)

 La comilla ' es la que, en un teclado estándar, se encuentra en la tecla de la interrogación.

 Los comentarios deben ir precedidos por % o, lo que es lo mismo, MATLAB ignora todo lo que
vaya precedido por el símbolo %.

 La ayuda de MATLAB es bastante útil; para acceder a la misma basta teclear “help” y/o
seguido del comando a utilizar. Es recomendable usarlo para obtener una información más
precisa sobre la sintaxis y diversas posibilidades de uso de los comandos.
 Los cálculos que no se asignan a una variable en concreto se asignan a la variable de
respuesta por defecto que es ans (del inglés, answer):
 Sin embargo, si el cálculo se asigna a una variable, el resultado queda guardado en ella:
 Para conocer el valor de una variable, basta teclear su nombre:
 Si se añade un punto y coma (;) al final de la instrucción, la máquina no muestra la
respuesta...
 ... pero no por ello deja de realizarse el cálculo.
 Uso del comando clear, clc, clf; uso de ctrl+c
 Variables restringidas: inf, NaN
 Las operaciones se evalúan por orden de prioridad: primero las potencias, después las
multiplicaciones y divisiones y, finalmente, las sumas y restas. Las operaciones de igual
prioridad se evalúan de izquierda a derecha:
 Se pueden utilizar las funciones matemáticas habituales. Así, por ejemplo, la función
coseno,
 o la función exponencial
 Además de la variable pi , MATLAB tiene otras variables con valor predeterminado; éste
se pierde si se les asigna otro valor distinto. Por ejemplo:
 Otro ejemplo de función matemática: la raíz cuadrada; como puede verse, trabajar con
complejos no da ningún tipo de problema. La unidad imaginaria se representa en
MATLAB como i o j, variables con dicho valor como predeterminado:
 El usuario puede controlar el número de decimales con que aparece en pantalla el valor
de las variables, sin olvidar que ello no está relacionado con la precisión con la que se
hacen los cálculos, sino con el aspecto con que éstos se muestran:
 Para conocer las variables que se han usado hasta el momento:
 o, si se quiere más información (obsérvese que todas las variables son arrays):
 Para deshacerse de una variable
 Para definir un vector fila, basta introducir sus coordenadas entre corchetes, pueden
estar separados por comas o por espacios:
 El comando ‘ realiza la transposición de un vector:
 Si queremos declarar un vector de coordenadas equidistantes entre dos dadas, por
ejemplo, que la primera valga 0, la última 20 y la distancia entre coordenadas sea 2,
basta poner:
 De la misma manera, si lo que conocemos del vector es el valor de la primer coordenada,
0, la última 20 y que tiene 11 espacios en total, escribiremos:
 A las coordenadas de un vector se accede sin más que escribir el nombre del vector y,
entre paréntesis, su índice:
 y se pueden extraer subvectores, por ejemplo:
 Las matrices se escriben como los vectores, pero separando las filas mediante un punto y
coma; así una matriz 3x3:
 A los elementos de una matriz se accede solo escribiendo el nombre de la matriz y, entre
paréntesis, los respectivos índices,
 También se puede acceder a un fila o columna completas,
 O acceder a la matriz como si fuera una columna,
 O acceder a cualquiera de sus submatrices:
 Existen algunas matrices definidas previamente; por ejemplo, la matriz identidad,
 la matriz nula,
 o la matriz cuyos elementos valen todos 1:
 Se puede conocer el tamaño de una matriz y la longitud de un vector:
 Existen comandos que permiten crear de forma sencilla matrices. Por ejemplo:
 Las funciones matemáticas elementales están definidas de forma que se pueden aplicar
sobre arrays. El resultado es el array formado por la aplicación de la función a
cada elemento del array.
 Las operaciones habituales entre arreglos (suma, resta y producto escalar de vectores;
suma, resta, producto y potencia de matrices) se representan con los operadores
habituales:
 También pueden efectuarse multiplicaciones, divisiones y potencias de arrays,
entendiéndolas como elemento a elemento (como, de hecho, se realizan la suma y la
resta). El operador utilizado para ellas es el habitual precedido por un punto; es decir:
 Finalmente, pueden calcularse determinantes: e inversas de matrices.
 y resolverse sistemas de ecuaciones lineales con el versátil comando \:
 Se puede trabajar con polinomios: basta tener en cuenta que un polinomio no es más que
un vector. El orden de los coeficientes es de mayor a menor grado, por ejemplo:
 MATLAB tiene funciones específicas para polinomios como:
 Dentro del módulo (toolbox) de matemática simbólica, se utiliza el programa de cálculo
simbólico MAPLE. Con estas herramientas, se puede trabajar con funciones, calcular
derivadas o integrales:
 MATLAB tiene un gran potencial de herramientas gráficas. Se pueden dibujar los valores
de un vector frente a otro (de la misma longitud): el comando plot, une por defecto los
puntos (x(i),y(i) mediante una poligonal.

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
-4 -3 -2 -1 0 1 2 3 4
 Como se ve, con pocos puntos la gráfica tiene un aspecto demasiado lineal a trozos. Para
"engañar" al ojo, basta tomar más puntos.

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
-4 -3 -2 -1 0 1 2 3 4
 También pueden dibujarse las funciones escritas:
 O dibujarse dos funciones distintas en la misma gráfica con “hold on”
 Con el comando “hold off” se olvidan de las graficas anteriores y las nuevas credas

-3
x 10
2.5

1 1
1.5

0.8 0.8
1

0.6 0.6

0.5
0.4 0.4

0 0.2
0.2

0
0
-0.5

-0.2
-0.2
-1
-0.4
-0.4

-1.5 -0.6
-0.6

-0.8
-2
-0.8

-1
0 1 2 3 4 5 6
-1 -2.5
0 1 2 3 4 5 6
-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05
 También puede usarse el versátil comando ezplot (se lee como easy plot) que permite
dibujar funciones, curvas paramétricas e implícitas
 E inclusive algunas superficies con el comando ezsurf
2
- y 2y
xsin(x
x = sin(x),
exp(x)y)-1 =0
= cos(x)
61 sin(x y)
250
0.8
4
10.6
1
200
0.4
0.5 2
0.5
0.2
150
0
0 00
yy

-0.2
100
-0.5
-0.5
-2
-0.4
-150
-1
2-0.6
-4 5
-0.8 1 2
5
00 1
0 0
-6-1 0
-0.5 -1 0 -5 0.5-5 -12 1 1.5
-6 -4 -3 -4y -2 -1-2 0 01 23 4 4 5 6 6
y -2 -2 xxx x
x
 Igualmente se pueden crear gráficas con características especiales y personalizadas
utilizando ciertos comandos de MATLAB:

Grafica modificada de MATLAB


1.8

1.6

1.4
sqrt(x)
1.2

1
y

0.8

0.6

0.4

0.2 exp(-x)
0
0 0.5 1 1.5 2 2.5 3
x
 Los ficheros con extensión (.m) son ficheros de texto sin formato (ficheros ASCII) que
constituyen el centro de la programación en MATLAB. Estos ficheros se crean y modifican
con un editor de textos cualquiera. En el caso de MATLAB ejecutado en un PC bajo
Windows, lo mejor es utilizar su propio editor de textos, que es también Debugger.

 Existen ficheros llamados, “Ficheros de comandos”, que contienen simplemente un


conjunto de comandos que se ejecutan sucesivamente cuando se teclea el nombre del
fichero en la línea de comandos de MATLAB o se incluye dicho nombre en otro fichero
*.m. Un fichero de comandos puede llamar a otros ficheros de comandos. Si un fichero de
comandos se llama desde de la línea de comandos de MATLAB, las variables que crea
pertenecen al espacio de trabajo base de MATLAB, y permanecen en él cuando se
termina la ejecución de dicho fichero.

 En los ficheros de comandos conviene poner los puntos y coma (;) al final de cada
sentencia, para evitar una salida de resultados demasiado cuantiosa.
 FORMAT: Refiere al formato del texto impreso, pero no modifica la forma en que se
llevna a cabo los cálculos, si este no se modifica, se utilizan los de defaoult, “short”.
 FORMAT SHORT: Refiere a 5 dígitos para los valores escalares.
 FORMAT LONG: Refiere a 15 dígitos para cálculos de doble precisión y a 7 para cálculos
de precisión sencilla.
 FORMAT BANK: Los resultados se presentaran en forma monetaria (dollares y centavos).
 FORMAT COMPACT: Suprime linea inecesarias de alimentación al programa.

 GLOBAL: Utilizado para que tanto en el archivo como en el trabajo de espacio, así como
en otros programas el valor de la variable se conserve. Si la variable global no existe,
inicialmente su valor será de una amtriz vacía. Si la variable existe, el valor utilizado será
el de la variable global. Por estilo, las variables globales se escriben en mayúsculas, pero
no es obligatorio.

 RETURN: Es un comando opcional al final del texto, que indica que esa función terminó,
y obliga a regresar al inicio, si no se escribe por default regresará.
 x = (1988:1995)'
 y = [28.1 30 32.3 34.6 35.3 36.4 37.5 38.5]'

 p = polyfit(x,y,1)

 yr = polyval(p,x)

 plot(x,y,'r*',x,yr)

 I = (norm(px-mean(y1))/norm(y1-
mean(y1)))^2
 %Realizar un programa donde se realicen 6 gráficas diferentes, cada una con el nombre de sus ejes (x
, y), y un título. deben de estar ordenadas de tal forma que existan 3 columnas y 2 filas de gráficas en
una imagen. Las figuras en las posiciones impar deberán estar cuadriculadas, las pares no. Cada
imagen deberá tener color, grueso de línea y estilo de línea diferente.

 function ejem_semiplot
 clear all; clc; format compact;
 %Desarrollo gráficas triginométicas, primer imágen
 t1 = 0:0.2*pi/100:2*pi; x1 = sin(2*t1); y1 = sin (3*t1);
 %Desarrollo de una elipse, segunda imagen
 x2 = -3:0.1:3; y21 = sqrt(4-(4/9)*x2.^2); y22 = -sqrt(4-(4/9)*x2.^2);
 %Desarrollo de lineas rectas, tercera imagen
 x3 = [0 3]; y31 = 2*x3; y32 = 2*x3 - 1;
 %Intersección de rectas, cuarta imagen
 x4 = linspace(-5,5); y41 = 2*x4 - 5; y42 = 1/3*x4 - 5/3;
 %Desarrollo de una grafica simple, quinta imagen
 x5 = 0:0.5:5;
 %Desarrollo de una superficie simple, sexta imagen
 % x6 = -4:0.2:4; % y6 = x6;

1%Progrmación de la gráfica
Ejemplo de imagenes multiples en un gráfica
2
Ejemplo de imagenes multiples en un gráfica
6
Ejemplo de imagenes multiples en un gráfica

 figure(1) 1.5 5

 subplot(2,3,1), plot(x1,y1,'g-'), xlabel('sin(2t)'),


0.5 1 ylabel('sin(3t)'),grid, 4 title('Ejemplo de imagenes

+/-sqrt(4-(4/9)*x 2)
multiples en un gráfica') 0.5

2x y 2x-1
3
sin(3t)

 subplot(2,3,2), plot(x2,y21,'ko'), hold on, plot(x2,y22,'r*'), hold off, 2xlabel('x'), ylabel('+/-sqrt(4-


0 0

(4/9)*x^2)'),title('Ejemplo de imagenes -0.5 multiples en un gráfica')


1
 subplot(2,3,3), plot(x3,y31,'g--',x3,y32,'m-.'),
-0.5 -1
xlabel('x'), ylabel('2x y 2x-1'),grid, title('Ejemplo de
imagenes multiples en un gráfica') -1.5
0

 subplot(2,3,4),
-1
-1 -0.5 0 plot(x4,y41,'cv',x4,y42,'y^'),
0.5 1
-2
-3 -2 xlabel('x'),
-1 0 1 ylabel('2x-5
2 3 y -11/3x-5/3'),
0 0.5 1 title('Ejemplo
1.5 2 2.5 de
3

imagenes multiples en un gráfica')


sin(2t) x x

 subplot(2,3,5), ezplot('tan(x5)'),grid
Ejemplo de imagenes multiples en un gráfica tan(x 5) y 2/16 - x 2/9
5
 subplot(2,3,6), ezsurf('y^2/16 - x^2/9',[-4,4 6 -4,4])
 return
0
4
2

1
2x-5 y 1/3x-5/3

0 0
-5
-2 -1

-10 -4 -2
4
-6 2 4
0 2
0
-15 -8 -2 -2
-5 0 5 -6 -4 -2 0 2 4 6 y -4 -4 x
x x5
 Bifurcaciones y bucles
 MATLAB posee un lenguaje de programación que, como cualquier otro lenguaje, dispone
de sentencias para realizar bifurcaciones y bucles. Las bifurcaciones permiten realizar
una u otra operación según se cumpla o no una determinada condición. La siguiente
Figura muestra tres posibles formas de bifurcación.
 Los bucles permiten repetir las mismas o análogas operaciones sobre datos distintos. En
MATLAB se utiliza la palabra end con la finalidad de terminar el bucle.
 La Figura muestra dos posibles formas de bucle, con el control situado al principio o al
final del mismo. Muchos lenguajes de programación disponen de bucles con control al
principio (for y while en C/C++/Java) y al final (do … while en C/C++/Java). En
MATLAB no existe construcción análoga a do ... while.
 Las bifurcaciones y bucles no sólo son útiles en la preparación de programas o de
ficheros *.m. También se aplican con frecuencia en el uso interactivo de MATLAB.
 En su forma más simple, la sentencia if se  La sentencia for repite un conjunto de
sentencias un número predeterminado de
escribe en la forma siguiente : veces. La sentencia for de MATLAB es muy
 if condición diferente y no tiene la generalidad de la
sentencia for de C/C++/Java. La siguiente
 sentencias construcción ejecuta sentencias con
 end valores de i desde 1 hasta n, variando de
uno en uno.
 Existe también la bifurcación múltiple, en la
 for i=1:n
que pueden concatenarse tantas condiciones
 sentencias
como se desee, y que tiene la forma:
 end
 if condición1 bloque1  o bien,
 elseif condición2 bloque2
 elseif condición3 bloque3  for i=vectorValores
 else opción por defecto para cuando no se cumplan  sentencias
las condiciones 1,2,3 bloque4  end
 End  donde vectorValores es un vector con los
distintos valores que tomará la variable i.
 la opción por defecto else puede ser
omitida: si no está presente no se hace nada.
 En el siguiente ejemplo se presenta el caso  La estructura del bucle while es muy
más general para la variable del bucle similar a la de C/C++/Java. Su sintaxis es la
(valor_inicial: incremento: valor_final); el siguiente:
bucle se ejecuta por primera vez con i=n, y  while condición
luego i se va reduciendo de 0.2 en 0.2 hasta  sentencias
que llega a ser menor que 1, en cuyo caso
el bucle se termina:  end
 for i=n:-0.2:1  donde condición puede ser una expresión
vectorial o matricial. Las sentencias se
 sentencias siguen ejecutando mientras haya
 end elementos distintos de cero en condición,
 En el siguiente ejemplo se presenta una es decir, mientras haya algún o algunos
estructura correspondiente a dos bucles elementos true. El bucle se termina
anidados. La variable j es la que varía más cuando todos los elementos de condición
rápidamente (por cada valor de i, j toma son false (es decir, cero).
todos sus posibles valores):
 for i=1:m
 for j=1:n
 sentencias
 end
 end
 La función input permite imprimir un  La función disp permite imprimir en
mensaje en la línea de comandos de pantalla un mensaje de texto o el valor de
MATLAB y recuperar como valor de una matriz, pero sin imprimir su nombre.
retorno un valor numérico o el resultado En realidad, disp siempre imprime
de una expresión tecleada por el usuario. vectores y/o matrices: las cadenas de
La expresión introducida es evaluada con caracteres son un caso particular de
los valores actuales de las variables de vectores.
MATLAB y el resultado se devuelve como  >> disp('El programa ha terminado')
valor de retorno.
 >> A=rand(4,4);
 >> n = input('Teclee el número de
 >> disp(A)
ecuaciones')
 La función fprintf permite imprimir un
 >> nombre = input('¿Cómo te
mensaje y el valor de la variable
llamas?','s')
relacionada a este, su sintaxis es:
 En este caso el texto tecleado como
 >>fprintf(‘texto %NAD.NDDRut \n’,var)
respuesta se lee y se devuelve sin evaluar,
con lo que se almacena en la cadena  ‘texto’: Cualquier enunciado
nombre.  NAD: Unidades antes del decimal
 NDD: Unidades después del decimal
 Rut: Rutina de escritura del número
 \n: Indica que escriba en el sig. renglón
 Var: Nombre de la variable
 Significa “depurar”, esta es una sección
de gran ayuda, sobretodo cuando se está
realizando un a programación avanzada,
para poder ver el avance de los cálculos,
y comprobar que el programa realiza los
cálculos como los deseamos.

 Para utilizarlo, se seleccionan las líneas


del programa donde se desea debuguear
y se corre el programa, una vez que
corre el programa se puede avanzar
paso por paso (F10) o hasta el siguiente
punto de ruptura (F5).

 Se analiza el avance y se comprueban


los resultados, si existe un error se
puede utilizar el menú para “Salir del
modo debug”
 Las funciones vectoriales de MATLAB son mucho más rápidas que sus contrapartidas escalares.

 Conviene desarrollar los programas incrementalmente, comprobando cada función o componente


que se añade. Recuérdese que el tiempo de corrección de errores en un programa puede ser 4 ó 5
veces superior al tiempo de programación. El debugger es una herramienta muy útil a la hora de
acortar ese tiempo de puesta a punto.

 En este mismo sentido, puede decirse que pensar bien las cosas al programar (sobre una hoja de
papel en blanco, mejor que sobre la pantalla del PC) siempre es rentable, porque se disminuye más
que proporcionalmente el tiempo de depuración y eliminación de errores.

 Otro objetivo de la programación debe ser mantener el código lo más sencillo y ordenado posible. Al
pensar en cómo hacer un programa o en cómo realizar determinada tarea es conveniente pensar
siempre primero en la solución más sencilla, y luego plantearse otras cuestiones como la eficiencia.

 Finalmente, el código debe ser escrito de una manera clara y ordenada, introduciendo comentarios,
utilizando líneas en blanco para separar las distintas partes del programa, sangrando las líneas para
ver claramente el rango de las bifurcaciones y bucles, utilizando nombres de variables que recuerden
al significado de la magnitud física correspondientes, etc.

 En cualquier caso, la mejor forma (y la única) de aprender a programar es programando.


 Estos cálculos no requieren la utilización de técnicas numéricas especiales. Las
ecuaciones modelo se pueden escribir una a continuación de otra. En el lado izquierdo
aparece el nombre de una variable (de salida) y en el lado derecho, una expresión que
puede incluir constantes y variables previamente definidas. Tales ecuaciones suelen
denominarse ecuaciones “explícitas”.

 Determinar la presión a partir de la ecuación de Van der Waals del metano a 350K,
decidiendo el usuario si conoce o no la constante de los gases ideales. Mostrar el valor de
a, b, R y P. RT a
P= − 2
V −b V
V 8P V 27 R 2Tc2 L  atm
; b = c ; R= 0.08206=
RT
a = c ; b = 3PcVc2 ; R= c c a=
3 3Tc 64 Pc 8Pc mol  K

 Tc = 190.6K; Pc = 45.99bar = 45,38858877atm; Vc = 98.6cm3/mol = 0.0986L/mol;


 V = 0.6L
* P1_VdW.m
 Es un algoritmo eficiente para encontrar aproximaciones de los ceros o raíces de una
función real. También puede ser usado para encontrar el máximo o mínimo de una
función, encontrando los ceros de su primera derivada.
 El método de Newton-Raphson es un método abierto, en el sentido de que su
convergencia global no está garantizada. La única manera de alcanzar la convergencia es
seleccionar un valor inicial lo suficientemente cercano a la raíz buscada. Así, se ha de
comenzar la iteración con un valor razonablemente cercano al cero (denominado punto
de arranque o valor supuesto).
f ( xn )
xn +1 = xn −
f ' ( xn )
 Este método, esta descrito únicamente
para la solución de una ecuación,
aunque existe el algoritmo para mas de
una ecuación, no se desarrollará en este
momento.
 Un sistema de ecuaciones lineales algebraicas se puede representar mediante la ecuación:
Ax = b
 Donde A es una matriz n X n de coeficientes, x es un vector de n X 1 de incógnitas y b un vector
de n X 1 de constantes. Obsérvese que el número de ecuaciones es igual al número de
incógnitas.

Balance de materia en la separación de para-


xileno, estireno, tolueno y benceno de un
sistema de columnas de destilación.

a) Calcule las velocidades de flujo molar D1,


D2, B1 y B2.
b) Calcule las velocidades de flujo molar B y D.
c) Si se reduce la alimentación de la columna 1
un 5%, ¿Cuáles serían las velocidades de flujo
molar D1, D2, B1, B2, D y B;

* BM_3C4c.m
 Ode15s y 45
 Un ecuación no lineal simple se puede escribir de la forma:
f(x) = 0
 Donde f es una función y x es la incógnita. También se podrían incluir ecuaciones
explícitas adicionales

 a) Calcule el volumen molar y el factor de compresibilidad para el amoniaco gaseoso a


una Presión de 56atm, y a una Temperatura de 450K, a partir de la ecuación de estado de
Van der Waals.
 b) Repetir los cálculos para las siguientes Presiones reducidas: 1, 2, 4, 10 y 20 y graficar
el factor de compresibilidad, respecto a la presión reducida.

 Resolución por fsolve.

 fsolve inciso a): P2_VdW_fs.m


 fsolve inciso b) P2_VDW_fs_b.m
 Es una rutina de MatLab utilizada para resolver sistemas de ecuaciones no lineales. fsolve
intenta resolver ecuaciones de la forma:
f(x) = 0
 Donde f y x pueden ser vectores o matrices. La forma más simple de utilizar este comando es:
X = fsolve (fun,X0)
 Donde X, es el vector donde se mostrarán los resultados, fun, representa la función a resolver,
X0, representa el vector de valores iniciales para empezar la solución.

 Existe una forma, donde se pueden colocar ciertas opciones para mejorar el cálculo de la
solución:
X = fsolve (fun,X0,Options)
 Options, hace referencia a un argumento credo con la función optimset, con el cuál pueden
mejorarse los parámetros: Display, TolX, TolFun, DerivativeCheck, Diagnostics, FunValCheck, Jacobian,
JacobMult, JacobPattern, LineSearchType, NonlEqnAlgorithm, MaxFunEvals, MaxIter, PlotFcns, OutputFcn,
DiffMinChange and DiffMaxChange, LargeScale, MaxPCGIter, PrecondBandWidth, TolPCG, and TypicalX.

 Existe otro argumento denominado “exitflag”, que describe la condición de salida del fsolve.
 Aplicados a Termodinámica

 Aplicados a Balances de Materia

S-ar putea să vă placă și