TweetFollow Us on Twitter

MatLab
Volume Number:4
Issue Number:5
Column Tag:The Workstation Mac

MatLab Comes to the Mac II

By Paul Zarchan, Cambridge, Mass

Introduction

MATLAB is an interactive program to help with scientific and engineering numeric calculations. Although it was originally written in FORTRAN for mainframe computers, a second generation MATLAB was rewritten for smaller computers such as the Sun Workstation and the VAX computer. In the last few years a special version of MATLAB was developed to run on MS DOS compatable PC’s with math coprocessors. Typical uses for MATLAB are general purpose numeric computation, algorithm prototyping and solving special purpose problems with matrix formulations that arise in disciplines such as automatic control theory, statistics and digital signal processing. MATLAB is now available for the Mac II or for any Mac souped up with a 68020 accelerator board and a 68881 math coprocessor. For engineers this lends legitimacy to the claim that the Mac II is actually a workstation.

Unlike FORTRAN on the MAC, MATLAB is not really designed to make executable code (i.e. “double clickable” applications). As with interpretive BASIC, the MATLAB application is required on the disk to execute any file previously generated. Unlike BASIC, MATLAB is very fast because of the highly efficient algorithms. MATLAB allows engineers to solve problems almost as they are written mathematically and in addition allows easy access to libraries of some very powerful software. Some have called MATLAB “APL without the pain”. The Mac version of MATLAB takes full advantage of the Mac interface. This also means the MATLAB output can easily be incorporated into reports and presentations making MacMATLAB far more useful than the DOS version.

Matrix Examples

Matricies can be entered either in the MATLAB editor or by the carrot prompt by using brackets to define the matrix and semicolons to separate matrix rows. For example, by entering

»A=[1 2 3;4 5 6;7 8 0]

we get the MATLAB output on screen as

A =
     1     2     3
     4     5     6
     7     8     0

If we want to find the transpose of matrix A we simply type at the prompt

»B=A’

where the ‘ indicates transposition The resultant screen output is

B =
     1     4     7
     2     5     8
     3     6     0

Taking the matrix inverse of A is simple as typing

»inv(A)

which yields the screen output (nearly instantaneously)

ans =
   -1.7778    0.8889   -0.1111
    1.5556   -0.7778    0.2222
   -0.1111    0.2222   -0.1111

Many other matrix and linear algebra functions are available with MATLAB. Of course, many engineers have these functions built into their FORTRAN libraries - so why use MATLAB? Let’s do more examples to see why!

Polynomial Example

Suppose we had two polynomials and we wanted to multiply them and find the roots of the resultant expression. If the two polynomials were

x2+3x+2 and x2+x-12

we would define the polynomials in MATLAB by typing

»A=[1 3 2];
»B=[1 1 -12];

where the polynomials are expressed as vectors where the vector elements represent the polynomial coefficients in descending order. We can multiply the 2 polynomials algebraically in MATLAB by using the convolution function or

»C=conv(A,B)

which yields

»C =
     1     4    -7   -34   -24

The screen output displays the coefficients of the resultant polynomial in descending order. This means that the product of the 2 polynomials is given by

x4+4x3-7x2-34x-24

To find the roots of the resultant polynomial we simply type

»roots(C)

which yields the 4 roots as

ans =
    3.0000
   -4.0000
   -2.0000
   -1.0000

Still not impressed with MATLAB? Let’s look at more examples.

Plotting

Unlike FORTRAN, plotting functions come built into MATLAB. If we wanted to plot

y=sin(x) and z=.01x2 from -15 to 15 in increments of .05 only the following 4 MATLAB statements would be required

»x=-15:.05:15;
»y=sin(x);
»z=x.^2/100;
»plot(x,y,x,z)

The unenhanced screen output for such a set of commands appears in Fig. 1. Of course since MATLAB grpahical output is in the PICT format it can be copied to the clipboard and pasted into any Macintosh application.

Figure 1 - Plotting With MATLAB is Easy

The graph can be embellished within the MATLAB environment (with features similar to Cricket Graph) or copied onto the clipboard and pasted into MacDraw for further enhancement.

If we wanted to show that a 5 term Fourier series expansion for a square wave is accurate (Gibb’s effect) we only need the following 3 lines of MATLAB code.

