# Variables dinámicas en AnyLogic

Ya tenemos los stocks, flujos y parámetros. Ahora es el momento de **las variables dinámicas**.&#x20;

Las tasas de conversión de clientes por marketing o el boca a boca son ejemplos de cálculos que deben realizarse de forma dinámica, es decir: a medida que el número de clientes potenciales disminuye y los clientes aumentan, estas tasas deben volver a calcularse.

AnyLogic tiene un tipo de variable específico para esto: la variable dinámica. Creemos una **Dynamic Variable** para la "conversión de marketing" llamada: **conversaoMktg**. No se confunda: una **Dynamic Variable** no se parece como el pequeño pedazo de pastel de un **Parameter**:

![](https://lh4.googleusercontent.com/xtnxLX4J5M5tnAkGCuPWGSDELm4XN7DYEJbfXT1iUYQgnWASKP6k84hcRdwYSlFzZ9fIHX5tO7xl_RNM7ljLfeOBqzzEiy1XHqyxOYSlPMxx7A4xn9ES5zLIleWl_uWahFNmQx4w)

En los modelos de dinámica de sistemas, todos deben estar representados **vínculos** los existentes entre acciones, variables, flujos y parámetros. Así, con base en el diagrama de bucle causal, cree los enlaces entre los parámetros utilizando el **Link** de la paleta de comandos:

![](https://lh6.googleusercontent.com/vTVC-dmkXkiyXmhm8WettjMSHJYe_AcTNSeGyYMHk3Dd7_Iit4H5RSq1JtoyflxtkR7_13uD9DSFs-XCe9TzkQz2lCJ5dyeQc-CXb0hB0mCJBz0E1MzIcQKvOlLFkuFGRrQzMv0Q)

El elemento **Link** tiene su señal como una propiedad, así que haga clic en el elemento respectivo y luego en la ventana de **Properties** en a la derecha, seleccionamos la señal respectiva del **Link**.

![](https://lh5.googleusercontent.com/KPWcRjQ_CXV7ZqVVWSufjXOKFaffvDNp9JQUy4ifUp4BbyzxRP7TYjy9qoKBHjS5q6cVKEPPxTPA3LDOwS_BLLDR1IPQs2agQxp1lv0aR5pmYpLeNyo0EywDoBFQQ-2DY7B4XiQf)

llegamos al momento de construimos la ecuación que gobierna la variable dinámica. Click en la variable dinámica **conversaoMktg** y ubicamos en sus propiedades, un campo con el título"**conversaoMktg**=".

Queremos la expresión que devuelve el número de clientes potenciales convertidos. Sin embargo, si el número de **meses** de simulación es mayor que el parámetro de meses, la conversión debe recibir el valor 0.&#x20;

En AnyLogic,la función que devuelve el tiempo de simulación (en la unidad de tiempo del modelo) es **time()**. Entonces, necesitamos algo como:

*`si`*` ``time() <= meses`` `*`entonces:`*

&#x20;    `conversaoMktg = ClientesPotenciais x eficaciaMktg`

*`de lo contrario:`*

&#x20;    `conversaoMktg = 0`

Tengo buenas noticias: AnyLogic tiene una forma de manejar las condiciones "si-entonces-otro" similar a lo que usted posiblemente haya usado en hojas de cálculo:

`“=SI(condición; caso verdadero; caso falso)”`.&#x20;

En AnyLogic (y Java) utiliza el signo de interrogación "?" para la pregunta y los dos puntos “:” para las acciones:

`condición ? caso verdadero : caso falso`

Entonces, en el caso de inicio, simplemente ingrese el campo de variable **conversaoMktg**:

`time() <= meses ? ClientesPotenciais x eficaciaMktg : 0`

Aunque ya puede hacer esto con **Ctrl(⌘)+Espaço**, en este paso iremos al revés: observe una pequeña “x” roja al lado del campo, AnyLogic está reportando un error en el respectivo campo (e incluso puedes adivinar qué es):

![](https://lh3.googleusercontent.com/HR1CHkORjFU2TjQXP33Z3PBY68uigHkmJIz6I4WB1-rCromaoZvHcNIkfH0MZRvht0ZkO_6fwdQeOlAlMOvudulvwPg_4ruYTPqihoi3bQB2kluVkCo3k20ak2FazS5RiTf0dfRP)

&#x20;En este campo, AnyLogic esconde otro facilitador que acelera el proceso de desarrollo:

* Haz clic **dentro del campo** con un problema (clic **haz dentro** del cuadro);
* Debe aparecer una "X" dentro de una bola roja (que recuerda al símbolo de X-Men). Haga clic en él y observe que AnyLogic presenta una lista de opciones: o agrega una variable / parámetro / stock que está **Link** al elemento actual, o simplemente elimina el **Link**.

Por lo tanto, configurar la ecuación fue fácil:

![](https://lh3.googleusercontent.com/n1IQEeVMlsZiZeRrrIoKYxufDA6q_ZP8w1m1_21V5SMLT-a5my2wO1m_btitwpiHtNuZW6UyG8uaOYTx9APnSao3CnXllXCDdlhYwiwHpqYBdWL1FFiobcYiV1p085HASatHWprT)

La resuelta **conversaoMktg**, pasemos al flujo **taxaDeConversao**. Tenga en cuenta que tiene un **Link** (procedente de **conversaoMktg**) que aún no hemos hecho la ecuación:

![](https://lh3.googleusercontent.com/RcD7K7HweGGg5QMBKwio_arwq1r9bJilgewha2CxHXxQcWi1xcWBogcPrg_BpC1Q9gNxMIcy6SfhnVbj6-8bdflr9d_s-inwB1DZg5w2ugwSVW5JC_wBqrlvE6lZSMzaPcPzV-V8)

Listo, ahora puede… ¡SIMULAR!

![](https://lh4.googleusercontent.com/IC2PR48PBI-RsimYboFJOZQ6A0krD8zIeLhlSetcfDbzImFaS6_wP16rsuDZqun8iqXWuGBg1Ngqqu1DMiBh6Oe5xvvx94_5is22e70oVw4ztGV-XIPlcwg5hX9aZHTvg7BVxgK6)

Si desea acelerar o ralentizar la simulación, use los botones en la barra inferior de la aplicación:

![](https://lh5.googleusercontent.com/C6DfnLo1QfzD5ihbAZqXUhtRM3q4_BU552FCZCbLFOwZn27HKbB_NkgsVdo0TlEmuwuoJQf3SOCPbi_hrjXIV2Mitv72EHij2pkfzkgnRIdBCAMkaK6nV9rAR-j1Mwy3kAVb9T7W)

Si todo funciona, el flujo de personas desde el stock aparece **ClientesPotenciais** de durante los **Clientes** primeros 6 meses y luego este flujo termina. Pronto aprenderá a controlar la duración de la simulación. Por ahora, continúe construyendo el modelo, que ahora representa el ciclo de conversión de boca en boca.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tutorial-ds.anylogicbrasil.com.br/espanol/variaveis-dinamicas-no-anylogic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
