75% found this document useful (4 votes)
819 views8 pages

SNS Lab 01-Solution

This document provides the solutions to 10 tasks related to an introduction to MATLAB. Some key steps include: 1. Generating vectors using functions like colon, zeros, ones and concatenating vectors. 2. Performing basic operations on vectors like addition, subtraction, multiplication and element-wise operations. 3. Subsetting vectors to extract portions or modify elements. 4. Creating matrices using vectors and eye function, and subsetting matrices to extract rows as vectors. 5. Altering elements in extracted vectors to modify the original matrix.

Uploaded by

Shees Chaudhary
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
75% found this document useful (4 votes)
819 views8 pages

SNS Lab 01-Solution

This document provides the solutions to 10 tasks related to an introduction to MATLAB. Some key steps include: 1. Generating vectors using functions like colon, zeros, ones and concatenating vectors. 2. Performing basic operations on vectors like addition, subtraction, multiplication and element-wise operations. 3. Subsetting vectors to extract portions or modify elements. 4. Creating matrices using vectors and eye function, and subsetting matrices to extract rows as vectors. 5. Altering elements in extracted vectors to modify the original matrix.

Uploaded by

Shees Chaudhary
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/ 8

[Spring 2012]

[INTRODUCTION TO MATLAB: SOLUTION]

Solution of
LAB # 01
Introduction to MATLAB

Lab Instructor:
1

| M. Faisal Siddiqui

M. Faisal Siddiqui

Signal and Systems

[Spring 2012]

Signal and Systems

[INTRODUCTION TO MATLAB: SOLUTION]

Tasks-Solution
Task 01: Are the following true or false? Assume A is a generic nn matrix. Please provide a proper
reasoning for your answer.
(a) A(-1) equals 1/A
(b) A.(-1) equals 1./A
Solution:

1 2

3 4

Suppose A

1 2
-1
^(-1)=A and in the latter case a number cannot be divided by
3
4

(a) False because A(-1)means A


a vector.

1
1
3
1

(b) True because A.(-1) means

1
1
2
and
similarly
in
the
latter
case

41
1
3
1

1
2
which is exactly the
1
4

same as it was in the first case.


Task 02: Vector Generation
(a) Generate the following vectors:
A = [1 0 4 5 3 9 0 2]
a = [4 5 0 2 0 0 7 1]
Note: Be aware that MATLAB are case sensitive. Vector A and a have different values.

Solution:
A = [1 0 4 5 3 9 0 2];
a = [4 5 0 2 0 0 7 1];

(b) Generate the following vectors:


B = [A a]
C = [a, A]
Solution:
>> B=[A a]
B =
Columns 1 through 13
1
0
4
5
Columns 14 through 16
0
7
1
>> C=[a,A]
C =
Columns 1 through 13
4
5
0
2
Columns 14 through 16
9
0
2

(c) Generate the following vectors using function zeros and ones:
D = [0 0 0 . . . 0] with fifty 0s.
E = [1 1 1 . . . 1] with a hundred 1s.
2

| M. Faisal Siddiqui

[Spring 2012]

[INTRODUCTION TO MATLAB: SOLUTION]

Signal and Systems

Solution:
>> D=zeros(1,50)
>> E=ones(1,100)
(d) Generate the following vectors using the colon operator
F = [1 2 3 4 . . . 30]
G = [25 22 19 16 13 10 7 4 1]
H = [0 0.2 0.4 0.6 . . . 2.0]
Solution:
>> F=[1:30]
>> G=[25:-3:1]
>> H=[0:0.2:2.0]
Task 03: Operate with the vectors
V1 = [1 2 3 4 5 6 7 8 9 0]
V2 = [0.3 1.2 0.5 2.1 0.1 0.4 3.6 4.2 1.7 0.9]
V3 = [4 4 4 4 3 3 2 2 2 1]
Solution:
>> V1 = [1 2 3 4 5 6 7 8 9 0];
>> V2 = [0.3 1.2 0.5 2.1 0.1 0.4 3.6 4.2 1.7 0.9];
>> V3 = [4 4 4 4 3 3 2 2 2 1];
(a) Calculate, respectively, the sum of all the elements in vectors V1, V2, and V3.
Solution:
>> A=sum(V1)
A =
45
>> B=sum(V2)
B =
15.0000
>> C=sum(V3)
C =
29
(b) How to get the value of the fifth element of each vector? What happens if we execute the command
V1(0) and V1(11)? Remember if a vector has N elements, their subscripts are from 1 to N.
Solution:
>> V1(5)
ans =
5
>> V2(5)
ans =
0.1000
>> V3(5)
ans =
3
(c) Generate a new vector V4 from V2, which is composed of the first five elements of V2. Generate a new
vector V5 from V2, which is composed of the last five elements of V2.
Solution:
>> V4=V2(1,1:5)
V4 =
0.3000
1.2000
0.5000
2.1000
0.1000
3