»t = 0:.1:10;
»y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9;
»plot(t,y)

The resultant unenhanced MATLAB output is shown below.

Figure 2 - MATLAB Output For Gibb’s Effect

Still not impressed? Suppose we wanted to evaluate the function

over the range

-2¾x¾2, -2¾y¾3

All we have to do is use the following 3 MATLAB statements to get a 3 dimensional plot (with all the hidden line algorithms transparent to the user) of the function.

»[x,y]=meshdom(-2:.2:2,-2:.2:3);
»z=x.*exp(-x.^2-y.^2);
»mesh(z)

Figure 3 - MATLAB 3 Dimensional Plot

Incidentally, the plot took only a few seconds to generate. Try doing that in FORTRAN!

Signal Processing

Noisy signals can be analyzed with MATLAB. For example, we can make 750 gaussian distributed random numbers with zero mean and unity standard deviation with the statements

»rand(‘normal’)
»y=rand(750,1);

We can then analyze and display the frequency content of the 750 random numbers with a MATLAB histogram statement or

»[n,x]=hist(y);
»plot(x,n,’+’)

As expected, the MATLAB output, shown in Fig. 4, demonstrates that the 750 random numbers follow the standard “bell-shaped” curve or well known gaussian distribution.

Figure 4 - MATLAB Can Make Histograms

As was mentioned in the introduction, MATLAB comes with very powerful algorithms. The next example shows a simple use of the FFT (Fast Fourier Transform) function. A common use of the FFT is to find the frequency components buried in a noisy time domain signal. Consider data sampled at 1000 Hz. We can form a signal containing 50 Hz and 120 Hz and corrupt it with gaussian noise (zero mean and unity standard deviation) with the following 5 MATLAB statements.

»t=0:.001:.5;
»x=sin(2*pi*50*t)+sin(2*pi*120*t);
»rand(‘normal’)
»y=x+2*rand(t);
»plot(y(1:50))

Figure 5 - Noisy Signal in Time Domain

It is difficult, if not impossible, to identify the frequency components by looking at the original signal in the time domain. Converting to the frequency domain, the discrete Fourier transform of the noisy signal y is found by taking the FFT. In MATLAB code this means

»Y=fft(y);

The power spectral density, a measurement of the energy at various frequencies, is:

»Pyy=Y.*conj(Y);

We can plot the power spectral density by forming a frequency axis for the first 256 points (the other 256 points are symmetric) with the MATLAB statements

»f=1000*(0:255)/512;
»plot(f,Pyy(1:256))

From the resultant output in Fig. 6 we can clearly see the frequency components at 50 Hz and 120 Hz of the signal.

Figure 6 - Frequency Domain Output

Control Analysis

MATLAB can also be used in the analysis of control systems from both a modern and classical point of view. We can find and plot the root locus of the transfer function

for gains 0 to 10 in steps of .5 with the following MATLAB statements

»num = [.2  .3  1];
»den1 = [1 .4 1];
»den2 = [1 .5];
»den = conv(den1,den2);
»k = 0:.5:10;
»r = rlocus(num,den,k); 
»plot(r,’x’), title(‘Root-locus’),xlabel(‘Real part’),ylabel(‘Imag part’)

The resultant root locus is shown in Fig. 7.

Figure 7 - Root Locus Example With MATLAB

We could find the step response for the same system by typing the additional statements

»[a,b,c,d] = tf2ss(num,den)
»t = 0:.3:15;
»y = step(a,b,c,d,1,t); 
»plot(t,y),title(‘Step response’),xlabel(‘time(sec)’)

yielding the output of Fig. 8

Figure 8 - Step Response Output

Another example of the control system analysis capability of MATLAB consider a second order quadratic transfer function with natural frequency 1 rad/sec and damping of .2. The MATLAB program required to display the magnitude characteristics is shown below and the resultant output is displayed in Fig. 9.

»[a,b,c,d]=ord2(1,.2);
»w=logspace(-1,1);
»[mag,phase]=bode(a,b,c,d,1,w);
»mag1=20*log10(mag);
»semilogx(w,mag1)

Figure 9 - Sample Magnitude Bode Plot For Quadratic Transfer Function

More Details

