0% found this document useful (0 votes)
40 views34 pages

Matlab File

The document discusses modelling and simulation using MATLAB. It provides examples of basic MATLAB operations like creating matrices, performing arithmetic operations on matrices, transposing matrices, and using logical indexing. It also demonstrates the use of loops, conditional statements, matrix functions and various output formats in MATLAB.

Uploaded by

neerajkumhar2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views34 pages

Matlab File

The document discusses modelling and simulation using MATLAB. It provides examples of basic MATLAB operations like creating matrices, performing arithmetic operations on matrices, transposing matrices, and using logical indexing. It also demonstrates the use of loops, conditional statements, matrix functions and various output formats in MATLAB.

Uploaded by

neerajkumhar2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

MODELLING AND SIMULATION USING MATLAB

1) A=[1 2 3;4 5 6;7 8 9]

>> new

A=

1 2 3

4 5 6

7 8 9

2) rand(3)

>> new

ans =

0.8147 0.9134 0.2785

0.9058 0.6324 0.5469

0.1270 0.0975 0.9575

3) rand(2,3)

>> new

ans =

0.9649 0.9706 0.4854

0.1576 0.9572 0.8003

Operating with Matrices

4) a=rand(4)
b=rand(4)

c=a+b

>> new

a=

0.0318 0.8235 0.0344 0.7952

0.2769 0.6948 0.4387 0.1869

0.0462 0.3171 0.3816 0.4898

0.0971 0.9502 0.7655 0.4456

b=

0.6463 0.6797 0.4984 0.2238

0.7094 0.6551 0.9597 0.7513

0.7547 0.1626 0.3404 0.2551

0.2760 0.1190 0.5853 0.5060

c=

0.6781 1.5032 0.5328 1.0190

0.9863 1.3499 1.3985 0.9381

0.8009 0.4797 0.7219 0.7449

0.3732 1.0692 1.3508 0.9515

5) d=rand(4,1)

e=a*d

>> new

d=

0.6991
0.8909

0.9593

0.5472

e=

1.2241

1.3358

0.9488

1.8926

6) a=rand(3,2)

a'

>> new

a=

0.1386 0.8407

0.1493 0.2543

0.2575 0.8143

ans =

0.1386 0.1493 0.2575

0.8407 0.2543 0.8143

7) a=3

b=a*3

eye(3)

>> new
a=

b=

ans =

1 0 0

0 1 0

0 0 1

8) [eye(3),diag(eye(3)),rand(3,2)

>> new

ans =

1.0000 0 0 1.0000 0.2435 0.1966

0 1.0000 0 1.0000 0.9293 0.2511

0 0 1.0000 1.0000 0.3500 0.6160

9) A=rand(3)

B = [A, zeros(3,2); zeros(2,3), ones(2)]

>> new

A=

0.4733 0.5853 0.2858

0.3517 0.5497 0.7572

0.8308 0.9172 0.7537

B=
0.4733 0.5853 0.2858 0 0

0.3517 0.5497 0.7572 0 0

0.8308 0.9172 0.7537 0 0

0 0 0 1.0000 1.0000

0 0 0 1.0000 1.0000

10) x=0:pi/2:2*pi

b=sin(x)

[x' b' ]

>> new

x=

0 1.5708 3.1416 4.7124 6.2832

b=

0 1.0000 0.0000 -1.0000 -0.0000

ans =

0 0

1.5708 1.0000

3.1416 0.0000

4.7124 -1.0000

6.2832 -0.0000

11) a=rand(3,4)

a(2,3)

a(1:2,2:3)

a(1,end)
a(1,:)

a(:,3)

>>

>> new

a=

0.3804 0.0540 0.9340 0.4694

0.5678 0.5308 0.1299 0.0119

0.0759 0.7792 0.5688 0.3371

ans =

0.1299

ans =

0.0540 0.9340

0.5308 0.1299

ans =

0.4694

ans =

0.3804 0.0540 0.9340 0.4694

ans =

0.9340

0.1299

0.5688

12) a=[1 2 3;4 5 6; 9 8 7]


a(3)

a(7)

a([1 2 3 4])

a(:)

>> new

a=

1 2 3

4 5 6

9 8 7

ans =

ans =

ans =

1 4 9 2

ans =

6
7

Loops: For and While

13) x=10;while x > 1; x = x/2,end

>> new

x=

x=

2.5000

x=

1.2500

x=

0.6250

14) x = []; for i = 1:4, x=[x,iˆ2], end

>> new

x=

1
x=

1 4

x=

