QuadFunction

Purpose

Representation of quadratic functions in the form x'*H*x + F*x + g

Syntax

Q = QuadFunction(H,F,g)
Q = QuadFunction(H,F)
Q = QuadFunction(H)
Q = QuadFunction(H,F,g,Data)

Description

The QuadFunction class represents quadratic functions of the form ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction1.png where ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction2.png is a real matrix, ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction3.png is a real matrix and ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction4.png is a real column vector. Dimensions of ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction5.png, ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction6.png and ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction7.png must coincide such that the output is a scalar.

Input Arguments

H

Real matrix representing the coefficients in the quadratic term ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction8.png in ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction9.png.

Class: double

F

Real matrix representing the coefficients in the linear term ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction10.png in ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction11.png.

Class: double

g

Real vector representing the affine terms ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction12.png in ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction13.png.

Class: double

Data

Any data related to the function.

Output Arguments

Q

QuadFunction object.

Example(s)

Example 1

Construct a quadratic function ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction14.png
q1 = QuadFunction(1,0,1)
Quadratic Function: R^1 -> R^1
Construct a quadratic function ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction15.png
q2 = QuadFunction(0.5,3,-1)
Quadratic Function: R^1 -> R^1

Example 2

Construct a quadratic function ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction16.png where ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction17.png, ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction18.png, ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction19.png will be randomly generated and ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction20.png is a vector in dimension 2.
 f = QuadFunction(randn(2),randn(1,2),randn(1)) 
Quadratic Function: R^2 -> R^1

Example 3

Construct quadratic function ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction21.png where ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction22.png, ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction23.png and ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction24.png are regression coefficients from the data ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction25.png and ../../../../../../fig/mpt/modules/geometry/functions/@QuadFunction/quadfunction26.png. The data we want to store
 data.x = 0:0.01:0.5;

 data.y = cos(data.x);

 data.file= 'DSCa002';
 Compute the regression coefficients and store them in h
      
 h = polyfit(data.x,data.y,2); 
 We can store the data from which the function was obtained under Data property 
 QuadFunction(h(1),h(2),h(3),data)
Quadratic Function: R^1 -> R^1

See Also

function, afffunction


© 2010-2013 Martin Herceg: ETH Zurich, herceg@control.ee.ethz.ch