If you already used MATLAB in the DOS world and have a collection of many files there is no problem in porting them to the MAC. Just use a file transfer program (I used PC to MAC and Back) and the conversion routine (going from ASCII files to .m files) provided by MATLAB. The danger in doing this is that the DOS version of MATLAB will seem very primitive once you have used the MAC version. Incidentally the MAC version of MATLAB runs about 5 times faster than the IBM/AT version and at about the same speed as the Sun-3 Workstation version.

Macintosh MATLAB was developed by The Math Works, Inc. [20 N. Main St., Suite 250, Sherborn, Mass. 01770, (617)653-1415]. The software, including the signal processing toolbox comes on a single 800k disk (unprotected) with a list price of $895. The control and ientification toolboxes are sold separately - each with a list price of $495. Although this software is expensive by MAC word processing and spreadsheet standards - it is inexpensive by engineering software standards.

 
AAPL
$98.15
Apple Inc.
-0.23
MSFT
$43.58
Microsoft Corpora
-0.31
GOOG
$587.42
Google Inc.
+1.81

MacTech Search:
Community Search:

Software Updates via MacUpdate

Knock 1.1.7 - Unlock your Mac by knockin...
Knock is a faster, safer way to sign in. You keep your iPhone with you all the time. Now you can use it as a password. You never have to open the app -- just knock on your phone twice, even when it's... Read more
Mellel 3.3.6 - Powerful word processor w...
Mellel is the leading word processor for OS X and has been widely considered the industry standard since its inception. Mellel focuses on writers and scholars for technical writing and multilingual... Read more
LibreOffice 4.3.0.4 - Free Open Source o...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more
Freeway Pro 7.0 - Drag-and-drop Web desi...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With it's user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
Drive Genius 3.2.4 - Powerful system uti...
Drive Genius is an OS X utility designed to provide unsurpassed storage management. Featuring an easy-to-use interface, Drive Genius is packed with powerful tools such as a drive optimizer, a... Read more
Vitamin-R 2.15 - Personal productivity t...
Vitamin-R creates the optimal conditions for your brain to work at its best by structuring your work into short bursts of distraction-free, highly focused activity alternating with opportunities for... Read more
Toast Titanium 12.0 - The ultimate media...
Toast Titanium goes way beyond the very basic burning in the Mac OS and iLife software, and sets the standard for burning CDs, DVDs, and now Blu-ray discs on the Mac. Create superior sounding audio... Read more
OS X Yosemite Wallpaper 1.0 - Desktop im...
OS X Yosemite Wallpaper is the gorgeous new background image for Apple's upcoming OS X 10.10 Yosemite. This wallpaper is available for all screen resolutions with a source file that measures 5,418... Read more
Acorn 4.4 - Bitmap image editor. (Demo)
Acorn is a new image editor built with one goal in mind - simplicity. Fast, easy, and fluid, Acorn provides the options you'll need without any overhead. Acorn feels right, and won't drain your bank... Read more
Bartender 1.2.20 - Organize your menu ba...
Bartender lets you organize your menu bar apps. Features: Lets you tidy your menu bar apps how you want. See your menu bar apps when you want. Hide the apps you need to run, but do not need to... Read more

Latest Forum Discussions

See All

