210 likes | 525 Vues
Lecture 2:. Problem Solving Algorithm Matlab Environment. Algorithm. Algorithm: a sequence of instructions that allows us to accomplish some goals.
E N D
Lecture 2: • Problem Solving • Algorithm • Matlab Environment
Algorithm • Algorithm: a sequence of instructions that allows us to accomplish some goals. • The word ”algorithm” comes from the name of a Persian author, Abu Ja’far Mohammed ibn Musa al Khowarizmi (c. 825 A.D.), who wrote a textbook on mathematics. • Examples: - Directions to a party - Recipe - Computer programs
Algorithm • Characteristics of an algorithm 1. Finiteness - terminates after a finite number of steps 2. Input & Output 3. Definiteness - rigorously and umambiguously specified 4. Effectiveness - steps are sufficiently simple and basic
Algorithm • Example: Find the greatest common divisor of a and b: GCD(a,b): 1. Input a and b 2. If b=0 then output GCD(a,b) = a and stop! 3. Assign t=b , b= a mod b , a = t Go to step 2. Notes: GCD(a,b)=GCD(b, a mod b)
Algorithm • GCD(10,6) 1. a=10, b=6 2. _ 3. t=6, b= 4, a=6 2. _ 3. t=4, b=2, a=4 2. _ 3. t=2, b=0, a=2 2. GCD(10,6)=2. GCD(a,b): 1. Input a and b • If b=0 then output GCD(a,b) = a and stop! 3. Assign t=b , b= a mod b , a = t Go to step 2.
Algorithm • A good algorithm implemented on a slow computer may perform much better than a bad algorithm implemented on a fast computer.
Algorithm • Minimal spanning tree problem - Spanning tree: given a connected graph, a spanning tree is sub-graph (a tree) that connects all the vertices together. - MST: is a spanning tree with the shortest total length.
Algorithm • Brute Force attack: enumerate all possible spanning trees and select the best one among them. • Given n points, there are nn-2possibilities !!!
Algorithm • Prim’s algorithm for MST is: n2 • Kruskal’s algorithm for MST is : |E| log |E| + n
MATLAB • MATLAB® is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran. • Latest version is R2008a, 7.6 (2008)
MATLAB • Matlab’s windows: • File: list files in the current directory
MATLAB • Workspace: show the variables you have declared
MATLAB • Command History: show all commands you have typed so far.
MATLAB • Command Window: where to enter your command.
MATLAB • Help Browser: will appear when you click to Help in Help Menu (F1)
MATLAB • Getting Help ! • Help command • Lookfor command • Examples: Lookfor sine • Google is your friend • Variables • Is a tag that you assign to a value while that value remains in memory • Variables are defined with the assignment operator • Variable names must begin with a letter, which may be followed by any combination of letters, digits, and underscores. • Variables names are case-sensitive • Examples: x1,x2, m_weight, X1,X2, M_Weight are different variables
MATLAB • Some examples: 1) Calculate BMI m_weight=input(‘input your weight (kg): ’); m_height=input(‘input your height (m):’); bmi=weight/height^2 2) Calculate area of a doughnut
MATLAB m_radius_large=input(‘input larger radius: ’); m_radius_small=input(‘input smaller radius: ’); m_area=(m_radius_large^2 m_radius_small^2)*pi