1 4 9

x=

1 4 9 16

15) x = []; for i = 4:-1:1, x=[x,i^2], end

>> new

x=

16

x=

16 9

x=

16 9 4

x=

16 9 4 1

16) 3<5,3>5,3==5

>> new

ans =

logical
1

ans =

logical

ans =

logical

17) a = rand(5), b = triu(a), a == b

>> new

a=

0.1622 0.6020 0.4505 0.8258 0.1067

0.7943 0.2630 0.0838 0.5383 0.9619

0.3112 0.6541 0.2290 0.9961 0.0046

0.5285 0.6892 0.9133 0.0782 0.7749

0.1656 0.7482 0.1524 0.4427 0.8173

b=

0.1622 0.6020 0.4505 0.8258 0.1067

0 0.2630 0.0838 0.5383 0.9619

0 0 0.2290 0.9961 0.0046

0 0 0 0.0782 0.7749

0 0 0 0 0.8173

ans =
5×5 logical array

1 1 1 1 1

0 1 1 1 1

0 0 1 1 1

0 0 0 1 1

0 0 0 0 1

Logical Indexing

18)

a>2

>> new

a=

0.1622 0.6020 0.4505 0.8258 0.1067

0.7943 0.2630 0.0838 0.5383 0.9619

0.3112 0.6541 0.2290 0.9961 0.0046

0.5285 0.6892 0.9133 0.0782 0.7749

0.1656 0.7482 0.1524 0.4427 0.8173

ans =

5×5 logical array

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0
0 0 0 0 0

0 0 0 0 0

19) a(ans)=20

>> new

a=

0.1622 0.6020 0.4505 0.8258 0.1067

0.7943 0.2630 0.0838 0.5383 0.9619

0.3112 0.6541 0.2290 0.9961 0.0046

0.5285 0.6892 0.9133 0.0782 0.7749

0.1656 0.7482 0.1524 0.4427 0.8173

>> new

a=

0.1622 0.6020 0.4505 0.8258 0.1067

0.7943 0.2630 0.0838 0.5383 0.9619

0.3112 0.6541 0.2290 0.9961 0.0046

0.5285 0.6892 0.9133 0.0782 0.7749

0.1656 0.7482 0.1524 0.4427 0.8173

20)

x = 0:pi/6:.5*pi;

y = sin(x)

>> new

y=

0 0.5000 0.8660 1.0000


21)

a=rand(3,4)

b=sin(a)

c=sqrt(b)

>> new

a=

0.8687 0.2599 0.9106 0.1455

0.0844 0.8001 0.1818 0.1361

0.3998 0.4314 0.2638 0.8693

b=

0.7635 0.2570 0.7899 0.1450

0.0843 0.7174 0.1808 0.1356

0.3892 0.4182 0.2608 0.7639

c=

0.8738 0.5069 0.8888 0.3808

0.2904 0.8470 0.4253 0.3683

0.6239 0.6466 0.5106 0.8740

Matrix Functions

22)
A=rand(3)

y=eig(A)

>> new

A=

0.5797 0.8530 0.5132

0.5499 0.6221 0.4018

0.1450 0.3510 0.0760

y=

1.4447 + 0.0000i

-0.0835 + 0.0407i

-0.0835 - 0.0407i

23)

[V,D]=eig(A)

>> new

V=

-0.7499 + 0.0000i -0.2986 - 0.3058i -0.2986 + 0.3058i

-0.6174 + 0.0000i -0.2571 + 0.2235i -0.2571 - 0.2235i

-0.2377 + 0.0000i 0.8374 + 0.0000i 0.8374 + 0.0000i

D=

1.4447 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i

0.0000 + 0.0000i -0.0835 + 0.0407i 0.0000 + 0.0000i

0.0000 + 0.0000i 0.0000 + 0.0000i -0.0835 - 0.0407i


>> initial_velocity = 0;

acceleration = 4.5;

time = 25;

final velocity = initial velocity ...

+ acceleration * time

final velocity =

112.5000

>> format long

x = 7 + 10/3 + 5 ^ 1.2

x=

17.231981640639408

>> format short

x = 7 + 10/3 + 5 ^ 1.2

x=

17.2320

>> format bank

daily wage = 177.45;

weekly wage = daily wage * 6

weekly wage =
1064.70

>> format short e

4.678 * 4.9

ans =

2.2922e+01

>> format long e

x = pi

x=

3.141592653589793e+00

>> format rat

4.678 * 4.9

Ans =

2063/90

>> format bank

daily wage = 177.45;

