Documentation

This is machine translation

Mouseover text to see original. Click the button below to return to the English version of the page.

varindex

Map problem variables to solver-based variable index

Syntax

``idx = varindex(prob)``
``idx = varindex(prob,varname)``

Description

example

````idx = varindex(prob)` returns the linear indices of problem variables as a structure or an integer vector. If you convert `prob` to a problem structure by using `prob2struct`, `idx` gives the variable indices in the resulting problem structure that correspond to the variables in `prob`.```

example

````idx = varindex(prob,varname)` returns the linear indices of elements of `varname`.```

Examples

collapse all

Create an optimization problem.

```x = optimvar('x',3); y = optimvar('y',3,3); prob = optimproblem('Objective',x'*y*x);```

Convert the problem to a structure.

`problem = prob2struct(prob);`

Obtain the linear indices in `problem` of all `prob` variables.

```idx = varindex(prob); disp(idx.x)```
``` 1 2 3 ```
`disp(idx.y)`
``` 4 5 6 7 8 9 10 11 12 ```

Obtain the `y` indices only.

`idxy = varindex(prob,'y')`
```idxy = 1×9 4 5 6 7 8 9 10 11 12 ```

Input Arguments

collapse all

Optimization problem, specified as an `OptimizationProblem` object. Create a problem by using `optimproblem`.

Example: ```prob = optimproblem; prob.Objective = obj; prob.Constraints.cons1 = cons1;```

Variable name, specified as a character vector or string.

Example: `'x'`

Data Types: `char` | `string`

Output Arguments

collapse all

Linear indices of problem variables, returned as a structure or an integer vector. If you convert `prob` to a problem structure by using `prob2struct`, `idx` gives the variable indices in the resulting problem structure that correspond to the variables in `prob`.

• When you call `idx = varindex(prob)`, the returned `idx` is a structure. The field names of the structure are the variable names in `prob`. The value for each field is the integer vector of linear indices to which the variables map in the associated solver-based problem variable.

• When you call `idx = varindex(prob,varname)`, the returned `idx` is the vector of linear indices to which the variable `varname` maps in the associated solver-based problem variable.

Watch now