| M. Faisal Siddiqui

[Spring 2012]

[INTRODUCTION TO MATLAB: SOLUTION]

>> V5=V2(1,6:10)
V5 =
0.4000
3.6000

4.2000

1.7000

Signal and Systems

0.9000

(d) Derive a new vector V6 from V2, with its 6th element omitted. Derive a new vector V7 from V2, with its
7th element changed to 1.4. Derive a new vector V8 from V2, whose elements are the 1st, 3rd, 5th, 7th,
and 9th elements of V2.
Solution:
>> V6=[V2(1,1:5) V2(1,7:10)]
V6 =
Columns 1 through 8
0.3000
1.2000
0.5000
2.1000
0.1000
3.6000
4.2000
1.7000
Column 9
0.9000
>> V7=[V2(1,1:6) 1.4 V2(8:10)]
V7 =
Columns 1 through 8
0.3000
1.2000
0.5000
2.1000
0.1000
0.4000
1.4000
4.2000
Columns 9 through 10
1.7000
0.9000
>> V8=V2(1,1:2:9)
V8 =
0.3000
0.5000
0.1000
3.6000
1.7000
(e) What are the results of
9-V1, V1*5, V1+V2, V1-V3, V1.*V2, V1*V2, V1.^2, V1.^V3, V1^V3
Solution:
>> 9-V1
ans =
8
7
6
5
4
3
2
1
0
9
>> V1*5
ans =
5
10
15
20
25
30
35
40
45
0
>> V1+V2
ans =
Columns 1 through 8
1.3000
3.2000
3.5000
6.1000
5.1000
6.4000
10.6000
Columns 9 through 10
10.7000
0.9000
>> V1-V3
ans =
-3
-2
-1
0
2
3
5
6
7
-1
>> V1.*V2
ans =
Columns 1 through 8
0.3000
2.4000
1.5000
8.4000
0.5000
2.4000
25.2000
Columns 9 through 10
15.3000
0
>> V1*V2
??? Error using ==> mtimes
Inner matrix dimensions must agree.
>> V1.^2
ans =
1
4
9
16
25
36
49
64
81
0
4

| M. Faisal Siddiqui

12.2000

33.6000

[Spring 2012]

Signal and Systems

[INTRODUCTION TO MATLAB: SOLUTION]

>> V1.^V3
ans =
1
16
81
256
125
216
>> V1^V3
??? Error using ==> mpower
At least one operand must be scalar.

49

64

81

