Very Brief Matlab Tutorial

>> xv=(1:2:7)'		% create a column vector of x coordinates

xv =

     1
     3
     5
     7

>> yv=[1 2 3 7]'	% column vector of y coordinates

yv =

     1
     2
     3
     7

>> format compact	% to eliminate blank lines in output
>> A=[xv.^0 xv.^1 xv.^2] % cool! raise xv to powers and form matrix!
A =
     1     1     1
     1     3     9
     1     5    25
     1     7    49
>> flops(0)		% reset floating point operation (flop) counter

>> A\yv			% find least squares solution to A*c=yv, where
			% A is 4x3, c is 3x1, yv is 4x1,
			% (in this case fitting quadratic
			% function to the four points in xv and yv vectors)
ans =
    1.5125		% coeffs of quadratic function
   -0.5500
    0.1875
>> flops		% how many flops were used to solve?
ans =
   200

>> plot(xv,yv)		% plot a curve

>> size(A) % several ways to print the size of a matrix ans = 4 3 >> sprintf('A matrix is %g by %g', size(A,1), size(A,2)) ans = A matrix is 4 by 3 >> disp(sprintf('A matrix is %g by %g', size(A,1), size(A,2))) A matrix is 4 by 3 >> [1 1e-8] ans = 1.0000 0.0000 % note that 1e-8 is printed as 0 >> format short g >> [ 1 1e-8] ans = 1 1e-08 % but with "format short g", it's not
>> gausscost(10); % call a user-defined function % below is an example of a function definition % note: semicolons on the end of a statement suppress printing function cost = gausscost(n) % return cost of Matlab's Gaussian elimination routine on n x n system A = rand(n,n); % create n x n random matrix b = rand(n,1); % create n x 1 random vector flops(0); % reset flop counter A\b; % solve n x n system and discard answer cost = flops; % return value is #flops disp(sprintf('%gx%g costs %g', n, n, cost)); return;

15-859B, Introduction to Scientific Computing
Paul Heckbert
Sept. 2000