MATLAB
Contents
About
MATLAB (matrix laboratory) is a commerical software package which represents a numerical computing environment, high level programming language and visualization package. Matlab was developed by Mathworks and costs on the order of ~$100 for a student licence, or $1900 for a single commercial licence (updated Dec 2012, version 8 / R2012v). Among its features, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, and Fortran.
I haven't personally used MATLAB much yet, but here I've collected some videos and what few things that I have learnt in MATLAB. Although hideously expensive, I do regret not learning to use it earlier, since suddenly in 2012 I've been told to use it.
Make a shortcut to Matlab
To make a shortcut on your Terminal, edit your profile file:
pico ~/.bashrc # then add this line: alias matlab="/usr/local/MATLAB/R2012b/bin/matlab"
After your next restart you can just type "matlab" to launch it.
Install Plugin
CVX
CVX is a Matlab-based modeling system for convex optimization.
Download from here Unpack and copy to:
/usr/local/MATLAB/plugins
Once matlab is open copy this:
cd /usr/local/MATLAB/plugins/cvs cvx_setup
CVX Examples
cvx_begin
variables x1 x2
minimize(x1 + x2)
subject to
2*x1 + x2 >= 1
x1 + 3*x2 >= 1
x1 >= 0
x2 >= 0
cvx_end
% PROBLEM EXTRA EXC 3.2 / EX 4.1 ANSWERS:
% (a) minimize(x1 + x2) --> x1=0.4, x2=0.2
% (b) minimize(-x1 - x2) --> x1=3.9088e-08, x2=1.0
% (c) minimize(x1) --> x1=6.0507e-11, x2=9.6117
% (d) minimize(max(x1,x2)) --> x1=0.3333, x2=0.3333
% (d) minimize(x1^2 + 9*(x2^2)) --> x1=0.5, x2=0.1667
A = [-1, 0.4, 0.8; 1, 0, 0; 0, 1, 0];
b = [1; 0; 0.3];
xdes = [7; 2; -6];
N = 30;
x0 = [0; 0; 0];
cvx_begin
variables x(3, N+1) umid(N) uneg(N) upos(N)
minimize(norm(umid,1)+2*norm(upos,1)+2*norm(uneg,1))
subject to
umid >= -1
umid <= 1
upos >= 0
uneg <= 0
for t = 1:N
x(:, t+1) == A*x(:,t) + b*(umid(t)+uneg(t)+upos(t))
end
x(:,1) == x0
x(:,N+1) == xdes
cvx_end
Keep Files
cd /usr/local/google/home/anoske/Documents/MATLAB