:orphan:

start_v
*******

Specifies the initial v-values (the associative strength between stimulus element - behavior pairs).

The parameter ``start_v`` can be set to certain values for certain particular element-behavior pairs.
It can also be specified as a single value, in which case the same initial value is used for all
element-behavior pairs. Wildcards (*) may be used to set several values at once.

Syntax
------

::

  start_v = e1->b1: v1, e1->b2: v2, ..., en->bn: vn, default: d
  start_v = v1
  start_v = *->*: v1  # Same as the above
  start_v = e1->*: v1
  start_v = *->b1: v1

where ``v1,v2,...,vn`` and ``d`` are :ref:`scalar expressions<scalar-expressions>`.

Description
-----------

``start_v = e1->b1: v1, e1->b2: v2, ..., en->bn: vn, default: d`` sets the initial value for

- v(e1->b1) to v1,
- v(e1->b2) to v2, ...,
- v(en->bn) to vn,

and the initial value for all other v-values to d.

- The specification is independent of the list order:

  ``start_v = e1->b1:v1, e1->b2:v2, default:d``

  is the same as

  ``start_v = e1->b2:v2, default:d, e1->b1:v1``.

- ``default`` need not be specified if all possible combinations ``element->behavior`` are present in the list. For example,

  ::

    stimulus_elements = e1, e2
    behaviors = b1, b2
    start_v = e1->b1:v11, e1->b2:v12, e2->b1:v21, e2->b2:v22

----

``start_v = v1`` sets the initial values for all v-values to v1.

- ``start_v = v1`` is the same as ``start_v = default: v1``.

Dependencies
------------

- The properties ``stimulus_elements`` and  ``behaviors`` must be specified before ``start_v``.
- Each stimulus element used in the specification of ``start_v`` must be present in the parameter ``stimulus_elements``.
- Each behavior used in the specification of ``start_v`` must be present in the parameter ``behaviors``.
- Applicable in all mechanisms except the Rescorla-Wagner mechanism. (Use ``start_vss`` in Rescorla-Wagner.)

Examples
--------

::

  @variables x = 1
  start_v = element1->behavior1: x, element1->behavior2: x+1, default:x+2

sets the initial value for v(element1->behavior1) to 1 and for v(element1->behavior1) to 2, and
for the remaining possible element-behavior pairs to 3.

::

  start_v = element1->behavior1: 0.5, default:0

sets the initial value for v(element1->behavior1) to 0.5 and for v(element1->behavior1) to 2, and
for the remaining possible element-behavior pairs to 3.

::

  start_v = 0.1

sets the initial value for all v-values to 0.1.
