basics of programming
TRANSCRIPT
![Page 1: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/1.jpg)
S YADAV1
SESSION-1
INTRODUCTION TO PROGRAMMING IN MATLAB
LANGUAGE
![Page 2: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/2.jpg)
S YADAV2
Programming Basics To Start Matlab On Microsoft® Windows® platforms, double-clicking the MATLAB shortcut on your Windows desktop.
On UNIX platforms, start MATLAB by typing matlab at the operating system prompt.
Quitting the MATLAB Program To end your MATLAB session, select File > Exit MATLAB in the
desktop, or type quit in the Command Window
Matlab.ico
![Page 3: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/3.jpg)
S YADAV3
Programming in Matlab
![Page 4: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/4.jpg)
S YADAV4
Basics of Matlab Matlab has two different methods for executing commands Interactive mode In interactive mode, commands are typed (or cut-and-pasted) into the
'command window'. » 3 + 4 ans = 7
Batch mode. In batch mode, a series of commands are saved in a text file (either
using Matlab's built-in editor, or another text editor ) with a '.m' extension.
The batch commands in a file are then executed by typing the name of the file at the Matlab command prompt.
![Page 5: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/5.jpg)
S YADAV5
Scripts and Functions M-Files: Files that contain code in the MATLAB language are
called M-files. You create M-files using a text editor, then use them as you would any other MATLAB function or command.
There are two kinds of M-files: 1. Scripts, which do not accept input arguments or
return output arguments. They operate on data in the workspace.
2. Functions, which can accept input arguments and return output arguments. Internal variables are local to the function.
NOTE :The names of the M-file and of the function should be the same.
![Page 6: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/6.jpg)
S YADAV6
Scripts x = -pi:0.01:pi; plot(x,sin(x)), grid on
Function %Name of function is sum1 function c=sum1(a,b) c=a+b end M file names should be sum1.m
Example
![Page 7: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/7.jpg)
S YADAV7
Variables As in programming languages, the MATLAB language provides
mathematical expressions, but unlike most programming languages, these expressions involve entire matrices.
MATLAB does not require any type declarations or dimension statements. When MATLAB encounters a new variable name, it automatically creates the variable and allocates the appropriate amount of storage. If the variable already exists, MATLAB changes its contents and, if necessary, allocates new storage. For example,
num_students = 25 creates a 1-by-1 matrix named num_students and stores the value 25 in its single element.
To view the matrix assigned to any variable, simply enter the variable name.
Variable names consist of a letter, followed by any number of letters, digits, or underscores.(max length of variable is 63)
MATLAB is case sensitive; it distinguishes between uppercase and lowercase letters. B and b are not the same variable.
![Page 8: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/8.jpg)
S YADAV8
MATLAB AND MATRIX
![Page 9: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/9.jpg)
S YADAV9
*MATLAB IS MATRIX MANIPULATION LANGUAGE.
*MOST OF VARIABLES YOU DECLARE WILL BE MATRICES.
*MATRIX IS RECTANGULAR ARRAY OF NUMBERS
*A is MxN MATRIX : IT MEANS ‘A’ HAS M ROWS AND N COLUMNS
*IN MATRIX FIRST INDEX IS ROW INDEX AND SECOND INDEX IS COLUMN INDEX
*SCALAR IS 1x1 MATRIX.
*INDEXING IN MATLAB STARTS FROM ONE(1)
MATRIX
![Page 10: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/10.jpg)
S YADAV10
Let matrix
B =
1 2 3
6 7 8
B CAN BE CREATE IN MATLAB USING SYNTAX
B=[1 2 3;6 7 8];
HOW TO ACCESS DIFFERENT ELEMENTS B(ROW ,COLUMN)
B(1,1)=1 i.e. FIRST ROW and FIRST COLUMN
B(2,1)=6 i.e. SECOND ROW FIRST COLUMN
B(2,3)=8 i.e. SECOND ROW THIRD COLUMN
DEFINING MATRIX IN MATLAB
![Page 11: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/11.jpg)
S YADAV11
A =
11 12 13 14 15 16
17 18 19 20 21 22
23 24 25 26 27 28
A(1,:) = [11 12 13 14 15 16]
i.e. FIRST ROW AND ALL COLUMNS
A(2,:)=[17 18 19 20 21 22]
i.e. SECOND ROW AND ALL COLUMNS
A(1,1:3)=[11 12 13 ];
i.e. FIRST ROW AND ONE TO THREE COLUMNS
A(2,3:6)=[19 20 21 22 ]; i.e second row , third to sixth column.
ACCESSING SUBMATRICES
![Page 12: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/12.jpg)
S YADAV12
ONE DIMENTION MATRIX IS ALSO KNOWN AS VECTOR.
ONE DIMENTION MATRIX MAY BE EITHER
ROW MATRIX : CONTAINING ONE ROW ONLY
OR
COLUMN MATRIX:CONTAINING ONE COLUMN ONLY
HOW TO ACCES DIFFERENT ELEMENTS
A(1),A(2) WILL WORK AS IT IS ONE DIMENSIONAL VECTOR.
ONE DIMENTION MATRIX
![Page 13: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/13.jpg)
S YADAV13
ALTERNATE WAY OF MAKING MATRICES
A=1:9
A =
1 2 3 4 5 6 7 8 9
A=1:2:9
A =
1 3 5 7 9
A=[5:-1:-5]
A =
5 4 3 2 1 0 -1 -2 -3 -4 -5
![Page 14: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/14.jpg)
S YADAV14
eyes(n) will produce nxn identity matrixeyes(m,n) will produce mxn identity matrixones(n) will produce nxn matrix of ones.ones(m,n) will produce mxn matrix of ones.zeros(m,n) will produce matrix of zerosrand(m,n) will produce mxn matrix of randomvaluetriu(X) will extract upper triangular part of matrix X.tril(X) will extract lower triangular part of matrix X.
MATRIX BUILDING FUNCTIONS
![Page 15: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/15.jpg)
S YADAV15
MATRIX OPERATIONS
+ ADDITION - SUBTRACTION* MULTIPLICATION^ POWER‘ CONJUGATE TRANSPOSE.’ TRANSPOSE\ LEFT DIVISION/ RIGHT DIVISION
THESE MATRIX OPERATIONS APPLY TO SCALARS AS WELL.IF THE SIZES OF MATRICES ARE INCOMPATIBLE FOR THE MATRIX OPERATION, AN ERROR MESSAGE WILL RESULT.
![Page 16: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/16.jpg)
S YADAV16
EXAMPLE OF MULTIPLICATIONA = B =
1 2 1 1
2 3 1 1
A*B
1*1+2*1 1*1+2*1
2*1+3*1 2*1+3*1
A*B
3 3
5 5
![Page 17: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/17.jpg)
S YADAV17
ENTRY-WISE OPERATIONS•OPERATIONS OF ADDITION AND SUBTRACTION ALREADY OPERATE ENTRY WISE A = B =
1 2 1 1 2 1 1 1
A+B
2 3 3 2
![Page 18: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/18.jpg)
S YADAV18
Other entry-wise operation
i.e. .* , .^ , ./ ,.\A=[1 2 3 4]
B=[1 2 3 4]
A.*B=[1 4 9 16]
A=[4 6 8 10]
B=[2 2 2 2]
A./B=[2 3 4 5]
A=[1 2 3]
A.^3=[1 8 27]
![Page 19: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/19.jpg)
S YADAV19
MATRIX DIVISIONIF A IS AN INVERTIBLE MATRIX AND b IS A COMPATIBLE COLUMN VECTOR, then
x=A\b is the solution of A*x=b
[1 2 3;4 5 6; 8 9 7]*[x;y;z]=[1;2;3]
[x;y;z]=[1 2 3;4 5 6;8 9 7]\[1;2;3]
IF A IS AN INVERTIBLE MATRIX AND b IS A COMPATIBLE ROW VECTOR, then
x=b/A is the solution of x*A=b
[x y z]*[1 2 3;4 5 6; 8 9 7]=[1 1 3]
[x y z]=[1 1 3]/[1 2 3;4 5 6;8 9 7]
![Page 20: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/20.jpg)
S YADAV20
STATEMENTS, EXPRESIONS AND VARIABLES
•MATLAB is interpreted language.•Statements are of form variable=expression; expression; x=3;y=x^3+3*x;y=sqrt(x);
Or just x^3+2*x ; In this case variable ‘ans’ is automatically created to which result is assigned
![Page 21: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/21.jpg)
S YADAV21
•Statement is terminated with ‘;’•If it is not terminated with ‘;’ , result will be displayed on screen.•Statements can be placed on same line if they are terminated with ‘;’•Single statement can be continued to next line with three or more periods e.g. y=x*x+ ….. 2*x+3;
•MATLAB is case sensitive.•who or whos will list variables in current workspace.•inmem lists compiled m files in current memory.
Continued …..
![Page 22: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/22.jpg)
S YADAV22
•VARIABLE OR FUNCTION CAN BE CLEARED FROM WORKSPACE clear variablename clear functionname•clear WILL CLEAR ALL NON PERMANENT VARIABLES.•ON LOGOUT ALL VARIABLES ARE LOST•‘save’ WILL SAVE ALL VARIABLES IN FILE matlab.mat•‘load’ WILL RESTORE WORKSPACE TO ITS FORMAL STATE.•‘save’ and ‘load’ TAKE VARIABLE NAME AND FILENAME AS OPTIONAL ARGUMENTS.•edit fun opens the file fun.m in a text editor.
Continued…..
![Page 23: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/23.jpg)
S YADAV23
CONTROL STRUCTURES IN MATLAB
![Page 24: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/24.jpg)
S YADAV24
RELATIONAL OPERATORS< LESS THAN> GREATER THAN<= LESS THAN OR EQUAL>= GREATER THAN OR EQUAL= = EQUAL~= NOT EQUALNOTE: = IS USED IN ASSIGNMENT AND = = IS USED IN A RELATION
LOGICAL OPERATORS& AND| OR~ NOTRELATIONS MAY BE CONNECTED BY LOGICAL OPERATORS
![Page 25: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/25.jpg)
S YADAV25
OUTPUT OF RELATIONS OPRATION
WHEN APPLIED TO SCALAR, RELATION IS ZERO OR ONE DEPENDING ON WHETHER THE RELATION IS TRUE OR FALSEa=3; b=2;c= ( a>b) ; It means c=1c=(a<b); It means c=0a= = b answer is 0a~=b answer is 1
AND WHEN APPLIED TO MATRICES OF SAME SIZE, RELATION IS MATRIX OF 0’s and 1’s GIVING VALUE OF RELATION BETWEEN CORROSPONDING ENTERIES.d=[1 2]; e=[1 1];f= (d= =e); It means f=[1 0];
![Page 26: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/26.jpg)
S YADAV26
Control statement
If ,if else For loop While loop Switch case Brake ,continue etc.
![Page 27: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/27.jpg)
S YADAV27
IF
price=4500;
if price >5000,
disp('PRICE IS MORE THAN 5000');
end
![Page 28: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/28.jpg)
S YADAV28
IF ELSE
price=4500;
if price >5000,
disp('PRICE IS MORE THAN 5000');
else
disp(‘PRICE IS NOT MORE THAN 5000’);
end
![Page 29: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/29.jpg)
S YADAV29
IF ELSEIFprice=4500;
if price >5000,
disp('PRICE IS MORE THAN 5000');
elseif (1000<=price)&(price <=5000),
disp('PRICE IS BETWEEN 1000 AND 5000');
else
disp('PRICE IS LESS THAN 1000');
end
![Page 30: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/30.jpg)
S YADAV30
WHILE LOOPvar=20;
while var>0,
disp(var);
var=var-1;
end
disp('variable is zero now');
disp(var);
![Page 31: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/31.jpg)
S YADAV31
FOR LOOP
for i=1:10,
disp(i);
end
for i=1:2:11,
disp(i)
end
![Page 32: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/32.jpg)
S YADAV32
Nested For Loop
n=3;
for i=1:n,
for j=1:n,
a(i,j)=5;
end
end
disp(a);
![Page 33: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/33.jpg)
S YADAV33
SWITCH CASEvar1=10;
var2=5;
switch operation
case 'add'
output=var1+var2;
disp(output);
case {'multiply','product'}
output=var1*var2;
disp(output);
![Page 34: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/34.jpg)
S YADAV34
CONTINUED ……….case {'subtract','sub'}
output=var1-var2;
disp(output);
case 'divide'
output=var1/var2;
disp(output);
otherwise
disp('What else you want?');
end
![Page 35: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/35.jpg)
S YADAV35
CONTINUED…….case {'subtract','sub'}
output=var1-var2;
disp(output);
case 'divide'
output=var1/var2;
disp(output);
otherwise
disp('What else you want?');
end
![Page 36: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/36.jpg)
S YADAV36
BREAK STATEMENTvar=20;
while var>0,
disp(var);
if var==10
break;
end
var=var-1;
end
str=sprintf('Now variable is %d',var);
disp(str);
![Page 37: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/37.jpg)
S YADAV37
FUNCTION IN MATLAB
![Page 38: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/38.jpg)
S YADAV38
SCALAR FUNCTIONS•Operate essentially on scalars.•Operate element-wise when applied to a matrix. sin asin expabs cos acoslog10 log (natural log) sqrtfloor tan atan rem (remainder) sign round A=sin(1)A = 0.8415A=sin([1 1.2 1.3 1.4])A = 0.8415 0.9320 0.9636 0.9854
![Page 39: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/39.jpg)
S YADAV39
VECTOR FUNCTIONS•OPERATE ESSENTIALY ON VECTOR (ROW OR COLUMN)•WHEN APPLIED TO MxN MATRIX, OPERATE COLUMN BY COLUMN TO PRODUCE ROW VECTOR CONTAINING RESULT OF APPLICATION TO EACH COLUMN.max sum median any min prod mean all sort std max([1 2 3])ans = 3max([1 2 3 5 8 9 7 6 2])ans = 7 8 9
![Page 40: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/40.jpg)
S YADAV40
MATRIX FUNCTIONS
eig eigenvalues and eigenvectors chol cholesky factorization svd singular value decomposition inv inverse lu LU factorization qr QR factorization rref reduced row echelon form expm matrix exponential
![Page 41: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/41.jpg)
S YADAV41
STRING FUNCTIONSstrcmp(str1,str2)strncmp(str1,str2,n)strcat(str1,str2)str2num(str)str2double(str)num2str(num)CAT(DIM,A,B) concatenates the arrays A and B along the dimension DIM. CAT(2,A,B) is the same as [A,B]. CAT(1,A,B) is the same as [A;B].
![Page 42: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/42.jpg)
S YADAV42
WRITING FUNCTION
function [sum,diff]= addsub(a,b)
%This function returns two outputs, sum %and difference
sum=a+b;
diff=a-b;
return;
![Page 43: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/43.jpg)
S YADAV43
FUNCTION CONTINUEDfunction result=perform(operation ,var1,var2)switch operationcase 'multiply' result=var1*var2;case 'add' result=var1+var2;case 'subtract' result=var1-var2;case 'divide' result=var1/var2;otherwise disp('Only multilply, add,subtract and divide operations are allowed'); result='error';end
![Page 44: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/44.jpg)
S YADAV44
INPUTname=input('Please enter your name : ','s');
fprintf('\nHello %s !\n',name);
account=input(' Please enter your account number : ');
if (25 <account)&(account<50)
disp('Welcome');
else
disp('You are not a valid user');
end
![Page 45: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/45.jpg)
S YADAV45
FORMATED OUTPUT
name=‘svits';
age=06;
salary=1800000;
fprintf('\n Institute Name : %s\t Age : %d ….
\t Salary : Rs %0.2f',name,age,salary);
fprintf('\n I am writing 123456 in exponential ….
form : %e',12356);
a=[1.2 1.3 1.4 1.5 1.6];
fprintf('\n %f ',a);
![Page 46: Basics of Programming](https://reader035.vdocument.in/reader035/viewer/2022070601/577cce221a28ab9e788d69ce/html5/thumbnails/46.jpg)
S YADAV46
Thank you