todas las funciones en vensim - copia

50
FUNCIONES DEL VENSIM ABS (x) Devuelve el valor absoluto de X. Igual que el SI ENTONCES MAS (X < 0, - X, X). Unidades: ABS (cualquier unidad) à las mismas unidades Ejemplos ABS (5,0) es igual a 5.0. ABS (-5,0) es igual a 5.0. DELAY FIXED RETARDO FIJO (ENTRADA, TIEMPO DE RETARDO, EL VALOR INICIAL) Devuelve el valor de la entrada demorada por el tiempo de retardo. El valor inicial es el valor de la variable en el lado izquierdo de la ecuación en el inicio de la simulación. El tiempo de retardo puede ser una expresión, pero sólo se utiliza su valor inicial. Restricciones: retardo fijo deben seguir directamente el signo igual. Vensim trata la variable del lado izquierdo de la ecuación como una variable de Nivel. En el Editor de ecuaciones elegir el tipo de nivel, subtipo fija Delay. Ejemplos DI = retardo fijo (I, 22, I) DM DELAY = FIJO (MAX (A, B), C, A) No válido D = UN RETRASO + FIJO (R, 3.2, 0.0) D = retardo fijo (B, T, B) + 1 DELAY 1 DELAY1 (ENTRADA, TIEMPO DE RETARDO) RETRASO EXPONENCIAL

Upload: jose-luis-neme-pereda

Post on 27-Dec-2015

809 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Todas Las Funciones en Vensim - Copia

FUNCIONES DEL VENSIM

ABS (x) Devuelve el valor absoluto de X. Igual que el SI ENTONCES MAS (X < 0, - X, X). Unidades: ABS (cualquier unidad) à las mismas unidades Ejemplos ABS (5,0) es igual a 5.0. ABS (-5,0) es igual a 5.0.

DELAY FIXED

RETARDO FIJO (ENTRADA, TIEMPO DE RETARDO, EL VALOR INICIAL) Devuelve el valor de la entrada demorada por el tiempo de retardo. El valor inicial es el valor de la variable en el lado izquierdo de la ecuación en el inicio de la simulación. El tiempo de retardo puede ser una expresión, pero sólo se utiliza su valor inicial. Restricciones: retardo fijo deben seguir directamente el signo igual. Vensim trata la variable del lado izquierdo de la ecuación como una variable de Nivel. En el Editor de ecuaciones elegir el tipo de nivel, subtipo fija Delay. Ejemplos DI = retardo fijo (I, 22, I) DM DELAY = FIJO (MAX (A, B), C, A) No válido D = UN RETRASO + FIJO (R, 3.2, 0.0) D = retardo fijo (B, T, B) + 1 DELAY 1 DELAY1 (ENTRADA, TIEMPO DE RETARDO) RETRASO EXPONENCIAL

Page 2: Todas Las Funciones en Vensim - Copia

DELAY1 I DELAY1I (ENTRADA, TIEMPO DE RETARDO, EL VALOR INICIAL) RETRASO EXPONENCIAL CON INICIAL Devuelve un retraso exponencial de la entrada. Equivalentes a las ecuaciones: DELAY1 = LV / tiempo de retardo LV = INTEG (entrada-DELAY1, entrada * tiempo de retardo) DELAY1I = LV / tiempo de retardo LV = INTEG (entrada-DELAY1I, valor inicial * tiempo de retardo) DELAY3 DELAY3 (ENTRADA, TIEMPO DE RETARDO) RETRASO DE 3ER ORDEN EXPONENCIAL DELAY3I DELAY3I (ENTRADA, TIEMPO DE RETARDO, EL VALOR INICIAL) RETRASO DE TERCER ORDEN EXPONENCIAL CON VALOR INICIAL Devuelve una tercera orden de retardo exponencial de la entrada, la conservación de la entrada si el tiempo de retardo cambia. Equivalentes a las ecuaciones: Delay3 = LV3/DL LV3 = INTEG (RT2-Delay3, DL * entrada) RT2 = LV2/DL LV2 = INTEG (RT1-RT2, LV3) RT1 = LV1/DL LV1 = INTEG (entrada-RT1, LV3) DL = tiempo de retardo / 3

EXP (X)

Exponencial de (e ^ X) Devuelve “e a la potencia de X". Igual que la función POWER (e, X), donde e=2.718... Unidades: EXP (adimensional) àdimensiones (el argumento debe ser adimensional) Ejemplos EXP (1.0) es igual a 2.718282. EXP (0.0) es igual a 1.0. EXP (-10,0) es igual a 4.540E-5.

Page 3: Todas Las Funciones en Vensim - Copia

EXP (10.0) es igual a 22.026,46. EXP (LN (10.0)) es iguala 10,0(por definición).

IF THEN ELSE

SI -ENTONCES -CASO CONTRARIO(cond, tval, FVal) Devuelve primer valor (tval) si la condición (cond) es verdadera; segundo valor (FVal) si la condición es falsa. COND debe ser una expresión booleana o una expresión o variable que se puede interpretar como Boolean. Sólo el valor devuelto se evalúa, por lo que el valor que podría ser una expresión que daría lugar a un error. Tenga en cuenta que las expresiones tales como (a> b) exigir que A y B tienen la misma dimensión y la expresión resultante se considera que es adimensional Ejemplos SI ENTONCES CASO CONTRARIO (1.0 <2.0, 3.0, 4.0) es igual a 3.0. SI ENTONCES CASO CONTRARIO (1.0> 2.0, 3.0, 4.0) es igual a 4.0. SI ENTONCES CASO CONTRARIO (X = 0.0, 1.0, 1.0 / X) es igual a 1 / X a menos que X es de 0.0 cuando es igual a 1.0. Si X es 0.0, Vensim no intentará calcular 1 / X y no habrá error.

INTEGER(x) i

INTEGER (x) la parte entera de x Ejemplo ENTERO (5,4) es de 5,0

LN(X)

LN (X) Logaritmo natural de [variable] Devuelve el logaritmo natural de X. Ejemplos

Page 4: Todas Las Funciones en Vensim - Copia

LN (2.718282) es igual a 1.0. LN (-5,0) se produce un error (LN de un número <= 0 no está definido). LN (EXP (2.0)) es igual a 2,0 (por definición).

MAX(A,B)

MAX(A, B) Máximo de dos alternativas Devuelve el mayor de A y B. Ejemplos MAX(1,2) es igual a 2.0. MAX (1,1) es igual a 1.0.

MIN(A,B)

MIN (A, B) un mínimo de dos alternativas Devuelve el menor de A y B. Ejemplo: MIN (5,1) es igual a 1.0.

MODULO(A,B)

MODULO(A, B) módulo de a respecto a b Devuelve el resto cuando A está dividido por B. Ejemplos MODULO (9,5) es igual a 4.0. MODULO (76.5, 70) es igual a 6.5. MODULO (8.3, 7.3) es igual a 1.0

PULSE

Page 5: Todas Las Funciones en Vensim - Copia

PULSO (inicio, ancho) Devuelve 1.0, a partir de la hora de inicio, y duradera para el ancho de intervalo; 0.0 se devuelve el resto del tiempo. Lo mismo que: IF THEN ELSE (hora de inicio más>: Y: tiempo más< (inicio +ancho)), 1.0, 0.0) más el tiempo=tiempo+ (TIEMPO PASO/2.0) Con PULSE, Vensim Crea vez más internos para evitar errores de redondeo en la comparación de tiempo con inicio + ancho. Ejemplo tarea activa=PULSE (inicio de la tarea, duración de la tarea)

PULSE TRAIN

TREN DE PULSO (inicio, ancho, tbetween, final) Devuelve 1.0, a partir de hora de inicio y duración de la anchura de intervalo y luego repite este patrón cada tbetween tiempo; 0.0 Se devuelve el resto del tiempo. Si el valor de tbetween es más pequeña que el ancho de entonces 1 se devolverán entre el inicio y el final. Si el ancho es menor o igual a PASO TIEMPO los pulsos sólo duran un paso de tiempo. El valor devuelto por tren de pulsos depende sólo de los argumentos del te le pasan. Normalmente, esta función se llama con constantes. Sin embargo, se le puede llamar con variables dinámicas o expresiones en cuyo caso el patrón de salida real puede no ser regular. Con PULSE, Vensim Crea vez más internamente para evitar errores de redondeo en la comparación de tiempo con el comienzo + ancho. NOTA El valor devuelto por tren de pulsos no cambia excepto a intervalos paso de tiempo, independientemente de la técnica de integración utilizado. Unidades: PULSE (hora, tiempo) -> adimensional (inicio y ancho de tener las mismas unidades que el tiempo, el resultado de PULSE es adimensional) Ejemplo Es de día = tren de pulsos (8,12,24, TIEMPO FINAL)

RAMP

RAMP (pendiente, hora de inicio, hora de finalización)

Page 6: Todas Las Funciones en Vensim - Copia

Devuelve 0 hasta la hora de inicio y luego se desliza hacia arriba hasta la hora de finalización y luego mantiene constante. Ejemplo RAMP (1, 10,25) es 0 hasta la hora 10, luego de una línea de 15 en el momento de 25, entonces 15 después.

RANDOM NORMAL

Aleatoria Normal (m, x, h, r, s) proporciona una distribución normal de media 0 y varianza 1 antes de que se estira, se movió y truncado. Esto es equivalente a una distribución normal con H media y desviación estándar r. Las unidades de r deben coincidir m, x y h.

RANDOM UNIFORM

ALEATORIO AL AZAR (m, x, s) proporciona una distribución uniforme entre m y x.

REINITIAL(X) REINITIAL es el mismo que INICIAL excepto cuando una simulación se reinicia desde otra simulación. En este caso REINITIAL se computará mientras que no lo hará INICIAL. SIN(X) Devuelve el seno de las veces útil para probar la respuesta dinámica de un sistema de X.. SIN es periódica en X en el rango de 0 a 2 pi radianes. Ejemplos sin (0.0) es igual a 0,0. sin (1.0) es igual a 0.84147. SMOOTH LISA (entrada, tiempo de retardo) exponencial LISO. SMOOTH I LISA I (entrada, tiempo de retardo, el valor inicial) exponencial LISO con inicial Devuelve una exponencial suave de la entrada. Equivalentes a las ecuaciones: LISO = INTEG ((input-SMOOTH) / tiempo de retardo, de entrada) Smoothi = INTEG ((input-Smoothi) / tiempo de retardo, el valor inicial)

Page 7: Todas Las Funciones en Vensim - Copia

Ejemplo

S = STEP (10,40) SS = LISA (S, 20) SSI = Smooth I (S, 20,5) SMOOTH3 SMOOTH3 (entrada, tiempo de retardo) tercera orden exponencial LISO SMOOTH3I LISA 3 I (entrada, tiempo de retardo, el valor inicial) tercera orden exponencial LISO con inicial