Task 04: Suppose p is a row vector such that p=[4 2 3 1]. What does this line do? Please provide a
detailed answer stepwise
[length(p)-1:-1:0] .* p
Solution:
Here p=[4 2 3 1]. We know that length(p)=4 and length(p)-1=3. We can say the [length(p)1:-1:0]is a vector which starts from 3 with a decrement of 1 reaches upto 0. So, [length(p)-1:1:0]=[3 2 1 0]and now when the element is multiplied element wise then 4 would be multiplied by 3
similarly second element in the row vector i.e. 2 will be multiplied by 2, third element (3) would be
multiplied by 1 and last element in vector i.e. 1 will be multiplied by 0.
Code:
>> p=[4 2 3 1];
>> [length(p)-1:-1:0].* p
ans =
12
4
3
0
>> length(p)-1
ans =
3
>> [length(p)-1:-1:0]
ans =
3
2
1
0
>> [length(p)-1:-1:0].* p
ans =
12
4
3
0
Task 05: Suppose A is any matrix. What does this statement do?
A(1:size(A,1)+1:end)
Solution: The statement gives the elements of the diagonal in the matrix. Reason is that the command
access 1st and 4th element of the matrix
>> A(1:size(A,1)+1:end)
ans =
1
4
Task 06: Try to avoid using unnecessary brackets in an expression. Can you spot the errors in the
following expression? (Test your corrected version with MATLAB.)
(2(3+4)/(5*(6+1))2
Solution: The errors are the missing * between 2 and (3+4) and an extra bracket before 2.
Correct Code
2*(3+4)/(5*(6+1))^2
ans =
0.0114

| M. Faisal Siddiqui

[Spring 2012]

[INTRODUCTION TO MATLAB: SOLUTION]

Signal and Systems

Task 07: Set up a vector n with elements 1, 2, 3, 4, 5. Use MATLAB array operations on it to set up the
following four vectors, each with five elements:
(a) 2, 4, 6, 8, 10
(b) 1/2, 1, 3/2, 2, 5/2
(c) 1, 1/2, 1/3, 1/4, 1/5
Solution:
>> n=[1:5];
>> n*2
ans =
2
4
>> n/2
ans =
0.5000
>> 1./n
ans =
1.0000

10

1.0000

1.5000

2.0000

2.5000

0.5000

0.3333

0.2500

0.2000

Task 08: Suppose vectors a and b are defined as follows:


a = [2 1 5 0];
b = [3 2 1 4];
Evaluate by hand the vector c in the following statements. Check your answers with MATLAB.
(a) c = a b;
(b) c = b + a 3;
(c) c = 2 * a + a . b;
(d) c = b ./ a;
(e) c = b . a;
(f) c = a . b;
(g) c = 2.b+a;
(h) c = 2*b/3.*a;
(i) c = b*2.*a;
>> a = [2 -1 5 0];
>> b = [3 2 -1 4];
>> c = a -b
c =
-1
-3
6
-4
>> c = b + a -3
c =
2
-2
1
1
>> c = 2 * a + a .^b
c =
12.0000
-1.0000
10.2000
0
>> c = b ./ a
c =
1.5000
-2.0000
-0.2000
Inf
>> c = b . a;
??? Attempt to reference field of non-structure array.
>> c = a .^b
c =
8.0000
1.0000
0.2000
0
>> c = 2.^b+a
c =
10.0000
3.0000
5.5000
16.0000
6

| M. Faisal Siddiqui

[Spring 2012]

[INTRODUCTION TO MATLAB: SOLUTION]

>> c = 2*b/3.*a
c =
4.0000
-1.3333
>> c = b*2.*a
c =
12
-4
-10

-3.3333

Signal and Systems

Task 09: Make a vector v=[1 2 3 4 5 6 7 8 9 10], develop an algorithm such that the first element of the vector
is multiplied by length(v), second element by length(v)-1and similarly the last element i.e. 10 is multiplied
by length(v)-9. The final vector should be f=[10 18 24 28 30 30 28 24 18 10]. The algorithm devised should
only use the length of vector v to achieve vector f.
Solution:
v.*[length(v):-1:1]
Task 10: (a) Make a matrix M1 which consists of two rows and three columns and all the entries in the
matrix are ones.
(b) Make a vector V1 consisting of three zeros.
(c) Make a 3x3 matrix M2 in which the diagonal entries are all fives.
(d) Now make a matrix M3 from M1, M2 and V1 which look like the matrix given below

1 1 1 5 0 0
M 3 1 1 1 0 5 0
0 0 0 0 0 5
(e) Now use the referencing element concept to make three vectors V2, V3 and V4 such that V2 consists of
first row of M3, V3 consists of second row of M3 and V4 consists of third row of M3.
(f) Now alter the fourth entry of vectors V2, fifth entry of V3 and sixth entry of V4 to 1.4 and make a new
vector M4 which looks like the matrix given below.

1 1 1 1.4 0 0
M 4 1 1 1 0 1.4 0
0 0 0 0 0 1.4
Solution
>> M1=ones(2,3);
>> V1=zeros(1,3);
>> M2=5*eye(3);
>> M3=[[M1;V1] M2]
M3 =
1

| M. Faisal Siddiqui

[Spring 2012]

Signal and Systems

[INTRODUCTION TO MATLAB: SOLUTION]

>> V2=M3(1,:)
V2 =
1

>> V3=M3(2,:)
V3 =
1

>> V4=M3(3,:)
V4 =
0

>> V2(4)=1.4
V2 =
1.0000

1.0000

1.0000

1.4000

1.4000

1.4000

1.0000
1.0000
0

1.0000
1.0000
0

1.4000
0
0

0
1.4000
0

0
0
1.4000

>> v3(5)=1.4
v3 =
0
>> v4(6)=1.4
v4 =
0
>> M4=[V2;V3;V4]
M4 =
1.0000
1.0000
0

| M. Faisal Siddiqui

You might also like