160 likes | 272 Vues
This lecture covers essential aspects of Matlab including creating and executing scripts, importing and exporting data, and defining functions. Students will learn how to save and load variables, manipulate files, and apply functions such as GCD and prime number generation. Specific examples illustrate the implementation of loops, local vs. global variables, and efficient use of Matlab commands to optimize coding practices. By the end of this session, learners will be equipped with the foundational skills necessary for effective programming in Matlab.
E N D
Lecture 7 Sept 17 • Goals: • Complete Chapter 4 • Chapters 5 and 6
Scripts • Sequence of instructions that we may want to run can be stored in a file (known as script). • by typing the name of the file, Matlab executes the sequence of operations. • files can be created by any plain text editor (such as notepad) or the editor that comes with Matlab. • Example:
Files, path, working directory etc. • We can save the values of the current variables using the save command. • >> save(‘temp’, ‘a’, ‘b’, ‘c’); • Will save variables a, b, c in temp. • default directory is named work. But this can be changed by specifying other paths. • Example:
Files, path, working directory etc. • We can load a file using the load command. • Example:
Importing and exporting data We can read from an Excel spreadsheet using the command: >> tab = xlsread(‘my_file.xls’); Now tab becomes a matrix. Example:
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.
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
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.
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;
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.
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.
GCD function function m = gcd(a, b) while ~(b==0) rem = mod(a, b); a = b; b = rem; end; m = a;
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).
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; • end;