Murl the Squirrel (Games)
Murl the Squirrel 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Meet Murl. He is teased by a group of flying squirrels because he can't fly. Determined to show them he's can fly, he meets... | Read more »
Celleste (Games)
Celleste 0.1 Device: iOS Universal Category: Games Price: $2.99, Version: 0.1 (iTunes) Description: Lots of cute action with amazing 3D graphics and a new type of gameplay! Take control over the forces of the universe to help a group... | Read more »
Super Heavy Sword (Games)
Super Heavy Sword 0.0.1 Device: iOS Universal Category: Games Price: $.99, Version: 0.0.1 (iTunes) Description: Get Ready to Get HEAVY! Monster Robot Studios presents SUPER Heavy Sword! The sequel to the smash hit HEAVY sword which... | Read more »
Angels In The Sky (Games)
Angels In The Sky 1.00 Device: iOS Universal Category: Games Price: $6.99, Version: 1.00 (iTunes) Description: - This game is only for the iPhone 5s. please do not use the iPad, iPhone 5 or earlier devices.- Just touch or holding... | Read more »
80 Days (Games)
80 Days 1.0.2 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.2 (iTunes) Description: 1872, with a steampunk twist. Phileas Fogg has wagered he can circumnavigate the world in just eighty days. Choose your own route... | Read more »
Micromon (Games)
Micromon 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: 130+ Animated Monsters to Catch & Battle! No waiting, play at your own pace! Embark on an epic monster capture RPG like none... | Read more »
Empire Manager (Games)
Empire Manager 1.0 Device: iOS iPhone Category: Games Price: $3.99, Version: 1.0 (iTunes) Description: Become ruler of an empire. Manage your economy, develop technology, hire an army and conquer the world in this addictive turn-... | Read more »
Empire Manager HD (Games)
Empire Manager HD 1.0 Device: iOS Universal Category: Games Price: $7.99, Version: 1.0 (iTunes) Description: Become ruler of an empire. Manage your economy, develop technology, hire an army and conquer the world in this addictive... | Read more »
Star Admiral Review
Star Admiral Review By Rob Thomas on July 30th, 2014 Our Rating: :: ADMIRABLE ADMIRALSUniversal App - Designed for iPhone and iPad While this new digital CCG may feel a bit familiar, Star Admiral offers a sci-fi twist and galaxy’s... | Read more »
Zap! Pow! Become a Badass Wizard in Phan...
Zap! Pow! | Read more »

Price Scanner via MacPrices.net

iPad Cannibalization Threat “Overblown”
Seeking Alpha’s Kevin Greenhalgh observes that while many commentators think Apple’s forthcoming 5.5-inch panel iPhone 6 will cannibalize iPad sales, in his estimation, these concerns are being... Read more
Primate Labs Releases July 2014 MacBook Pro P...
Primate Labs’ John Poole has posted Geekbench 3 results for most of the new MacBook Pro models that Apple released on Tuesday. Poole observes that overall performance improvements for the new MacBook... Read more
Apple Re-Releases Bugfixed MacBook Air EFI Fi...
Apple has posted a bugfixed version EFI Firmware Update 2.9 a for MacBook Air (Mid 2011) models. The update addresses an issue where systems may take longer to wake from sleep than expected, and... Read more
Save $50 on the 2.5GHz Mac mini, plus free sh...
B&H Photo has the 2.5GHz Mac mini on sale for $549.99 including free shipping. That’s $50 off MSRP, and B&H will also include a free copy of Parallels Desktop software. NY sales tax only. Read more
Save up to $140 on an iPad Air with Apple ref...
Apple is offering Certified Refurbished iPad Airs for up to $140 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free. Stock tends to come and go with some of these... Read more
$250 price drop on leftover 15-inch Retina Ma...
B&H Photo has dropped prices on 2013 15″ Retina MacBook Pros by $250 off original MSRP. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.3GHz Retina MacBook Pro: $2249, $250 off... Read more
More iPad Upgrade Musings – The ‘Book Mystiqu...
Much discussed recently, what with Apple reporting iPad sales shrinkage over two consecutive quarters, is that it had apparently been widely assumed that tablet users would follow a two-year hardware... Read more
13-inch 2.5GHz MacBook Pro on sale for $999,...
Best Buy has the 13″ 2.5GHz MacBook Pro available for $999.99 on their online store. Choose free shipping or free instant local store pickup (if available). Their price is $100 off MSRP. Price is... Read more
Save up to $300 on an iMac with Apple refurbi...
The Apple Store has Apple Certified Refurbished iMacs available for up to $300 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free. These are the best prices on... Read more
WaterField Unveils 15″ Outback Solo & 13″...
Hard on the heels of Apple’s refreshed MacBook Pro Retina laptops announcement, WaterField Designs has unveiled a 15-inch version of the waxed-canvas and leather Outback Solo and a 13-inch version of... Read more

Jobs Board

Sr Software Lead Engineer, *Apple* Online S...
Sr Software Lead Engineer, Apple Online Store Publishing Systems Keywords: Company: Apple Job Code: E3PCAK8MgYYkw Location (City or ZIP): Santa Clara Status: Full Read more
Sr Software Lead Engineer, *Apple* Online S...
Sr Software Lead Engineer, Apple Online Store Publishing Systems Keywords: Company: Apple Job Code: E3PCAK8MgYYkw Location (City or ZIP): Santa Clara Status: Full Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Sr. Product Leader, *Apple* Store Apps - Ap...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.