Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 7 Sept 29 Goals: Chapters 5 and 6. Chapter 5 - Exercises Exercise 5.2. Write a script swap.m that swaps the values of variables a and b. For example:

Similar presentations


Presentation on theme: "Lecture 7 Sept 29 Goals: Chapters 5 and 6. Chapter 5 - Exercises Exercise 5.2. Write a script swap.m that swaps the values of variables a and b. For example:"— Presentation transcript:

1 Lecture 7 Sept 29 Goals: Chapters 5 and 6

2 Chapter 5 - Exercises Exercise 5.2. Write a script swap.m that swaps the values of variables a and b. For example: >> a = 1; >> b = 2; >> swap >> a a = 2 >> b b = 1

3 Chapter 5 - Exercises Exercise 5.2. Write a script swap.m that swaps the values of variables a and b. For example: >> a = 1; >> b = 2; >> swap >> a a = 2 >> b b = 1 Script: temp = a; a = b; B = temp;

4 Exercise 5.3 Store a text file in the working directory. Write a script to create a cell array containing all the individual words of the text file. The cell array should not have any duplicate words. (i.e., keep only one copy of each word.)

5 Exercise 5.3 Store a text file in the working directory. Write a script to create a cell array containing all the individual words of the text file. The cell array should not have any duplicate words. (i.e., keep only one copy of each word.) Since this is a home work problem, we will not completely solve it.

6 Functions functions encapsulate computations that are repeatedly performed. input and output parameters. Example 1: Write a function to compute the hypotenuse of a right triangle given the two smaller sides a a and b.

7 function c = hyp(a, b) c = sqrt(a*a + b * b); This file should be stored in the current directory that is visible to Matlab. Then we can perform: >> hyp(3, 4) ans = 5

8 Example 2: Write a function swap that takes as input an array of integers and returns an array by swapping the max key and the key in index 1. For example: >> B = [1, 2, 8, 4, 7, 5, 6]; >> C = swap(B); >> C Ans = [8, 2, 1, 4, 7, 5, 6]; Etc.

9 Function swap function B = swap (A) [temp, id] = max(A); A(1) = A(1)+ A(id); A(id)= A(1) - A(id); A(1) = A(1) - A(id); B = A; Equivalently: function B = swap (A) [temp, id] = max(A); temp = A(1); A(1)= A(id); A(id) = temp; B = A;

10 Local vs. global variables

11 Example 3: Write a function GCD that outputs the greatest common divisor of two positive integers n and m. Recall Euclid’s algorithm: GCD of 52, 9 compute mod(52, 9) = 7 new pair: 9, 7 mod(9, 7) = 2 7, 2 mod(7, 2) = 1 2, 1 mod(2, 1) = 0 1, 0 When we reach pair (x, 0), x is the GCD.

12 GCD function We need to know how to create a loop. There are two ways to do this: for loop while loop For this problem, we will use the while loop.

13 GCD function function m = gcd(a, b) while ~(b==0) rem = mod(a, b); a = b; b = rem; end; m = a;

14 Exercise: Write a function that takes as input a positive integer n and returns the first prime number greater than n. Recall the function isprime in Matlab that returns true (false) if the input is a prime (is not a prime).

15 Exercise: Write a function that takes as input a positive integer n and returns the first prime number greater than n. Recall the function isprime in Matlab that returns true (false) if the input is a prime (is not a prime). function n = nextPrime(m) n = m + 1 while 1 if isprime(n) break; else n = n + 1; end;

16 Exercise 6.1: Write a function, powersum, that computes for any specified values of z and n.

17 Solution:

18 Exercise 6.2 (d) Write a function eliminate that takes as input a character string and returns a string of the same length in which e and E have been replaced by *. Hint: Use find and the index operator. Example: >> eliminate(‘TherE’) ans = Th*r*

19 Exercise 6.2 (d) Write a function eliminate that takes as input a character string and returns a string of the same length in which e and E have been replaced by *. Hint: Use find and the index operator. Solution:

20 Exercise 6.3: function out = addToEnd(a, x) out = [a, x]; Just calling the function with a as argument does not change its value. a = addToEnd(a, x) will change a as desired.

21 Exercise 6.6 >> BooleanToTF([1 0 0 1 1 0 1 0]) ans = ‘TFFTTFTF’ etc.

22 Exercise 6.6 >> BooleanToTF([1 0 0 1 1 0 1 0]) ans = ‘TFFTTFTF’ etc. function res = BooleanToTF(bool) res = char('F' + zeros(size(bool))); res(bool) = 'T';


Download ppt "Lecture 7 Sept 29 Goals: Chapters 5 and 6. Chapter 5 - Exercises Exercise 5.2. Write a script swap.m that swaps the values of variables a and b. For example:"

Similar presentations


Ads by Google