Professional Documents
Culture Documents
References
Graphics and GUIs with MATLAB, 3rd Ed, Patrick Marchand and O. Thomas Holland, Chapman & Hall/CRC, 2003
Script M-Files
Numerical Computing with . MATLAB for Scientists and Engineers
Write simple script m-files using the editor, Get user inputs and print the formatted results, Give explanations on your scripts using comments, Use cell mode for efficient coding and evaluation, Create a simple dialogue window, Save and Load data to/from MATLAB data file, text file as well as Excel files Use timer to perform repeated action
Text file comprised of a series of MATLAB commands The file name ends with .m, hence m-file. MATLAB interprets the lines in a script m-file. Example
calc_price.m
1: 2: 3: 4: 5:
% Calculate the total price nItem = input('Enter the number of items:'); uPrice = input('Enter the unit price:'); tPrice = nItem * uPrice; fprintf('The total price is %d.\n', tPrice );
5
Using Toolbar
Using Menubar
Popup Menu
10
pause
pause(5) sec
waitforbuttonpress
price = input('Enter the Unit Price: '); fprintf('The price is %d.\n', price * 20 );
name = input('Enter your name: ','s'); disp(name); keyboard
string input
Gives control to keyboard. Debug Mode Go into k>> mode Type R-E-T-U-R-N (5 characters) to exit.
11
% Get user inputs using command line name = input('Your name: ','s'); age = input('Your age: '); fprintf( ['Hello, %s!' ... ' You will be %d years old next year\n'], ... name, age+1); %% fprintf( 'Press key to continue..'); pause today1 = date; fprintf( '\nToday is %s.\n', today1 );
12
errordlg
helpdlg
questdlg
listdlg
warndlg
various_dlgs.m
14
Comments
Line comments
% % % % This m-file demonstrates filtering operation of FIR designed for removing a tone noise. Refer to Book1 for the exact algorithm Three 2-R plot will be drawn.
Block comments
%{ This m-file demonstrates filtering operation of FIR designed for removing a tone noise. Refer to Book1 for the exact algorithm }% Useful for commenting out a block of code temporarily for debugging.
15
Commenting Out
Ctrl+R for commenting out the selection Ctrl+T for un-commenting out the selection
16
Code Cells
Code Cell 2
Code Cell 3
17
18
Ctrl
Shift
Enter
Evaluate the cell and advance to the next cell. Evaluate the current cell.
+
Ctrl
Enter
19
plot_cosine.m
Change the value near the cursor and execute the cell.
20
disp
disp(name of a variable) or disp('text as string')
disp_demo.m
n = [8 1 6] disp(n) % show the values of n disp('Magic Numbers') % just text disp(['The numbers are: ' num2str(n)]) % text and No's >> disp_demo n = 8 1 6 8 1 6 Magic Numbers The numbers are: 8
6
21
fprintf
fprintf('text') or fprintf('format',arg1, arg2,..)
fprintf_demo.m
n = [8 1 6]; fprintf( '%2d %2d %2d\n', n ); fprintf('Magic Numbers\nDo Exist!\n') % just text fprintf('The numbers are %d, %d and %d.\n', n) >> fprintf_demo 8 1 6 Magic Numbers Do Exist! The numbers are 8, 1 and 6. \n \t %d %x %f %*d new line horizontal tab decimal integer hexadecimal floating point field width, ..
22
2 3 6
2 4 8
2 5 10
2 6 12
2 7 14
2 8 16
2 9 18
23
+3.1 -3.1
2 2
2 2
3 -
. 3
1 . 1
. -
1 3 . 1
+ 3 -
. 3
1 . 1
24
fclose()
times2.txt
25
save and load into/from MATLAB data file save save mydata
save mydata var1 var2 ... save mydata var3 -append save ascii mydata.txt var1
load
26
xlsread
27
xlsread
a = xlsread('simple.xlsx')
a = xlsread('simple.xlsx','Sheet1','A3:B4')
28
xlswrite
% Excel write demo % Write to the first sheet beginning from A1 xlswrite('magic.xlsx', magic(4)); % Write to a new sheet, 'Magic5', beginning from A1 xlswrite('magic.xlsx', magic(5), 'Magic5'); % Write to 'Sheet2' beginning from A1 xlswrite('magic.xlsx', magic(6), 2); % Write to 'Sheet3' beginning from B2 xlswrite('magic.xlsx', magic(7), 3, 'B2');
29
Timer
StartDelay
say_hello.m
Period
Period
Period
Try timer_demo.m!!
30
Timer Demo
31
MATLAB
matlabrc.m finish.m q='Sure?'; b=questdlg(q,'Exit Request','Yes','No','No'); switch b case 'No; quit cancel; end
32
Write a script file, 'ifactor.m', which gets a number from user and prints the number as a product of the prime factors. (Hint: factor)
>> ifactor Prime Factoring v1.0 Enter a positive integer:30 30 = 1 x 2 x 3 x 5 >> ifactor Prime Factoring v1.0 Enter a positive integer:40 40 = 1 x 2 x 2 x 2 x 5
33
Solution 1
Script
ifactor.m
34
Write a script file, 'ifactor2.m', which gets a number from user using a dialog box and prints the number as a product of the prime factors at a message box. [Hint: inputdlg(), msgbox()]
35
Solution 2
36
Write a script file, 'icalc.m', which prints the mean and the variance of the data in 'marks.xlsx'. [Hint: mean(), var()]
37
Solution 3
Script
icalc.m
38
Notes
39
Notes
40