Comparison: Matlab Scripts & BASIC (Page 3)

There are many matrix functions in Matlab that are not available at all in BASIC. Some of the more useful ones are shown below.
COMMAND What it Does
x = zeros(100,2); Makes x a 100 row by 2 column matrix with all zeros
y = ones(20,20); Makes y a 20 row by 20 column matrix with all ones
z = 0:.1:10; Puts the values of 0,.1,.2,...10 into the variable z
a = z.^2; The .^2 operator will take each individual element of z and square it, so a will contain 0,.01,.04,...100
b = a.*z; The .* operator will take each individual element of a and multiply it by the same element in z. The equivalent code in BASIC would be
for i=1 to 101
b(i) = a(i)*z(i)
next i
C = rand(3,3);
D = ones(3,3);
E = C*D;
The first command makes C a 3-by-3 matrix of random numbers between 0 and 1. Matrix D will be all ones, and the matrix E will be the matrix product of these two matrices (so each element of the top row of E will be the sum of the first row of C.

The following code shows some powerful things we can do with Matlab graphics (graphics are non-standard in BASIC).

Consider a ball dropped from a window of a tall building and another ball thrown downwards at 2.5 m/s from a window 1 floor (3 meters) higher up. This program will plot the heights of the two balls as a function of time.

   t = 0:.01:2;
   g = -9.8;
   y1 = 0.5*g*t.^2;
   y2 = 0.5*g*t.^2 - 2.5*t + 3;
   plot (t,y1,'g-');
   plot (t,y2,'r.');
   xlabel ('Time (Seconds)');
   ylabel ('Distance Fallen (Meters)');
   title ('Height of Falling Objects');

Previous Page
NOTE: This document uses HTML 3.0 Extensions. It must be viewed with an appropriate browser (such as Netscape Version 2 or higher)
Electronic Copy: http://physics.gac.edu/~huber/matlab/mtlbasi3.html
Created: 20-JUL-96 by Tom Huber, Physics Department, Gustavus Adolphus College.