An lvalue is the left hand side of an assignment. In other words, an lvalue is what you assign something to. Valid lvalues are:


Identifier. Here we would be setting the variable of name a.


Dereference of an identifier. This will set whatever variable a points to.


A region of a matrix. Here the region is specified normally as with the regular @() operator, and can be a single entry, or an entire region of the matrix.


*tmp := 89
a@(1,1) := 5
a@(4:8,3) := [1,2,3,4,5]'

Note that both := and = can be used interchangeably. Except if the assignment appears in a condition. It is thus always safer to just use := when you mean assignment, and == when you mean comparison.