Devuelve una tercera orden exponencial lisa de la entrada. Equivalentes a las ecuaciones:

SMOOTH3 = INTEG ((LV2-SMOOTH3) / DL,de entrada)

LV2 = INTEG ((LV1-LV2) / DL, de entrada)

LV1 = INTEG (() / DL, la entrada IN-LV1)

DL = tiempo de retardo / 3

SMOOTH3I = INTEG ((LV2-SMOOTH3I) / DL, valor inicial)

LV2 = INTEG ((LV1-LV2) / DL, valor inicial)

LV1 = INTEG ((IN-LV1) / DL valor inicial)

DL = tiempo de retardo / 3

Page 8: Todas Las Funciones en Vensim - Copia

Las unidades de entrada coinciden con las unidades de salida. Las unidades de tiempo de retardo

deben coincidir con los de paso de tiempo. Para las unidades SMOOTH3I para el valor inicial debe

coincidir con las de la entrada.

Ejemplo

S = STEP (10,40)

SS = SMOOTH3 (S, 20)

SSI = SMOOTH3I (S, 20,5)

SQRT(X) Devuelve la raíz cuadrada de X. Si el argumento tiene unidades que son el cuadrado perfecto, el resultado será la raíz cuadrada de las unidades. Si el argumento es sin dimensiones, el resultado debe ser adimensional. Ejemplo: Sqrt (9.0) es igual a 3,0. STEP PASO (altura, el tiempo de paso)

Devuelve 0 hasta que el tiempo de paso y luego regresa altura. Es lo mismo que:

Page 9: Todas Las Funciones en Vensim - Copia

SI ENTONCES SINO (Hora plus> tiempo de paso, altura, 0) tiempo más = Tiempo + (PASO TIEMPO / 2,0) NOTA El valor devuelto por STEP no cambia excepto a intervalos paso de tiempo, independientemente del método de integración utilizado. Ejemplo STEP (10,20) es 0 hasta la hora 20, luego 10. XIDZ(A,B,X) XIDZ (A, B, X) Si X dividido por cero (de lo contrario A / B) Devuelve Un dividido por B. Si B es cero, entonces regresa X. XIDZ se utiliza normalmente para expresar algún límite de A / B, como B se aproxima a 0 (que normalmente sería definida para B = 0). Ejemplos XIDZ (3, 4, 1) es igual a 0,75. XIDZ (3, 0, 1) es igual a 1,0. ZIDZ(A,B) ZIDZ(A, B) SI CERO DIVIDIDO POR CERO (DE LO CONTRARIOA /B) Divide A por B. Si B es cero (en realidad menor que 1E-6), a continuación, volver 0.0. ZIDZ normalmente se utiliza para expresar el caso especial en que el límite de A / B, como B se acerca a 0, es 0. Ejemplos ZIDZ (3, 4) es igual a 0,75. ZIDZ (3, 0) es igual a 0. -DELAYP DELAYP (entrada, tiempo de retardo: tubería) 3er orden RETRASO exponencial con Pipeline Devuelve una tercera orden de retardo exponencial de la entrada y calcula la tubería en el progreso, la conservación de la entrada si los cambios de hora de retraso. Equivalentes a las

Page 10: Todas Las Funciones en Vensim - Copia

ecuaciones: DELAYP = LV3/DL pipeline = LV3 + + LV1 LV2 LV3 = INTEG (RT2-DELAYP, DL * IN) RT2 = LV2/DL LV2 = INTEG (RT1-RT2, LV3) RT1 = LV1/DL LV1 = INTEG (entrada-RT1, LV3) DL = tiempo de retardo / 3 Salida de las unidades de entrada y unidades de partido de la tubería. Las unidades de tiempo de retardo deben coincidir con los de paso de tiempo. Ejemplo terminaciones de productos = DELAYP (comienza producto, tiempo de producción: trabajo en progreso) (Tenga en cuenta que no hay ecuación para el trabajo en curso en el modelo) NOTA DELAYP se admite como una taquigrafía conveniente, pero no se recomienda para su uso generalizado. Las siguientes ecuaciones tienen el mismo efecto, y son más fáciles de entender: terminaciones de productos = Delay3 (arranques de productos, tiempo de producción) trabajo en progreso = INTEG (producto comienza - terminaciones de productos, comienza producto * El tiempo de producción) 34-FORECAST PRONÓSTICO (entrada, el tiempo promedio, horizonte) se prevé una tendencia extrapolando Devuelve una previsión del valor de la entrada asumirá en Time + Horizon. Equivalentes a las ecuaciones: PRONÓSTICO = entrada * (1 + * TRD horizonte) TRD = ZIDZ (entrada-AV, el tiempo medio * AV)

Page 11: Todas Las Funciones en Vensim - Copia