weekly wage = daily wage * 6

weekly wage =

1064.70

format short e

4.678 * 4.9
Ans =

2.2922e+01

Creating vectors

>> r = [7 8 9 10 11]

r=

7 8 9 10 11

>> r = [7 8 9 10 11];

t = [2, 3, 4, 5, 6];

res = r + t

res =

9 11 13 15 17

>> c = [7; 8; 9; 10; 11]

c=

10

11

>> m = [1 2 3; 4 5 6; 7 8 9]
m=

1 2 3

4 5 6

7 8 9

Create a script file, and type the following code:

a = 5; b = 7;

c=a+b

d = c + sin(b)

e=5*d

f = exp(-d)

c=

12

d=

1.2657e+01

e=

6.3285e+01

f=

3.1852e-06

Q1) write a 3x3 cell array and call all the data type

A = ones (4)

B = 'this is a string'

C = rand(4)

D = [1 3 4 5]
E = 'my name is neeraj'

F = [2 4 5; 4 4 4; 5 5 4]

G = [3233; 3432; 3343; 6566]

H = rand(3)

I = [3; 3; 4; 4]

cell = {A, B, C; D, E, F; G, H, I}

cell{1,1}

cell{1,2}

cell{1,3}

cell{2,1}

cell{2,2}

cell{2,3}

cell{3,1}

cell{3,2}

cell{3,3}

q2) Write a structure array in matlab and call all the datatype

student(1).name= 'neeraj'

student(2).rolnum= 23

student(3).precentage= 84.44

student

student(1).name

student(2).rolnum

student(3).precentage
>> new

student =

struct with fields:

name: 'neeraj'

student =

1×2 struct array with fields:

name

rolnum

student =

1×3 struct array with fields:

name

rolnum

precentage

student =

1×3 struct array with fields:

name

rolnum

precentage

ans =
'neeraj'

ans =

23

ans =

84.4400

>>

q3) write a structure array for a patient details

paitent(1).name= 'rahul'

paitent(2).blood_group= 'B positive'

paitent(3).age= 43

paitent(4).type= 'flue'

paitent

paitent(1).name

paitent(2).blood_group

paitent(3).age

paitent(4).type

>> new

paitent =

struct with fields:


name: 'rahul'

paitent =

1×2 struct array with fields:

name

blood_group

paitent =

1×3 struct array with fields:

name

blood_group

age

paitent =

1×4 struct array with fields:

name
blood_group

age

type

paitent =

1×4 struct array with fields:

name

blood_group

age

type

ans =

'rahul'

ans =

'B positive'

ans =

43

ans =

'flue'

>>
q3) write a matrix in matlab and chack the condition

a = rand(5), b = triu(a), a == b

ans)

a=

0.7011 0.1781 0.5612 0.4607 0.3763

0.6663 0.1280 0.8819 0.9816 0.1909

0.5391 0.9991 0.6692 0.1564 0.4283

0.6981 0.1711 0.1904 0.8555 0.4820

0.6665 0.0326 0.3689 0.6448 0.1206

b=

0.7011 0.1781 0.5612 0.4607 0.3763

0 0.1280 0.8819 0.9816 0.1909

0 0 0.6692 0.1564 0.4283

0 0 0 0.8555 0.4820

0 0 0 0 0.1206

ans =

5×5 logical array

1 1 1 1 1

0 1 1 1 1

0 0 1 1 1

0 0 0 1 1

0 0 0 0 1

>>
2D Linear Plots

Q4) Write a 2d linear plot

x = -2*pi:pi/100:2*pi; y = sin(x); plot(x,y)

Q5) Write a 3d plot

t=.01:.01:20*pi; x=cos(t); y=sin(t); z=t.ˆ3;


plot3(x,y,z)
Chapter 3
Array operations and Linear
Equations

1) Introduction of M file Script with Example ?

Ans = M-File Scripts

A script file is an external file that contains a sequence of MATLAB statements. Script

files have a filename extension .m and are often called M-files. M-files can be scripts that

simply execute a series of MATLAB statements, or they can be functions that can accept

argumenxts and can produce one or more outputs.

Examples

Here are two simple scripts.

Example 1

Consider the system of equations:

Find the solution x to the system of equations.

Solution:

• Use the MATLAB editor to create a file: File → New → M-file.

• Enter the following statements in the file:


• Save the file, for example, example1.m.

• Run the file, in the command line, by typing:

example1

A = [1 2 3; 3 3 4; 2 3 3];
b = [1; 1; 2];
x = A\b

