Download The MATLAB Notebook v1.5.2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Law of large numbers wikipedia , lookup

Mathematical model wikipedia , lookup

Elementary mathematics wikipedia , lookup

Transcript
CHAPTER 1: INTRODUCTION INTO MATLAB COMPUTING
Lecture Notes 1.4: Reading and Writing Operations
Interactive operations by keyboard and mouse:

o
input: takes the input data from an user, when he types a value and hits the return key
for a numerical input: z = input('string'), where 'string' is a prompting message
r = input('Enter radius of a sphere: ')
Enter radius of a sphere: 5
r =
5
o
for a textual input: z = input('string','s'), where z is the string for input text
z = input('Enter your name: ','s')
length(z)
z(1)
z(6)
Enter your name: Dmitry
z =
Dmitry
ans =
6
ans =
D
ans =
y
o
for general use: z = input('string'), where type variable for numerical input and 'variable' for string
input
z1 = 1894 % this is number
z2= '1894' % this is a string
length(z2), z2(1), z2(4) % z2 is array of four characters
length(z1), z1(1) % z1 is scalar of one numerical value
z3 = str2num(z2) % conversion from string to number
(z1 == z3) % yes, z3 is now the same as z1, i.e. it is the number
z4 = num2str(z1) % conversion from number to string
(z2 == z4) % yes, z4 is now the same as z2, i.e. it is the string
% NB: when array variables are compared, each element is compared individually
% NB: for comparisons of array variables, they must be of the same size!
z1 =
z2 =
ans =
ans =
ans =
ans =
ans =
z3 =
ans =
z4 =
ans =
1894
1894
4
1
4
1
1894
1894
1
1894
1
1
1
1

disp: displays numbers, vectors, matrices, and strings
disp(1234) % 1234 is a number
disp([1, 2, 3, 4]) % [1,2,3,4] is a vector
disp([1, 2; 3, 4]) % [1,2;3,4] is a matrix
disp('MESSAGE: 1234 is a string') % displays a string
1234
1
2
3
4
1
2
3
4
MESSAGE: 1234 is a string

sprintf: creates a string output from any textual and numerical input
str1 = sprintf('The value of pi equals to %6.3f',pi)
str2 = sprintf('The integer part of e = exp(1) equal to %6.0f',exp(1))
% NB: the total width of the printed number is 6 (empty characters are added)
str1 =
The value of pi equals to 3.142
str2 =
The integer part of e = exp(1) equal to

3
fprintf: outputs a formatted message and numbers to the user's terminal or to a file
fprintf('The value of pi equals to %6.3f\n',pi);
fprintf('The integer part of e = exp(1) equal to %6.0f\n',exp(1));
The value of pi equals to 3.142
The integer part of e = exp(1) equal to

o
o
o
o
o
o
3
formats (the same as in C)
"%10.2f" – fixed point format
"%10.2e" – floating point format
"%10.2g" – the best of fixed or floating point format
"%10.0f" – fixed point format for a rounded integer part of a number
"%d" – displays an integer
"%s" – display a string
x = 123456789.987654321;
x1 = sprintf('%5.2f',x) % x1 displays 2 digits of the fractional part
% NB: the total width of
% since the integer part
x2 = sprintf('%5.2e',x) % x2
x3 = sprintf('%5.2g',x) % x3
x4 = sprintf('%5.0f',x) % x4
x1 =
123456789.99
x2 =
1.23e+008
x3 =
1.2e+008
x4 =
123456790
the printed value exceeds 5,
of x has more characters than the format
displays 2 digits after the period
takes the floating point format as best
displays rounded integer number

Special characters:
o '\n': new-line character
o '\t': tab character
o '\r': carriage return character
o '\\': backslash character
o '%%': percent character
fprintf('here is an example\n of a ver\ty fu\t\tnny t\t\t\text!');
here is an example
of a ver y fu
nny t
ext!
x = 1; y = 12; z = 123; w = 1234;
fprintf('x = %4d,\ty = %4d\nz = %4d,\tw = %4d\n',x,y,z,w);
% NB: useful formatting of data output
x =
z =
1, y =
12
123, w = 1234
Reading from and writing to a data file:
 fileID = fopen('filename','w'): open the file "filename" for writing operations
 fileID: an integer, called a file identifier (unique in the given working space)
 permissions:
o 'r' - read
o 'w' - write (create if necessary)
o 'a' - append (create if necessary)
o 'r+' - read and write (do not create)
o 'w+' - truncate or create for read and write
o 'a+' - read and append (create if necessary)
 fclose('fileID'): close the file with the file identifier "fileID" after all operations
 fprintf(fileID,'textname'): write the text "textname" into the file with the file identifier "fileID"
 fwrite(fileID,variablename): write the variable "variablename" into the file
 fscanf, fread: read MATLAB instructions for reading operations
Saving and loading the workspace:
 save: saving MATLAB current working space into double precision binary
o save – all current variables are saved into file "matlab.mat"
o save filename – all current variables are saved into file "filename.mat"
o save filename <variablename> – only the list of variables in "variablename" is saved into the file
"filename.mat" (NB: there is no separation of variables in the list by a comma)
o save filename <variablename> - ascii : the data is saved into ASCII format, the file can be viewed
by editing sources
 load: retrieving all saved variables from the file into MATLAB current working space
o load – load all saved variables from the file "matlab.mat"
o load filename – load all saved variables from the file "filename.mat" (NB: the file must exist either in
the same directory or in the valid path)
o load filename – ascii : load all data from the file "filename.mat" into one variable called "filename"
(NB: the file "filename.mat" must have data into one of the following forms)
 a single number



a row vector
a column vector
a matrix
Note: If multiple variables in different data forms are to be loaded, they have to be prepared in separate
ASCII data files! There is no such trouble in binary format: all stored variables are retrived separately and
stored into different variables that keep the names of saved variables!
x = [ 1, 2, 3, 4 ]; y = [ -1 ; -2 ];
save data1 x y
clear all;
load data1;
x
y
x =
1
y =
-1
-2
2
3
4