AV = INTEG ((entrada-AV) / tiempo promedio, ininput) La función PRONOSTICO proporciona un pronóstico extrapolación de tendencias muy simple del valor futuro de una variable en función de su comportamiento en el pasado. Como cualquier extrapolador tendencia que funciona muy mal en plazos de entrega. Ejemplo R = 10 + RAMP (1,10,60) RD = retardo fijo (R, 10, R) FR = PRONOSTICO (RD, 5,10) NPV NPV (corriente, tasa de descuento, val init, los factores) Devuelve el valor actual neto de la corriente calculada utilizando la tasa de descuento. El valor inicial se determina por Val init (generalmente 0) y el valor se informó después de multiplicar por el factor (por lo general 1). Equivalentes a las ecuaciones: MYNPV = (VAN Acum + TIEMPO PASO * stream * df) * factor de Npv Acum = INTEG (corriente * df, val init) df = INTEG (df * tasa de descuento, 1) Unidades: VNA (unidades, 1/tiempo, unidades * de tiempo, sin dimensión) -> unidades * El tiempo Ejemplos NPV (flujo de efectivo, tasa de descuento, 0,1) devuelve el valor actual neto con respecto al tiempo inicial para el flujo de caja para Time. NPV (flujo de efectivo, tasa de descuento, 0, exp (tasa de descuento * (TIME-Time INICIAL)) devuelve el valor actual neto en el tiempo para el flujo de caja para Time. Tenga en cuenta que el VAN no descuenta el valor del periodo actual de la secuencia. Si está acostumbrado a utilizar el VAN como calculado por Excel que se desea utilizar NPVE INSEAD. NPVE

Page 12: Todas Las Funciones en Vensim - Copia

NPVE (flujo, tasa de descuento, val init, los factores)Valor actual neto con Finalización del periodo de valoración Devuelve el valor actual neto de la corriente calculada utilizando la tasa de descuento. El cálculo hecho supone que la corriente es calculado al final del período, y que la tasa de descuento está pensado como una discreta tasa de período. Este es el mismo conjunto de supuestos que utiliza Excel y puede ser útil si usted está tratando de conseguir un poco de base para la comparación. Equivalentes a las ecuaciones: MYNPVE = (VAN Acum + TIEMPO PASO * stream * df) * factor de Npv Acum = INTEG (corriente * df, val init) df = INTEG (df-tasa de descuento * / (1 + tasa de descuento * El paso de tiempo),1 / (1 + tasa de descuento * PASO TIEMPO)) Unidades: NPVE (unidades, 1/tiempo, unidades * de tiempo, sin dimensión) -> unidades * El tiempo Ejemplos NPVE (flujo de efectivo, tasa de descuento, 0,1) devuelve el valor actual neto con respecto al tiempo inicial para el flujo de caja para Time. NPVE (flujo de efectivo, tasa de descuento, 0, (1 + tasa de descuento * El paso de tiempo) ^ ((TIME-tiempo inicial) / tiempo de paso)) devuelve el valor actual neto en el tiempo para el flujo de caja para Time. La diferencia entre el VAN y NPVE es bastante pequeño. Para los modelos que no tienen tiempo de paso> = 1 lo mejor es seguir con el VAN. TREND TENDENCIA (entrada, el tiempo medio, la tendencia inicial) Calcular la tendencia de la entrada Devuelve la tasa media de crecimiento fraccional (negativo para el descenso) en la entrada. Equivalentes a las ecuaciones: TENDENCIA = ZIDZ (entrada Avval, tiempo medio * ABS (Avval)) Avval = INTEG ((entrada Avval) / tiempo medio, de entrada / (1 + ini * Tiempo averate)) La función TENDENCIA proporciona una estimación muy simple tendencia de una variable. En realidad, sólo tiene sentido para los números que son siempre positivas y no se ponen muy cerca de cero. Si usted quiere a la tendencia un número que puede ser positiva o negativa la función TENDENCIA no es muy útil. En su lugar, debe utilizar la tendencia fraccional con respecto a una

Page 13: Todas Las Funciones en Vensim - Copia

cantidad que es siempre positiva (por ejemplo, el cambio en el resultado como una fracción de los ingresos brutos). Ejemplo R = 10 + RAMP (1,30,70) TR = TENDENCIA (R, 5, 0,08) ALLOC P ALLOC P (solicitud, la prioridad, el ancho, mp) Mismo propósito que allocate by priority sino que se utiliza en conjunción con la función marketp. Devuelve la cantidad de un pedido asignado a un sector con la solicitud y la prioridad dada. ALLOCATE AVAILABLE ASIGNAR DISPONIBLE (solicitud, pp, disponible)

Esta función se utiliza para asignar la cantidad disponible de un recurso escaso a los solicitantes

sobre la base de la prioridad de las solicitudes. Requiere que la variable izquierda y la solicitud

tendrá el mismo final, subíndice y que pp tener esa penúltima subíndice y un subíndice ppriority

pasado. Esta función es una generalización del ASIGNAR POR PRIORIDAD y se describe de forma

más completa en la sección Asignación.

solicitud debe ser una variable con subíndice, y su subíndice final debe coincidir con el de la mano

izquierda. Representa la (saciedad) la cantidad solicitada por los diferentes agentes.

PP es el perfil de prioridad. Se utiliza para definir la forma de la curva que define la cantidad de la

cantidad disponible una solicitud recibe en condiciones de escasez. Debe tener como subíndice

último subíndice pProfile como se discutió en la sección Asignación. Todos los elementos deben

ser positvive. Prioridades y anchos también deben ser del mismo orden de magnitud.

Page 14: Todas Las Funciones en Vensim - Copia

disponible es la cantidad total disponible para cumplir con todas las solicitudes. Si esta excede el

total de solicitudes, todas las solicitudes se llenan, pero ninguno se ha sobrecargado.

NOTEALLOCATE IMPORTANTE POR PRIORIDAD es sensible al orden de los subíndices! Si usted

tiene más de un rango subíndice en las variables que utiliza, los elementos de la petición debe ser

la última en el lado izquierdo y la solicitud, y la segunda a durar en las páginas

Tenga en cuenta que las prioridades y los anchos especificados deben ser todas del mismo orden

de magnitud. Por ejemplo, no tiene sentido tener una prioridad sea 20 y otro 2E6 si el ancho es de

100.

ASIGNAR DISPONIBLE puede utilizarse para devolver las asignaciones de números enteros

mediante la adición de 10 a la forma especificada en pp

Ejemplo

rama: Boston, Dayton, Fresno

pProfile: ptype, ppriority, pWidth, pextra

demanda [Rama] = 500300750

Unidades: Widget / Mes

prioridad [Boston, pProfile] = 1,5,2,0

prioridad [Dayton, pProfile] = 1,7,4,0

prioridad [Fresno, pProfile] = 1,3,4,0

Unidades: MDLN

Los envíos [rama] = ALLOCATE DISPONIBLE (demanda [rama],

prioridad [rama, ptype], la oferta disponible)

Unidades: Widget / Mes

Page 15: Todas Las Funciones en Vensim - Copia

ALLOCATE BY PRIORITY ASIGNAR POR PRIORIDAD (solicitud, prioridad, tamaño, anchura, alimentación) Esta función se utiliza para asignar una escasa oferta a un número o las solicitudes sobre la base de la prioridad de las solicitudes. Funciona sólo cuando la mano izquierda, la solicitud y la prioridad de todos tienen el mismo subíndice final. Si el suministro es más grande que la suma de solicitud a través de elementos de tamaño a continuación, se cumplen las peticiones (ninguno se llena en exceso). Si la oferta es más pequeña que se produce racionamiento. La forma en que funciona el racionamiento está determinada por las prioridades relativas y el parámetro de anchura. La sección de asignación en este manual detalla el algoritmo utilizado para esta función. Los dos primeros argumentos (solicitud, la prioridad) deben ser vectores (de tamaño de longitud). Es decir, el (último) subíndice de la solicitud y la prioridad debe variar a través de los diferentes elementos de la demanda. La variable lado izquierdo también debe tener su último subíndice variable a través de los diferentes elementos de la demanda. NOTEALLOCATE IMPORTANTE POR PRIORIDAD es sensible al orden de los subíndices! Si usted tiene más de un rango subíndice en las variables que utiliza, los elementos de la demanda deben ser el último subíndice para la variable izquierda, solicitud y prioridad. Tamaño es el número de elementos a través de la cual se efectúa la asignación. Normalmente esto se hace usando la función ELMCOUNT como en el ejemplo. También puede ser un número o una constante subíndice. Anchura especifica qué tan grande se requiere un vacío en la prioridad de tener la asignación de ir primero a una prioridad más alta, con sólo las sobras de ir a una prioridad menor. Cuando la distancia entre dos prioridades excede la anchura y la mayor prioridad no recibe su solicitud completa recibirá la prioridad más baja nada. La oferta es la oferta total disponible para satisfacer todas las solicitudes. Si la oferta supera la totalidad de las solicitudes, todas las solicitudes se llenan, pero ninguno se ha sobrecargado. Si desea conservar el material debe calcular de alimentación negativa total de asignaciones de manera explícita. Unidades: ASIGNAR POR PRIORIDAD (unidades, sin dimensiones, sin dimensiones, sin dimensiones, unidades) -> unidades Ejemplo País: EE.UU., China, Rusia Índice ~ ~ los países sobre los que un recurso escaso deberá asignarse | deseado [país] = 10, 2, 8 ~ Toneladas / mes

Page 16: Todas Las Funciones en Vensim - Copia

~ Cantidad deseada de escaso recurso | prioridad [país] = 10, 10, 10 ~ Adimensional ~ Prioridad para recibir el recurso; mayor número indica mayor prioridad | SUMINISTRO = 10 ~ Toneladas / mes ~ Oferta disponible de recurso | ANCHO = 1 ~ Adimensional ~ Ancho de cada rectángulo prioridad | entregado [país] = ASIGNAR POR PRIORIDAD (deseado [país], prioridad [país], ELMCOUNT (país), ANCHO, OFERTA) ~ Toneladas / mes ~ Cantidad de alimentación suministrada a un país específico | En este ejemplo, el suministro de 10 toneladas / mes se asigna a tres países que tienen una solicitud total de la oferta equivale a 20 toneladas / mes. Debido a la prioridad de cada uno es la misma, cada país recibe la misma fracción de su petición (50% en el ejemplo). Si la prioridad había sido más alta para un país específico que habría recibido una mayor que la parte proporcional de los recursos. ARCCOS(x) ARC (inverso) coseno de x Devuelve el arco coseno de X en el rango de 0 a π. Si X es mayor que 1 o menos de -1 se genera un error de punto flotante. Unidades: ARCCOS (sin dimensiones) -> adimensionales ARCSIN(x) ARC (inverso) seno de x Devuelve el arco seno de x en el intervalo-π / 2 a π / 2. Si X es mayor que 1 o menos de -1 se genera un error de punto flotante. Unidades: ARCSEN (adimensional) -> adimensional ARCTAN(X) ARC (inverso) tangente de X Devuelve el arco-tangente de X en el intervalo-π / 2 a π / 2. Unidades: ARCTAN (adimensional) -> adimensional Ejemplos ARCTAN (0.0) es igual a 0,0.

Page 17: Todas Las Funciones en Vensim - Copia

COS( X ) Coseno de x Devuelve el coseno de X. A veces útil para probar la respuesta dinámica de un sistema. COS es periódica en X en la gama de 0 a 2π radianes. Unidades: COS (adimensional) -> adimensional Ejemplos COS (0.0) es igual a 1,0. COS (p / 2) es igual a 0,0. COSH( X ) Coseno Hiperbólico de x Devuelve el coseno hiperbólico de X. Unidades: cosh (adimensional) -> adimensional ejemplo Cosh (0.0) es igual a 1,0. Cosh (1.0) es igual a 1,54. DEMANDAT PRICE DEMANDA EN PRECIO (q, pp, precio) Calcula la cantidad que se demanda a un precio determinado en base a la cantidad q demanda saciedad y el perfil de preferencias demanda pp El argumento del precio normalmente se calcula utilizando la función FIND PRECIO DE MERCADO. Tanto q y pp deben subindicadas las variables y los subíndices para pp deben ser los subíndices para q seguido por unos subíndices pProfile. Consulte la sección Asignación para más detalles. Ejemplo cantidad demandada [demandante] = DEMANDA EN PRECIO (exigir la saciedad [demandante], curva de demanda [demandante, ptype], precio de mercado) ELMCOUNT ELMCOUNT (Rango) “El elemento Count de Rango Subíndice”

Page 18: Todas Las Funciones en Vensim - Copia

ELMCOUNT devuelve el número de elementos en una gama subíndice. Sólo se necesita el nombre de una gama subíndice como argumento. Es lo mismo que usar el último elemento de la gama subíndice, pero se actualizará automáticamente si agrega elementos a la gama subíndice. Ejemplo lugar: boston, parís, londres ELMCOUNT (lugar) es igual al 3 48-FIND MARKET PRICE(dq,dp,sq,sp) ENCONTRAR PRECIO DE MERCADO (dc, dp, cuadrados, sp) Devuelve el precio por el que la oferta y la demanda del mercado son iguales. Esta función se puede utilizar en situaciones en las que tanto la demanda de un bien o servicio y el suministro de la misma puede variar. Esto está en contraste con la función disponible ASIGNAR que es apropiado cuando sólo uno de oferta o la demanda puede variar. Aunque la función tiene "precio" en su nombre puede ser aplicado en situaciones en que no es el precio, pero algún otro mecanismo de priorización que está activo. La función se pasa a la cantidad de la demanda la saciedad por los diferentes demandantes en dq y los perfiles de demanda en dp. Las capacidades de suministro están contenidos en sp con los perfiles asociados en sp. Los detalles sobre cómo se construyen las cantidades y los perfiles se encuentran en la sección Asignación. dq mosto tiene como último subíndice un rango para los demandantes y dp debe tener esta seguido por una serie pProfile como sus dos últimos subíndices. Del mismo modo, sq debe tener la lista de proveedores como su último subíndice y SQ esta seguido por una serie pProfile. El resultado no debe tener los proveedores, demandante o pProfile subíndices y los argumentos debe ser aprobada por el primer elemento en la Cordillera Subíndice en lugar del nombre de la Cordillera de subíndice. El resultado de esta función se transmite normalmente a la demanda en el precio y la oferta de AT funciones PRECIO para calcular las demandas y las ofertas actuales. Ejemplos proveedor: s1, s2 demandante: d1, d2, d3 pProfile: ptype, ppriority, pWidth, pextra demanda saciedad [demandante] = 500300 Unidades: Widget / Mes La capacidad de suministro [proveedor] = 200300450 Unidades: Widget / Mes

Page 19: Todas Las Funciones en Vensim - Copia

curva de demanda [d1, pProfile] = 3,5,2,0 curva de demanda [d2, pProfile] = 3,7,4,0 Unidades: $ / Widget curva de oferta [s1, pProfile] = 3,1,2,0 curva de oferta [s2, pProfile] = 3,3,4,0 curva de oferta [s3, pProfile] = 3,5,4,0 Unidades: $ / Widget de PRECIO DE MERCADO precio de mercado = FIND ( exigir la saciedad [d1], la curva de demanda [d1, ptype], capacidad de oferta [s1], la curva de oferta [s1, ptype]) Unidades: $ / Widget cantidad suministrada [proveedor] = SUMINISTRO EN PRECIO ( capacidad de suministro [proveedor], la curva de oferta [proveedor ptype], precio de mercado) Unidades: Widget / Mes cantidad demandada [demandante] = DEMANDA EN PRECIO ( demanda saciedad [demandante], la curva de demanda [demandante, ptype], precio de mercado) FIND ZERO ENCONTRAR CERO (xs, z, zs, xi, n, saltar, tol, iter max, método) Devuelve un vector de valores que hacen cero z. La función CERO FIND se utiliza para resolver ecuaciones algebraicas simultáneas no lineales. Está diseñado para ser utilizado en situaciones en las que la función simultánea no funcionará. FIND CERO resuelve para el valor del vector x que hará que cero Z (donde x es la variable en el lado izquierdo de la ecuación). Sólo se puede utilizar con las variables con subíndice.

Page 20: Todas Las Funciones en Vensim - Copia

NOTA La función FIND ZERO tiene realmente el control del último bucle subíndice. Debido a esto la variable en el lado izquierdo de la ecuación (x) puede ser pensado como un argumento oculto a la función. Si desea utilizar esta función con variables que tienen más de un subíndice la función de operar sólo en el subíndice final. Argumentos XS es un vector de escala para x. Después de multiplicar x por este vector de todos los valores de a continuación, el producto debe ser del orden de magnitud de 1. XS deben ser un vector de la misma longitud que x y será a menudo un vector de unos. z es el vector de los valores que se deben poner a cero mediante la selección apropiada de x. Si la forma funcional resolverse es y = f (y) entonces z se establece en y - f (y) en la otra ecuación. Z debe ser un vector de la misma longitud que x. ZS es un vector de escala para z. Después de multiplicar Z por este vector los resultados deben ser todas del orden de magnitud de 1. ZS deben ser un vector de la misma longitud que x y será a menudo un vector de unos. xi es el conjunto inicial de valores que x se iniciará con la búsqueda de la solución. Dependiendo del problema, una buena estimación inicial puede ser esencial para encontrar una solución. xi debe ser un vector de la misma longitud que x. En algunos casos, un vector de unos será suficiente. n es el número de elementos del vector en los vectores. Esta es casi siempre ELMCOUNT (Z), aunque un número menor se puede utilizar si es apropiado. Tenga en cuenta que de salto se debe utilizar para marcar los sistemas que son homogéneas de grado 0, no debe disminuir el valor de n. skip especifica cuántos elementos del vector debe ser omitido en la solución de x. Para los sistemas de ecuaciones que son homogéneas de grado 0, esto debe establecerse en 1 para saltar al primer elemento, o -1 para omitir el último elemento. Si es cero, se omitirá ningún elemento. Puede haber situaciones eran otros valores se podrían utilizar. Todos los elementos de x se inicializan usando XI si son para ser omitidos en el cálculo de x activo o no. tol especifica la tolerancia que debe ser logrado en la reducción a cero z. Si se pone demasiado pequeños problemas numéricos pueden evitar que sea alcanzado. En general, 001 es probablemente una opción razonable. max iter especifica se declarará el número máximo de iteraciones que se tomarán antes de la falla. Un valor de 100 es razonable para hacerlo. Con mayor frecuencia se traducirá fracaso cuando no es posible acercarse a 0 en una iteración. método determina el método que se utiliza para encontrar el cero. 0 indica el uso de una búsqueda Broydn. 1 es el mismo que cero, excepto que el valor de búsqueda inicial se restablece cada vez. Esto a

Page 21: Todas Las Funciones en Vensim - Copia

veces puede ayudar cuando hay problemas de convergencia aunque será, en general, lenta simulación considerablemente. Cualquier otro valor se trata igual que un 1. Restricciones: El hallazgo CERO función debe aparecer en primer lugar en el lado derecho y no ser seguido por cualquier otra cosa. No puede haber ningún bucle cerrado simultánea dentro del bucle de X a Z (dicho de otro modo, dado X debe ser posible calcular el valor de z en una cadena sencilla). Subíndice Nota: La FIND CERO función está diseñada para trabajar con un vector de valores, sino también trabajará con valores escalares. Ejemplos x = ENCONTRAR CERO (uno, z, uno, uno, 1,0,0.01,100,0) z = (x-objetivo) ^ 2 uno = 1 Solución de lo anterior el uso de FIND CERO resultará en x se fija igual al objetivo. productos básicos: c1, c2, c3 los [productos básicos] = 1 precio [commod] = ENCONTRAR CERO (los [productos básicos], exceso de demanda [commod], los [productos básicos], los [productos básicos], 3,0, .01,100,0) exceso de demanda [commod] = demanda [commod] - Fuente de [productos básicos] suministro [commod] = Precio [commod] demanda [commod] = 100 - Precio [commod] Solución de lo anterior dará lugar a un precio de 50 para cada producto. Disponibilidad: Profesional y DSS solamente. GAMMA LN(X) Devuelve el logaritmo natural de la función gamma de la función X. El GAMMA es una generalización de la función factorial que funciona en todos los valores positivos de X. Para un entero N el factorial de N es igual a la función GAMMA de N +1. La función gamma LN es muy útil para el cálculo de factores combinitorial.

Page 22: Todas Las Funciones en Vensim - Copia

Ejemplo EXP (gamma LN (4)) es igual a 6 o 3 factorial EXP (GAMMA LN (cosas a escoger de 1) - GAMMA LN (cosas para elegir, las cosas tomaron 1) - GAMMA LN (cosas recogieron 1)) es el número de combinaciones posibles GET TIME VALUE OBTENGA EL VALOR DEL TIEMPO(relativa a, compensar,measure)

Devuelve la medida de tiempo determinado en relación con la compensación en la cantidad

especificada de tiempo actual, inicial o un reloj. Esto le permite obtener valores para el mes del

año, el día del mes y el día de la semana, entre otros.

relativa a: 0 para el tiempo de simulación actual, 1 para el tiempo inicial de simulación y 2 para la

hora del reloj del ordenador actual.

desplazamiento es la diferencia en el tiempo, medido en unidades de tiempo para el modelo, para

mover antes de calcular el valor. desplazamiento se ignora cuando relativeTo es 2.

medida le permite elegir entre las distintas unidades y medidas de tiempo. Los valores son:

0 unidades de tiempo en el modelo (sólo para relativeTo 0 y 1)

1 año desde el 1 de BC (un número entero, igual que el año calendario normal)

2 trimestre del año (1-4)

3 meses del año (1-12)

4 días del mes (1-31)

5 días de la semana (0-6, donde 0 es el domingo)

6 días desde el 01 de enero., 1 aC (año 1 aC se trata como el año 0)

7 horas del día (0-23)

8 minutos de la hora (0-59)

Page 23: Todas Las Funciones en Vensim - Copia

9 segundos del minuto (0-59,99 - no es un entero)

10 segundos transcurridos modulo 500000 (0-499,999)

Medida 10 está concebido principalmente como un mecanismo conveniente para inicializar SEED

ruido cuando se desea que cada simulación generar un resultado diferente.

Debido a que las unidades correctas dependen del valor de las unidades finales de comprobación

no se lleva a cabo en esta función. Su uso es el mismo que el uso de un número en una ecuación

en la medida de como unidades están preocupados.

Notas: Esta función utiliza el etiquetado el tiempo establecido en el Modelo> Ajustes> Hora

límites. Si las unidades para este año son, trimestre o mes y luego días y las fechas se calculan

utilizando un año de 360 días. Si las unidades son semanas o días días y las fechas reales se

calculan acomodar los años bisiestos. Si las unidades son horas, minutos o segundos año, mes,

trimestre y día están todos ajustados a 0.

Ejemplo

Igual que el tiempo = OBTENER VALOR HORA (0,0,0) {retornos mismo valor que Tiempo}

SEMILLA DE RUIDO = INICIAL (GET VALOR HORA (2,0,10)) {semilla aleatoria diferente cada inicio}

TIEMPO INICIAL = INICIAL (GET VALOR HORA (2,0,6) -730484) {using esto y HORA FINAL = INICIAL

(LARGO TIEMPO INICIAL) comenzará simulaciones en la fecha actual.

52- INVERT MATRIX(mat,n)

Devuelve la inversa de la matriz MAT de nxn.

Esto devuelve la inversa de una matriz de dos dimensiones.

Restricciones: MATRIZ DE INVERTIR debe aparecer primero en el lado derecho de una ecuación y

no ser seguido por cualquier otra cosa. Tanto colchoneta y las variables del lado de la mano

izquierda hay que subindicadas las variables con las últimas dos subíndices cada uno con n

elementos.

Page 24: Todas Las Funciones en Vensim - Copia

Unidades: invertir una matriz (unidades, MDLN) -> unidades

Ejemplo

substitución: s1, s2

ssub <-> sub

un [s1, sub] = 1,2

un [s2, sub] = 3,4

ainverse [sub, ssub] = Invertir MATRIX (a [sub, ssub], 2)

Daría lugar a una inversa de:

-2, 1

1,5, - 0,5

LOG( x, y )

Devuelve el logaritmo de X para una base dada.

Unidades: LOG (sin dimensiones, dimensiones) -> adimensional (todos los términos deben ser

adimensional)

Ejemplos

LOG (4,2) es igual a 2,0, LOG (4,16) es igual a 0,5

LOG (0,5) es un ERROR (LOG de una serie <= 0 no está definido).

LOG (de encendido (A, 5), A) es igual a 5,0 (por definición).

LOOKUP AREA

ÁREA DE BUSCAR (búsqueda, inicio, fin)

Devuelve el área bajo una tabla de consulta entre el inicio y el final. Esto es útil para normalizar las

operaciones de búsqueda en problemas tales como la determinación de la intensidad del esfuerzo

en un proyecto determinado la fracción de trabajo que se ha completado.

Inicio y fin debe tener las mismas unidades y las unidades de los tiempos de búsqueda de las

Page 25: Todas Las Funciones en Vensim - Copia

unidades de la entrada se devuelven.

Ejemplo

Look ((0,1), (1,1), (2,2))

BUSCAR ÁREA (LOOK, 0,1) es igual a 1,0

BUSCAR ÁREA (LOOK, 2,4) es igual a 4,0

BUSCAR ÁREA (LOOK, .5,2.5) es igual a 3,0

LOOKUP BACKWARD

BUSCAR ATRÁS (lookup, x)

Permite controlar el modo de interpolación de una tabla de búsqueda para que el valor anterior y

se mantiene entre los valores de x en lugar de interpolada.

Así como para el uso normal de búsqueda se espera que el argumento x de ser adimensional. En

caso contrario, se emite una advertencia, pero no un error.

ejemplo

Look ((0,1), (1,1), (2,2))

BUSCAR ATRÁS (LOOK, -1) es igual a 1,0

BUSCAR ATRÁS (LOOK, 1.5) es igual a 1,0

BUSCAR ATRÁS (LOOK, 2.5) es igual a 2,0

LOOKUP EXTRAPOLATE

Extrapolar de consulta (BUSCAR, x)

Le permite especificar la extrapolación de los pares de búsqueda extremas cuando la entrada está fuera del rango de la búsqueda. Esto también suprime cualquier de los mensajes de advertencia rango que se puedan generar.

Page 26: Todas Las Funciones en Vensim - Copia

Así como para el uso normal de búsqueda se espera que el argumento x de ser adimensional. En caso contrario, se emite una advertencia, pero no un error. Ejemplo Look ((0,1), (1,1), (2,2)) BUSCAR extrapolar (LOOK, -1) es igual a 1,0 BUSCAR extrapolar (LOOK, 1.5) es igual a 1,5 BUSCAR extrapolar (LOOK, 2.5) es igual a 2,5 LOOKUP FORWARD

Búsqueda directa (búsqueda, x) Permite controlar el modo de interpolación de una tabla de búsqueda para que el siguiente valor y se utiliza entre los valores de x en lugar de interpolada. Así como para el uso normal de búsqueda se espera que el argumento x de ser adimensional. En caso contrario, se emite una advertencia, pero no un error. Ejemplo Look ((0,1), (1,1), (2,2)) Búsqueda directa (LOOK, -1) es igual a 1,0 Búsqueda directa (LOOK, 1.5) es igual a 2,0 Búsqueda directa (LOOK, 2.5) es igual a 2,0

LOOKUP INVERT

BUSCAR INVERT (lookup, y)

Busca la entrada que, cuando se utiliza en las operaciones de búsqueda de búsqueda regresaría y.

Es decir, si x = INVERTIDO de consulta (, y) entonces lookup (x) devolverá y.

INVERTIR BUSCAR encontrará el primer valor que satisface esta relación inversa. Si la búsqueda no

es monótona (siempre creciente o siempre decreciente) no puede ser en realidad más de un valor

que funcionaría como una inversa. Vensim devolverá el más pequeño tal valor. Si y es fuera de la

gama de búsqueda (más grande que el valor de y mayor o menor que el valor más pequeño y en

operaciones de búsqueda) la función devolverá: NA:. En general, es aconsejable probar para ver si

esto ha sucedido.

Page 27: Todas Las Funciones en Vensim - Copia

Ejemplo

MIRE ((0,0), (1,1), (3,2))

BUSCAR INVERT (LOOK, -1) es igual a: NA:

BUSCAR INVERT (LOOK, 0.5) es igual a 0,5

BUSCAR INVERT (LOOK, 1.5) es igual a 2,0

LOOKUP SLOPE

PENDIENTE BUSCAR (búsqueda, x, m)

Encuentra la pendiente en x en la búsqueda de búsqueda de acuerdo con el modo m. Entre los puntos en una búsqueda de la pendiente es sólo el cambio en y dividido por el cambio en x de un punto al siguiente. Si x es el mismo como un punto en operaciones de búsqueda se devuelve el promedio de la pendiente antes y después de x, a menos que haya más de un punto con dicho valor de x en cuyo caso: NA: se devuelve. Si el valor de x está fuera del dominio de búsqueda (más grande que el mayor punto x o menor que el punto x más pequeña) lo que se devuelve depende de m, si m es 0 entonces se devuelve 0, esto es análogo a una búsqueda normal. Si m es 1, entonces se utiliza la pendiente del segmento se cierra (esto es análogo a extrapolar de búsqueda). Si m es -1 entonces: NA: se devuelve. Ejemplo Look ((0,1), (1,1), (2,3)) PENDIENTE BUSCAR (LOOK, -1, -1) es igual a: NA: PENDIENTE BUSCAR (LOOK, -1,0) es igual a 0 PENDIENTE BUSCAR (LOOK, -1,1) es igual a 1 PENDIENTE BUSCAR (MIRE, 1,0) es igual a 0,75 BUSCAR LA CUESTA (LOOK, 0.5,0) es igual a 1 BUSCAR LA CUESTA (LOOK, 1.5,0) es igual a 0,5 MARKETP

Marketp (solicitud [PRIMERA], la prioridad [PRIMERA], el tamaño, la anchura, la oferta)

Page 28: Todas Las Funciones en Vensim - Copia

La función marketp se utiliza en un proceso de dos pasos con la función ALLOC p. Usted puede

conseguir el mismo efecto utilizando el ASIGNAR POR función PRIORITY y esto se recomienda.

Marketp vuelve una prioridad para pasar a ALLOC P de manera que el total de asignaciones de un

recurso escaso se adaptan exactamente a la oferta de este recurso. Una discusión más detallada

sobre este y ALLOC P están contenidos en la sección Asignación.

Para un análisis de los argumentos para marketp ver el ASIGNACIÓN POR función PRIORITY. Se

pasan los mismos argumentos, excepto que marketp requiere que Subíndice elementos en lugar

de rangos Subíndice pueden especificar para la petición y prioridad. Normalmente el primer

subíndice del elemento en el rango Subíndice se especifica.

Ejemplo

Usando el ejemplo de ASIGNAR POR PRIORIDAD que reemplazaría esa ecuación con las dos

ecuaciones siguientes:

pf = marketp (demanda [EE.UU.], la prioridad [EE.UU.], ELMCOUNT (país),

ANCHO, OFERTA)

~ Adimensional

~ Prioridad mercado |

entregado [counry] = alloc p (demanda [país], la prioridad [país], ANCHO, mp)

~ Toneladas / mes

~ Cantidad de alimentación suministrada a un país específico |

61-MESSAGE

MENSAJE ('msg', pantalla)

Devuelve 0 si la pantalla es menor que o igual a 0, 1 lo contrario.

'Msg' es el mensaje que se mostrará. Debe ser un literal entre comillas simples 'o una variable de

cadena.

La función de mensajes se utiliza para pasar un mensaje al usuario en respuesta a alguna condición

en el modelo. Puede, por ejemplo, puede utilizar para poner un cuadro de diálogo informando al

usuario de que una determinada condición se ha cumplido. La manera en la que se muestra el

Page 29: Todas Las Funciones en Vensim - Copia

mensaje depende del valor del parámetro de visualización. Si la pantalla es igual a 1, el mensaje irá

a la lista de desplazamiento de las advertencias. Si se trata de un cuadro de mensaje 2 vendrá con

un mensaje informativo, 3 con un mensaje de advertencia y 4 con el símbolo de parada.

Debido a que la función de mensajes es más útil para la colocación de un solo mensaje que se

suele utilizar en conjunción con la muestra, si la función TRUE para estar seguro de que el mensaje

sólo aparece una sola vez. El siguiente ejemplo muestra cómo hacer esto. La función de mensajes

está diseñado para trabajar con cualquier técnica de integración. Si está utilizando una técnica de

integración Runge-Kutta no va a poner un mensaje o devolver un valor distinto de cero dentro de

un paso de integración.

Ejemplo

msg = EJEMPLO SI TRUE (: NO: msg, IF THEN ELSE (: NO: msg: Y:

proyecto se pone en marcha> 0, MENSAJE ('proyecto comenzó', 5), 0), 0)

Esto pondrá un mensaje la primera vez que se inicie el proyecto variable toma un valor distinto de

cero.

POWER(BASE, X)

Devoluciones BASE a la potencia de X. Igual BASE ^ X La función de potencia y el operador de exponenciación tanto probar el exponente para ver si es un número entero. Si es un entero, se calcula el resultado exactamente. Si el exponente no es un entero, la función de potencia es equivalente a EXP (X * ln (BASE)). Si la potencia es 0,5, 1, 2, 3 o 4 las unidades se toman a la potencia (si es posible). Las demás que requieren unidades adimensionales. Ejemplos POWER (1100) es igual a 1,0. POTENCIA (-2,2) es igual a 4,0. POWER (2,3) es igual a 8,0. POWER (A, LOG (X, A)) es igual a X (por definición). PROD(x[i!])

Page 30: Todas Las Funciones en Vensim - Copia

Devuelve el producto de una matriz por encima del rango Subíndice (s) marcada con el signo de

exclamación! marca (s).

Ejemplos

PROD (x [i!]) Es igual a x [uno] * x [dos] * ... * x [n]

PROD (x [i, j!] * A [j!]) Es igual a

(X [i, uno] * A [uno]) *

(X [i, dos] * A [dos]) *

. . . *

(X [i, n] * A [n])

PROD (x [i!, J!] Es igual a

x [uno, uno] * x [uno, dos] * ... * x [1, m] *

x [dos, uno] * x [dos, dos] * ... * x [dos, m] *

. . .

x [n, uno] * x [n, dos] * ... * x [n, m]

PROD (x [i!, I!] Es igual a

x [uno, uno] *

x [dos, dos] *

* ...

x [n, n]

QUANTUM(A,B)

Trunca A a la múltiplo entero de B que se encuentra más cercano a cero. Para números positivos,

devuelve el número menor o igual a A, que es un múltiplo entero de B: (B * parte entera de (A /

B)). Un uso común de QUANTUM es eliminar la parte no entero de un valor (por ejemplo,

Page 31: Todas Las Funciones en Vensim - Copia

QUANTUM (3.456,1.0) es igual a 3,0). Si B es menor que o igual a cero, entonces A es devuelto.

Ejemplos

QUANTUM (1.9,1.0) es igual a 1,0.

QUANTUM (0.9,1.0) es igual a 0,0.

QUANTUM (-0.9,1.0) es igual a (comportamiento nota alrededor de 0.0) 0.0.

QUANTUM (-1.9,1.0) = -1,0.

QUANTUM (A, B) es igual a-QUANTUM (A, B) (la regla general).

QUANTUM (112.3,10.0) es igual a 110,0.

QUANTUM (50,12) es igual a 48.0.

QUANTUM (423, 63) es igual a 378 (378 = 6 * 63).

QUANTUM (X, 0) es igual a X.

QUEUE AGE AVERAGE

COLA DE EDAD MEDIA (cola, cuantitativo)

Devuelve el promedio de edad de los elementos cuantitativos más antiguos de cola. Esto es útil

para el rendimiento de seguimiento. Si Quant es menor que o igual a cero, o más grande que la

cantidad total en la cola de la media se toma sobre todos los elementos en la cola.

Restricciones: El argumento debe ser el nombre de una variable definida mediante cola FIFO o cola

FIFO ATTRIB. Si utiliza cualquier otra variable como un argumento EDAD MEDIA COLA volverá: NA:.

NOTA Para las colas de los atributos de esta función supone que paso de tiempo es constante y

devolverá un número incorrecto, si este no es el caso.

Ejemplo

Waiting = cola FIFO (Al llegar, Servicing, Init Profile, 100,20)

Las horas extraordinarias Mult = IF THEN ELSE (COLA DE EDAD MEDIA (en espera)> 25,1.25,1)

Page 32: Todas Las Funciones en Vensim - Copia

En este ejemplo, un tiempo extra de 25% se aplica cada vez que el tiempo de espera promedio

superó el 25.

QUEUE AGE IN RANGE

COLA DE EDAD EN RANGO (cola, minage, maxage)

Devuelve el número de elementos o en una cola de al menos tan antigua como minage y no

mayores de maxage. Usted puede utilizar: NA: en lugar de minage o maxage para devolver el

número de elementos no mayores de maxage o ningún menor de minage respectivamente.

NOTA Para evitar sorpresas numéricos es posible que desee aumentar el rango de un tanto, por

ejemplo, utilizando un mínimo de 4,95 en lugar de 5,0.

NOTA Para las colas de los atributos de esta función supone que paso de tiempo es constante y

devolverá un número incorrecto, si este no es el caso.

Restricciones: El primer argumento debe ser el nombre de una variable definida mediante cola

FIFO o cola FIFO ATTRIB. Si utiliza cualquier otra variable como un argumento COLA DE EDAD EN

RANGO devolverá: NA:.

Unidades: EDAD DE COLAS EN ESCALA (unidades de colas) -> unidades de cola (devuelve las

mismas unidades que la cola)

Ejemplo

Waiting = cola FIFO (Al llegar, Servicing, Init Profile, 100,20)

Las horas extraordinarias Mult = IF THEN ELSE (

EDAD DE COLAS EN ESCALA (en espera, 19.95,: NA :)> 50,1.25,1)

En este ejemplo, un tiempo extra de 25% se aplica cada vez que más de 50 personas han estado

esperando durante 20 minutos o más.

QUEUE AGE OLDEST

COLA DE EDAD ANTIGUA (cola)

Devuelve la edad máxima de elementos en la cola. Esto es útil para el rendimiento de seguimiento.

NOTA Para las colas de los atributos de esta función supone que paso de tiempo es constante y

devolverá un número incorrecto, si este no es el caso.

Restricciones: El argumento debe ser el nombre de una variable definida mediante cola FIFO o cola

Page 33: Todas Las Funciones en Vensim - Copia

FIFO ATTRIB. Si utiliza cualquier otra variable como un argumento COLA DE EDAD MÁS ANTIGUA

volverá: NA:.

Unidades: EDAD DE COLAS (unidades de cola) MÁS ANTIGUAS -> tiempo (devuelve las mismas

unidades que el principio)

ejemplo

Waiting = cola FIFO (Al llegar, Servicing, Init Profile, 100,20)

Las horas extraordinarias Mult = IF THEN ELSE (COLA DE EDAD ANTIGUA (en espera)> 25,1.25,1)

En este ejemplo, un tiempo extra 25% se aplicaría cualquier momento el tiempo de espera más

largo superó 25.

QUEUE ATTRIB AVERAGE

COLA ATTRIB PROMEDIO (cola, cuantitativo)

Devuelve los atributos promedio de elementos cuantitativos más antiguos de cola. Si Quant es

menor que o igual a 0, o si Quant es más grande que el número total de elementos en la cola se

devuelve la media de todos los elementos.

Restricciones: El primer argumento debe ser el nombre de una variable definida mediante cola

FIFO ATTRIB. Si utiliza cualquier otra variable como un argumento PROMEDIO ATTRIB COLA

volverá: NA:.

Ejemplo - ver cola FIFO ATTRIB

QUEUE ATTRIB IN RANGE

ATTRIB COLA EN RANGO (cola, min, max)

Devuelve la cantidad en la cola con el atributo entre mínimo y máximo.

Restricciones: El argumento debe ser el nombre de una variable definida mediante cola FIFO

ATTRIB. Si utiliza cualquier otra variable como un argumento PROMEDIO ATTRIB COLA volverá:

NA:.

Ejemplo - ver cola FIFO ATTRIB

QUEUE ATTRIB MAX

COLA ATTRIB MAX (cola)

Page 34: Todas Las Funciones en Vensim - Copia

Devuelve el valor máximo de atributos para elementos en cola.

Restricciones: El argumento debe ser el nombre de una variable definida mediante cola FIFO

ATTRIB. Si utiliza cualquier otra variable como un argumento PROMEDIO ATTRIB COLA volverá:

NA:.

Ejemplo - ver cola FIFO ATTRIB

QUEUE ATTRIB MIN

COLA ATTRIB MIN (cola)

Devuelve el valor mínimo de atributos para elementos en cola.

Restricciones: El argumento debe ser el nombre de una variable definida mediante cola FIFO

ATTRIB. Si utiliza cualquier otra variable como un argumento PROMEDIO ATTRIB COLA volverá: NA:

Ejemplo - ver cola FIFO ATTRIB

QUEUE ATTRIB QUANTITY

CANTIDAD ATTRIB COLA (cola, cuantitativo)

Devuelve los elementos más antiguos de la cola de forma que la suma de sus atributos en total

suman Quant. Por ejemplo, suponga que tiene una cola de órdenes (Orden) con un atributo de

tamaño de la orden (artículo / Orden). Se podría pasar a esta función, la capacidad de

procesamiento (Artículo / Día) veces paso de tiempo (día) para determinar cuántas órdenes podría

ser procesado hoy.

Restricciones: El primer argumento debe ser el nombre de una variable definida mediante cola

FIFO ATTRIB. Si utiliza cualquier otra variable como un argumento ATTRIB CANTIDAD DE COLAS

volverá: NA:.

Ejemplo

en proceso = cola FIFO ATTRIB (pedidos, terminaciones, tamaño del pedido, 0,

plana, plana, 100,1,10)

plana ((0,1), (1,1))

terminaciones = CANTIDAD ATTRIB COLA (en proceso, la capacidad * PASO TIEMPO) / TIEMPO DE

PASO

Page 35: Todas Las Funciones en Vensim - Copia

Aquí piso es simplemente una búsqueda plana de manera que la distribución por edades es

uniforme y la distribución atributo es constante a 1.

Cuando sea necesario, esta función será asignar una parte de la entrada de un momento posterior

para satisfacer la cantidad. Si no hay suficiente en la cola para cumplir con el objetivo cuantitativo

se devolverá el importe total de la cola.

RANDOM BETA

Aleatoria beta (m, X, A, B, H, r, s)

Proporciona una distribución beta con alfa que tiene el valor A y beta que tiene el valor B antes de

que se estira, se movió y truncada.

RANDOM BINOMIAL

Aleatoria binomial (m, x, P, N, h, r, s)

Proporciona una distribución binomial donde P es la probabilidad de selección subyacente y N es

el número de sorteos. Antes de estirar y cambiante, aleatoria binomial siempre devuelve un

entero entre 0 y N. Si N no es un número entero se redondeará al entero más cercano.

RANDOM EXPONENTIAL

Aleatoria exponencial (m, x, h, r, s)

Proporciona una distribución exponencial a partir de 0 con una media de 1 antes de ser estirado,

desplazan y truncada.

RANDOM GAMMA

GAMMA RANDOM (m, x, O, h, r, s)

Proporciona una distribución gamma de orden O antes de que se estira, se movió y truncado.

Cuando o es 1 RANDOM gamma es el mismo que aleatoria exponencial. Si S es menor que 1 se

genera una advertencia y 1 utiliza.

RANDOM LOOKUP

BUSCAR AL AZAR (buscar, m, x, h, r, s)

Proporciona una distribución arbitraria de una función de densidad de probabilidad especificada

por la mirada función de búsqueda. Antes de estiramiento o desplazamiento el número aleatorio

tendrá el mismo rango que el eje x en la búsqueda. Esto significa que la búsqueda es la misma que

la función de densidad de probabilidad (PDF), excepto que no es necesario para hacer que el área

bajo la búsqueda de 1,0, Vensim se ajustará automáticamente para eso. Las dimensiones de la

mirada deben coincidir m, x, y h. Después de que el número aleatorio se extrae de la PDF de

Page 36: Todas Las Funciones en Vensim - Copia

búsqueda suministrado que se multiplicará por r entonces tener h añade entonces probado contra

m y x.

RANDOM NEGATIVE BINOMIA

RANDOM binomial negativa (m, x, P, N, s)

Misma que binomial excepto N es el número de éxitos necesarios para que los retornos binomial

negativa al azar un entero del N a infinito.

RANDOM POISSON

Aleatoria de Poisson (m, x, M, h, r, s)

Proporciona una distribución de Poisson con media M. El valor devuelto es siempre un número

entero antes de que se estira y se movió. Las unidades de M deben coincidir m, x y h.

RANDOM TRIANGULAR

RANDOM triangular (m, x, S, P, T, s)

Proporciona una distribución triangular de S a T, con un pico en P. Puede cambiar y estirar la

distribución triangular mediante el ajuste de S, P y T. Las unidades para S, P y T, debe coincidir con

los de m y x.

RANDOM RANDOM WEIBULL

RANDOM WEIBULL (m, x, S, h, r, s)

Proporciona una distribución de Weibull con forma de S a partir de 0 y que tiene una media de 1

antes de que se estira, desplazan y truncada. Cuando S es 1 la distribución de Weibull es la misma

que la distribución exponencial.

SHIFT IF TRUE

IF SHIFT TRUE (var, cond, tamaño, acumuladores, Inval)

Cambios talla elementos de var cuando cond es cierto. Si Acum no es cero, entonces el segundo al

último elemento de var se añade el último elemento, de lo contrario el segundo al último

elemento reemplaza el último elemento. Shifting se produce en relación con el subíndice más a la

derecha de la var. Si se produce un cambio, entonces el primer elemento de la subíndice más a la

derecha de la var se sustituye con Inval. CAMBIO VERDADERO SI devuelve la cantidad que se ha

retirado del último elemento de la var. Si Acum es distinto de cero a continuación, MAYÚS SI

VERDAD siempre devuelve 0.

CAMBIO VERDADERO SI es útil para la gestión de cadenas de envejecimiento o cohortes. La

Page 37: Todas Las Funciones en Vensim - Copia

aplicación más común sería la de las poblaciones en las que el mantenimiento de una distribución

correcta de la edad es importante.

NOTA Tenga mucho cuidado cuando se especifica el argumento size para cambiar de posición si

TRUE. Si este argumento es demasiado grande, puede cambiar otras variables. En general, como IF

SHIFT VERDADERO modifica los valores de la variable que se llama con, que debe ser usado con

cuidado.

Ejemplo

edad: IN VITRO, (AGE 1-AGE 65) ~ ~ |

AGEH: (AGE 1-AGE 65) ~ ~ |

País: EE.UU., México ~ ~ |

género: masculino, femenino ~ ~ |

Población [país, género, IN VITRO] =

INTEG (concepciones [país]-muertes [país, género, IN VITRO],

POP INIT [país, género, IN VITRO]) ~ ~ |

Población [país, género, AGEH] = INTEG (muertes en [nombre del país, el género, AGEH],

POP INIT [país, género, AGEH]) ~ ~ Person |

un [país, género] = IF SHIFT TRUE (Población [país, género, IN VITRO],

MODULO (TIME, 1) = 0, ELMCOUNT (AGE), 1,0) ~ ~ ~ Persona: SUP |

Tenga en cuenta que para todos, pero IN VITRO, población tiene ninguna entrada. Población en

cohortes más allá de la primera se incrementa por el proceso de envejecimiento implícita en SHIFT

si es cierto.

SINH( X )

Devuelve el seno hiperbólico de X.

Page 38: Todas Las Funciones en Vensim - Copia

Ejemplos

senh (0.0) es igual a 0,0.

senh (1.0) es igual a 1,17

SUM(x[i!])

La suma de una serie sobre la Cordillera (s) Subíndice de exclamación! marca (s).

Ejemplos

SUM (x [i!]) Es igual a x [uno] + x [dos] + ... + x [n].

SUM (x [i, j!] * A [j!]) Es igual a (x [i, uno] * A [1]) +

(X [i, dos] * A [dos]) + ... +

(X [i, n] * A [n]).

SUM (x [i!, J!] Es igual a x [uno, uno] + x [uno, dos] + ... + x [uno, m] +

x [dos, uno] + x [dos, dos] + ... + x [dos, m] +

... + ... + ...

x [n, uno] + x [n, dos] + ... + x [n, m].

SUM (x [i!, J] * y [i!]) Es igual a x [uno, j] * y [un] + x [dos, j] * y [dos]

+ ... + X [n, j] * y [n].

SUPPLY AT PRICE

SUMINISTRO EN PRECIO (q, pp, precio)

Calcula la cantidad que se suministra a un precio determinado en base a la cantidad q de la

capacidad y el perfil de preferencias de alimentación pp El argumento del precio normalmente se

calcula utilizando la función FIND PRECIO DE MERCADO. Tanto q y pp deben subindicadas las

variables y los subíndices para pp deben ser los subíndices para q seguido por unos subíndices

pProfile. Consulte la sección Asignación para más detalles.

Page 39: Todas Las Funciones en Vensim - Copia

Ejemplo

cantidad suministrada [proveedor] = SUMINISTRO EN PRECIO (

capacidad de suministro [proveedor],

curva de oferta [proveedor ptype],

precio de mercado)

TABBED ARRAY

ARRAY con pestañas (row1. .. rown)

ARRAY pestañas se utiliza como un mecanismo conveniente para introducir vectores o matrices de

constantes en Vensim.

Restricciones: ARRAY TABBED debe seguir inmediatamente al igual signo = y no puede tener nada

que le sigue. En la matriz de Editor de ecuaciones con pestañas aparece como un subtipo de tipo

de variable constante.

La entrada a la función ARRAY TABBED es 1 o más filas de número separados por tabuladores con

cada fila de estar en su propia línea. Esta función está diseñada para hacer más fácil para pegar el

número de hojas de cálculo directamente en el editor de ecuaciones. Cada fila debe contener el

mismo número de valores como el último Range Subíndice tiene Elements. El número de filas debe

coincidir con el número de elementos en la primera Rango Subíndice que aparece. Pueden

aparecer no más de dos rangos de subíndice.

Ejemplo

país: MEXICO, EE.UU., CANADÁ

Tipo de sangre: A, B, O, AB ~ ~ |

población inicial [el país, el tipo de sangre] = array TABBED (

1 2 3 4

5 6 7 8

9 10 11 12) ~ persona ~ |

Page 40: Todas Las Funciones en Vensim - Copia

TAN( X )

Devuelve la tangente de X. periódico sobre 0 a 2 * π.

ejemplo

tan (0.0) es igual a 0,0.

TANH( X )

Devuelve la tangente hiperbólica de X. A veces útil para generar relaciones paramétricas de la

curva S cuando las funciones de búsqueda no son apropiados, por ejemplo, cuando los parámetros

de la forma deben ser estimados a partir de datos.

Unidades: TANH (adimensional) -> adimensional

Ejemplo

tanh (1.0) es igual a 0,76159.

tanh (0.0) es igual a 0,0.

tanh (6.4) es igual a 0,99999.

VECTOR ELM MAP

VECTOR ELM MAP (vec, offset)

La función de mapa vectorial ELM es una manera conveniente de moverse hacia atrás y adelante

entre los rangos subíndice dispares. En muchos casos es posible lograr lo mismo utilizando las

capacidades de mapeo de subíndices que pueden mejorar la comprobación de errores.

La función de mapa vectorial ELM devuelve el valor de la variable que está desplazado del vec en

la cantidad especificada. Por ejemplo, cuando el Sub: s1, s2, s3 es un subíndice, las dos ecuaciones

siguientes serían los mismos:

var2 [sub] = var1 [sub] ~ ~ |

var2 [sub] = VECTOR ELM MAP (var1 [s1], sub-1) ~ ~ |

Tenga en cuenta que en este caso usamos sub-1 porque el desplazamiento es efectivamente 0

sobre la base. Un uso obvio para esta función es en situaciones en las que desea tener una

variable con un mapa subíndice a una variable con un subíndice diferente. Por ejemplo:

Page 41: Todas Las Funciones en Vensim - Copia

tarea: excavar, construir, probar ~ ~ |

habilidad: queso de cerdo, cerebro ~ ~ |

habilidad tarea [tarea] = 0,1,1 ~ ~ MDLN |

habilidad promedio tarea [tarea] =

VECTOR ELM MAP (habilidad promedio de trabajo [Brawn], habilidad tarea [tarea]) ~ ~ Qua |

Debido a que usted puede hacer asignaciones arbitrarias de esta manera se trata de una función

muy flexible para la gestión del uso de subíndice no estándar.

La expresión desplazamiento debe ser adimensional.

Si intenta utilizar un desplazamiento que llevaría su mapeo fuera del rango de la variable se

emitirá un mensaje de error y: NA: será devuelto.

Tenga en cuenta que para las variables que tienen más de un subíndice la función de mapa

vectorial ELM se puede utilizar para moverse entre todos los subíndices pero requerirá

multiplicación. Por ejemplo, las dos expresiones siguientes son los mismos:

v2 [sub, bañera, gub] = v [sub, bañera, gub] ~ ~ |

v2 [sub, bañera, gub] = VECTOR ELM MAP (v [s1, t1, g1],

(Sub-1) * ELMCOUNT (bañera) * ELMCOUNT (GUB) +

(Bañera-1) * ELMCOUNT (GUB) + (GUB-1)) ~ ~ |

VECTOR LOOKUP

BUSCAR VECTOR (vec, x, xmin, xmax, modo) Permite la especificación de una función no lineal mediante la especificación de los valores de y en

vec, que debe ser una variable con subíndice, y dando el valor mínimo y máximo para x en xmin y

xmax. El rango especificado para x se divide en intervalos de n igual donde n es uno menos de la

longitud del vector VEC. Si VEC es una matriz multidimensional a continuación, la longitud que se

usa es el número de elementos en el último subíndice. Esta función siempre debe ser llamado con

el primer elemento de VEC como se muestra en el ejemplo.

La búsqueda de función vectorial abarca el comportamiento de toda la función de búsqueda

regular con los resultados de la utilización de la función determinada por el valor de modo de que

Page 42: Todas Las Funciones en Vensim - Copia

debe ser un número entero entre 0 y 9.

0 una función de búsqueda normal de la determinación y de x.

1 el equivalente de AREA BUSCAR

2 el equivalente de BUSCAR ATRÁS

3 el equivalente de BUSCAR extrapolar

4 el equivalente de búsqueda directa

5 el equivalente de BUSCAR INVERTIR

6 el equivalente de BUSCAR PENDIENTE

7 el equivalente de AREA BUSCAR con extrapolación

8 el equivalente INVERTIR BUSCAR con la extrapolación

9 el equivalente de SLOPE BUSCAR con la extrapolación

Tenga en cuenta que 7,8 y 9 no tienen funciones equivalentes mediante búsquedas regulares.

También tenga en cuenta que para la 1 y 7 de la zona devuelto es el área desde xmin. Si usted

desea conseguir el área entre dos valores de uso

Área de LV = VECTOR BUSCAR (LV [s1], xend, xmin, xmax, 1) -

VECTOR BUSCAR (LV [s1], xstart, xmin, xmax, 1)

También tenga en cuenta que en el modo 7 si x es menor que el xmin, asumiendo vec es todo

positivo, se devolverá un número negativo. Esto significa que la fórmula anterior para el área entre

dos puntos es todavía válida.

El vec variable puede ser constante o variable en el tiempo (por ejemplo, un nivel, auxiliar o

incluso datos), sino que debe ser indexada. Esto le permite crear búsquedas con formas que

cambian con el tiempo y permite una variedad de formas flexibles de la especificación de

funciones. Por ejemplo, puede especificar una función de búsqueda 2 dimensiones utilizando

Xdim: (X1-X3)

Ydim: (Y1-Y5)

Page 43: Todas Las Funciones en Vensim - Copia

xmin = 0

xmax = 10

ymin = 0

ymax = 100

vals de búsqueda [xdim, ydim] = 1.1,1.2,1.3,1.4,1.5;

2.1,2,2.2.3,2.4,2.5;

3.1,3.2,3.3,3.4,3.5;

salida = BUSCAR VECTOR (xslice [x1], x, xmin, xmax, 0)

xslice [xdim] = BUSCAR VECTOR (vals de búsqueda [xdim, y1], y, ymin, ymax, 0)

La expresión del modo debería ser adimensional y x, xmin y xmax debe tener las mismas unidades.

Esto es apropiado para los usos más comunes, pero es probable que cuando el modo es de 1, 5 7 u

8 que tendrá que utilizar unidades multiplicadores, o dejar todo sin dimensiones, para pasar las

unidades de cheques.

Si se llama a esta función con un vec escalar o con un elemento que no es el primer elemento en el

último subíndice del vector se producirá un error durante la simulación.

TENGA EN CUENTA que BUSCAR VECTOR no da ningún mensaje de advertencia cuando la entrada

está fuera del rango especificado.

VECTOR RANK

CLASIFICACIÓN DEL VECTOR (vec, dirección)

La función RANK VECTOR devuelve un nuevo vector que especifica el rango de los elementos en

vec. Si la dirección es mayor que 0 las entradas se clasifican de menor a mayor, de lo contrario del

más grande al más pequeño. El elemento primero clasificado tiene un rango de 1, el segundo de 2

y así sucesivamente. Si dos elementos son los mismos de la manera arbitraria se le asignará filas

contiguas. NO use el resultado de esta función con PEDIDOS VECTOR ya que esto proporcione

resultados sin sentido.

Ejemplo

Page 44: Todas Las Funciones en Vensim - Copia

la compañía: (c1-c5)

ingresos [de la compañía] = 5000,3000,8000

Rango de ingresos [de la compañía] = CLASIFICACIÓN VECTOR (ingresos [de la compañía], 1)

Will return 2,1,3 por rango de ingresos.

Unidades: VECTOR RANK (unidades, MDLN) -> MDLN

Restricciones: Debe aparecer primero en el derecho y no puede ser seguido por cualquier otra

cosa. Clasificación se realiza en el vector completo en relación con el último subíndice. Subrangos

no funcionarán.

VECTOR REORDER

PEDIDOS VECTOR (vec, svec)

La función PEDIDOS VECTOR devuelve un nuevo vector con los mismos valores que vec pero en el

orden especificado en svec. Normalmente svec será el resultado de una llamada a VECTOR

Modificar orden, pero también puede ser especificado por otro medio. Tenga en cuenta que svec

es basado en 0 no 1 con base (que es un valor de 0 corresponde al primer índice en el vec).

Ejemplo

Ver VECTOR Modificar orden.

Unidades: Reordenar VECTOR (unidades, MDLN) -> unidades

Restricciones: Debe aparecer primero en el derecho y no puede ser seguido por cualquier otra

cosa. La clasificación se realiza en el vector completo en relación con la última subíndice.

Subrangos no funcionarán.

VECTOR SELECT

La función VECTOR SELECT proporciona un mecanismo conveniente para la selección (obtener la suma, producto, mínimo, máximo o promedio) de un número relativamente pequeño de elementos de una matriz. sarray especifica una matriz de selección con, normalmente, un gran número de 0 y de un número relativamente pequeño de 1 o de otros valores distintos de cero. Vexp es la expresión de que los elementos están siendo seleccionados de. mVal es el valor a utilizar en el caso en el que sólo hay 0s en la selección. acto es la acción a tomar con suma 0 significado, 1 producto, mínimo 2, máximo 3 y 4 de la media. err indica cómo tratar demasiadas o muy pocas entradas en la selección. Si err es 0, entonces no hay errores se elevan; si se equivocan

Page 45: Todas Las Funciones en Vensim - Copia

es 1, entonces se produce un error de punto flotante si sarray no tiene elementos distintos de cero en el cómputo que se realiza (es decir una fila cero o una columna cero); si se equivocan es 2, entonces se produce un error es más que un elemento está incluido; si se equivocan es 3 entonces tanto no y más de un elemento provoca un error. La función vectorial SELECT es muy similar a las formulaciones tales como: result [fila] = SUMA (sarray [fila, col!] * expr [col!]) pero tiene dos diferencias importantes. El primero es que el rastreo de causalidad, en lugar de lo que indica que todos los elementos de expr es una causa de cada elemento de resultado mostrará sólo los elementos en los que hay un elemento distinto de cero en sarray. La segunda es que la expresión que aparece como segundo argumento sólo se evalúa cuando se contribuirá a la computación, y no para todos los registros posibles y la combinación de la columna. En relación con el segundo de ellos, ya que no se podrían utilizar algunos elementos de Vexp, Vensim no verifica que todos están realmente computados. Así, "utilizado no computan" mensajes de error no se generarán para las variables que intervienen en el argumento de la función Vexp VECTOR SELECT (el resto de argumentos, incluidos sarray se prueban). Si un elemento de matriz no se ha calculado que tiene el valor: NA: que normalmente conducir a un error de punto flotante o resultados visiblemente anómalas durante la simulación se debe utilizar. Sin embargo, la precaución adicional se pide que al hacer uso de la función VECTOR SELECT. Tenga en cuenta que el rastreo causal sólo se cambia para el Gráfico de Gaza y herramientas Tabla. Las herramientas estructurales no hacen referencia a los subíndices. Al rastrear las causas utilizando resultados de la simulación, si no hay cargadas carreras, o si las carreras cargadas no contienen valores para sarray, a continuación, se enumeran otras causas. Si sarray es diferente en diferentes carreras y luego se mostrará la unión de todas las causas posibles. En este caso, algunas de las causas no serán aplicables a algunas de las carreras, tendrá que comprobar los valores de sarray para ver que le son aplicables. VECTOR SELECT es muy útil para la cartografía requisito previo, así como la compresión y la expansión de tamaños de matriz como se muestra en los ejemplos. Para los dos primeros de estos err normalmente se le pone a 1, mientras que para el vector de expansión err normalmente se establece en 3. Si err es 0 ó 2 y no hay elementos que no son cero entonces la función devolverá mval. Si err es 1 o 3, entonces mval nunca serán utilizados y el valor: se recomienda: NA. Si sarray es una constante inmutable (que se define utilizando ==), entonces la causalidad de VECTOR SELECT utilizada para determinar el fin ecuación se basa sólo en los elementos no nulos de sarray. Esto proporciona un mecanismo conveniente para la propagación de las dependencias entre los elementos de subíndice. Un ejemplo de esto para un proyecto se incluye a continuación. Ejemplo Con el fin de determinar si todas las tareas de requisitos previos se han completado: tarea: t1, t2, t3, t4

Page 46: Todas Las Funciones en Vensim - Copia

prerrequisito <-> tarea mapa requisito previo [tarea, requisito previo] == 0,0,0,0; 1,0,0,0; 1,1,0,0; 0,0,1,0; prereqs están completos [tarea] = VECTOR SELECT ( mapa requisito previo [tarea, requisito previo!] tarea se ha completado [prerrequisito!], 1,2,0) Tenga en cuenta que la primera fila de la estera requisito previo es de todos 0s - así que por requisito previo t1 es completa utilizará la tercera argumento a la función o 1, que es lo que queremos desde t1 no tiene ningún requisito previo. Ejemplo La calidad depende tanto la calidad del trabajo y la calidad de los productos de trabajo de requisito previo. Utilizando las definiciones de tareas y requisitos previos anteriores: calidad de tarea [tarea] = calidad de trabajo [tarea] * Calidad requisito previo [tarea] la calidad del trabajo [tarea] = 0.8, 0.9, 0.7, 0.9 calidad de requisito previo [tarea] = VECTOR SELECT ( mapa requisito previo [tarea, requisito previo!] calidad de tarea [prerrequisito!], 1,1,0) Para que esto funcione dependemos mapa requisito previo que se define como una constante inmutable. Si no lo fuera, entonces no habría una ecuación simultánea implica la calidad del trabajo y la calidad de trabajo. Ejemplo Para moverse entre las agregaciones de cohortes y desagregaciones: Edad: A1, A2, A3, A4, A5, A6 Edad grupo: ag1, ag2, ag3

Page 47: Todas Las Funciones en Vensim - Copia

map Edad de agrupación [Edad grupo, Edad] = 1,1,0,0,0,0; 0,0,1,1,0,0; 0,0,0,0,1,1; población agrupada [Edad grupo] = VECTOR SELECT ( map Edad de agrupación [Edad grupo, Edad!] población [Edad!] : NA:, 0,1) muertes de contaminación efecto por edad [Edad] = VECTOR SELECT ( map Edad de agrupación [Edad grupo!, Edad], efecto muertes de contaminación por grupo de edad [Edad grupo!] : NA:, 0,3) Ejemplo Transferencia de calor simplificado en una superficie de dos dimensiones. Este utiliza dos subíndices para elegir y también sirve para tratar la determinación bordes utilizando VECTOR SELECT. La x: (X1-X3) y: (y1-y4) borde: izquierda, derecha, arriba, abajo xp <-> x yp <-> y promedio diff temporales adyacentes [x, y] = ( VECTOR SELECT (matriz de adyacencia [x, y, xp!, Yp!] temp [! xp, yp] temp [x, y],: NA:, 0,1) + VECTOR SELECT (matriz de bordes [x, y, borde!]

Page 48: Todas Las Funciones en Vensim - Copia

temp borde [borde!] temp [x, y], 0,0,0) ) / 4 matriz de adyacencia [x, y, xp, yp] = INICIAL ( IF THEN ELSE ((yp = y +1; Y: = xp x): O: (yp = y-1: Y: = xp x): O: (Xp = x 1: Y: yp = y): O: (= xp x-1: y: yp = y), 1,0)) matriz de bordes [x, y, borde] = INICIAL ( IF THEN ELSE ((y = 1: Y: = borde superior): O: (Y = elmcount (y): Y: = borde inferior): O: (X = 1: Y: = flanco izquierdo): O: (X = elmcount (x): Y: = flanco derecho), 1,0)) Tenga en cuenta que la función VECTOR SELECT no utiliza la media, pero las sumas para este cálculo. Dado que algunas de las 4 posiciones adyacentes podrían provenir de los bordes y algunos de otras células de la media se realiza fuera de la función (con simplemente / 4). Unidades: VECTOR SELECT (unit1, unit2, unidades, MDLN, MDLN) -> unidades = units1 * unidades2 Restricciones: Tanto sarr y vexpr deben tener por lo menos un subíndice con una!. Normalmente habrá un subíndice actuó con el! y que subíndice será que es la misma en tanto sarr y vexpr pero esto no es un requisito.

VECTOR SORT ORDER

Ordenar VECTOR (vec, dirección)

La función Ordenar VECTOR devuelve un nuevo vector que especifica el orden de los elementos en

vec. Si la dirección es mayor que 0 las entradas se ordenan de menor a mayor, de lo contrario del

Page 49: Todas Las Funciones en Vensim - Copia

más grande al más pequeño. El vector devuelta contiene el número de índice basado en cero para

los elementos ordenados (es 0 es el primer elemento, 1 el segundo y así sucesivamente).

Normalmente esto se utiliza en conjunción con PEDIDOS VECTOR pero también se puede utilizar

con el vector ELM mapa para encontrar Min, Max y valores de la mediana.

Ejemplo

la compañía: (company1-company5) -> scompany

scompany: (SORT1-sort5) -> empresa

por lo que [scompany] = VECTOR orden de clasificación (ingresos [de la compañía], 1)

MinRev = VECTOR ELM MAP (ingresos [company1], por lo que [SORT1])

maxrev = VECTOR ELM MAP (ingresos [company1], por lo que [sort5])

medrev = VECTOR ELM MAP (ingresos [company1], por lo que [sort3])

rev ordenados [scompany] = VECTOR PARA PEDIDOS (ingresos [la empresa], por lo que

[scompany])

Tenga en cuenta que en realidad no es necesario definir scompany en este ejemplo. Sin embargo,

el orden de los valores en rev ordenados ya no es por la compañía de manera que evita la posible

confusión de utilizar una gama subíndice diferente.

Restricciones: Debe aparecer primero en el derecho y no puede ser seguido por cualquier otra

cosa. La clasificación se realiza en el vector completo en relación con el último subíndice.

Subrangos no funcionarán.

VMAX(x[i!])

Devuelve el valor máximo de los elementos de una matriz sobre la Cordillera de subíndice (s)

marcada con signo de exclamación! marcas.

Ejemplo

VMAX (x [i!]) Es igual a

MAX (x [uno],

MAX (x [dos],

Page 50: Todas Las Funciones en Vensim - Copia

MAX ...,

x [n])) ...).

VMIN(x[i!])

Devuelve el valor mínimo de los elementos de una matriz sobre la Cordillera de subíndice (s)

marcada con signo de exclamación! marcas.

Ejemplo

VMIN (x [i!]) Es igual a

MIN (x [uno],

MIN (x [dos],

MIN ...,

x [n])) ...).