x=
-0.5000
1.5000
-0.5000

2) Introduction of M File script with example?


Ans = M-File functions
As mentioned earlier, functions are programs (or routines) that accept input arguments
and
return output arguments. Each M-file function (or function or M-file for short) has its own
area of workspace, separated from the MATLAB base workspace.

Example = factorial(5)

f = 120

Q) What is M file function?


M-File functions
MATLAB provides many matrix functions for various matrix/vector manipulations; see
Table 3.3 for some of these functions. Use the online help of MATLAB to find how to use
these functions
Q1) A = [1 2 3; 4 5 6; 7 8 0];
b = [1; 1; 1];
x = inv(A)*b

x = -1.0000
1.0000
-0.0000

Q2) A = [1 2 3; 4 5 6; 7 8 0];
b = [1; 1; 1];
x = A\b

x = -1.0000
1.0000
-0.0000

Solving linear equations

Q1) A = [1 2 3; 4 5 6; 7 8 0];
b = [1; 1; 1];
x = inv(A)*b

Ans: x = -1.0000
1.0000
-0.0000

Q2) A = [1 2 3; 4 5 6; 7 8 0];
b = [1; 1; 1];
x = A\b

Ans: x = -1.0000
1.0000
-0.0000
Matrix inverse

Q1) A = [1 2 3; 4 5 6; 7 8 0];
inv(A)

Ans:

-1.7778 0.8889 -0.1111


1.5556 -0.7778 0.2222
-0.1111 0.2222 -0.1111
Chapter 4
Introduction to programming in MATLAB

Q) What is M file Function?


Ans: functions are programs (or routines) that accept input arguments and return output
arguments. Each M-file function (or function or M-file for short) has its own area of
workspace, separated from the MATLAB base workspace.

Anatomy of a M-File function

1. function f = factorial(n)
2. % FACTORIAL(N) returns the factorial of N.
3. % Compute a factorial value.
4. f = prod(1:n);

Q1) f = factorial(4)
Ans:
f = 24

Q2) f = prod(1:6)
Ans:
f = 720
Q3) game1 = input('Enter the points scored in the first game' );
game2 = input('Enter the points scored in the second game' );
game3 = input('Enter the points scored in the third game' );
average = (game1+game2+game3)/3

Ans:
Enter the points scored in the first game
15
Enter the points scored in the second game
23
Enter the points scored in the third game
10

average =

16

Chapter 5
Control flow and operators
Control flow MATLAB has four control flow structures: the if statement, the for loop, the
while loop, and the switch statemen t

The ‘‘if...end’’ structure MATLAB supports the variants of “if” construct.


• if ... end
• if ... else ... end
• if ... elseif ... else ... end

1. discr = b*b - 4*a*c;


if discr < 0
disp(’Warning: discriminant is negative, roots are
imaginary’);
end

2. discr = b*b - 4*a*c;


if discr < 0
disp(’Warning: discriminant is negative, roots are
imaginary’);
else
disp(’Roots are real, but may be repeated’)
end

3. discr = b*b - 4*a*c;


if discr < 0
disp(’Warning: discriminant is negative, roots are
imaginary’);
elseif discr == 0
disp(’Discriminant is zero, roots are repeated’)
else
disp(’Roots are real’)
end

The ‘‘for...end’’ loop


In the for ... end loop, the execution of a command is repeated at a fixed and
predetermined number of times. The syntax is
for variable = expression
statements
end
Usually, expression is a vector of the form i:s:j. A simple example of for loop is
for ii=1:5
x=ii*ii
End

n = 5; A = eye(n);
for j=2:n
for i=1:j-1
A(i,j)=i/j;
A(j,i)=i/j;
end
End

The ‘‘while...end’’ loop


This loop is used when the number of passes is not specified. The looping
continues until a
stated condition is satisfied. The while loop has the form:

while expression
statements
end
The statements are executed as long as expression is true.

x=1
while x <= 10
x = 3*x
End

Saving output to a file


In addition to displaying output on the screen, the command fprintf can be used for
writing the output to a file. The saved data can subsequently be used by MATLAB or other
softwares.
To save the results of some computation to a file in a text format requires the
following
steps:
1. Open a file using fopen
2. Write the output using fprintf
3. Close the file using fclose

Here is an example (script) of its use.

% write some variable length strings to a file


op = fopen(’weekdays.txt’,’wt’);
fprintf(op,’Sunday\nMonday\nTuesday\nWednesday\n’);
fprintf(op,’Thursday\nFriday\nSaturday\n’);
fclose(op);

You might also like