Presentation is loading. Please wait.

Presentation is loading. Please wait.

MatLab – Palm Chapter 2, Part 3 Cell Arrays, Structure Arrays Class 7.1 Chapter 2: Sections 6 & 7.

Similar presentations


Presentation on theme: "MatLab – Palm Chapter 2, Part 3 Cell Arrays, Structure Arrays Class 7.1 Chapter 2: Sections 6 & 7."— Presentation transcript:

1 MatLab – Palm Chapter 2, Part 3 Cell Arrays, Structure Arrays Class 7.1 Chapter 2: Sections 6 & 7

2 Announcements Departmental Presentations. (REQUIRED ACTIVITY) 10/12 7:00-9:00 p.m. See online ScheduleSchedule You must turn in two, one-page critiques (LIMIT EACH CRITIQUE TO ONE PAGE!), one for each presentation that you attend. Due: Thursday, October 21, 2004.

3 Presentation Make-Up If you have a legitimate conflict: Go to your conflicting class. Write a critique of the lecture/lab following the format below (two pages if course conflicts with both sessions of presentations). On your cover sheet, give the course, section, and time of your conflict. Non-course-related conflicts REQUIRE instructor approval.

4 Critique format Introductory paragraph. Start with broad statement. Become more specific with sentences that define the engineering field you heard about. End with the topic sentence for your critique.

5 Critique format, continued. Example Introduction: “Civil engineers design, build and maintain our nation’s infrastructure. They take courses in structures, water resources, geotechnical engineering, construction management, and environmental engineering. These courses prepare them to work in large or small firms that are both governmental or private. Although there are specific areas that CE majors can focus in, many students choose the “General Track,” which requires them to take electives in each of the major areas within civil engineering. Because of its breadth, civil engineering is an interesting field, and the presenters for the department were very effective at communicating their enthusiasm for this subject.” Broad Specific with definition Topic Sentence

6 Critique format, continued. Two to three supporting paragraphs. These paragraphs flesh out your topic sentence. They MUST contain A transition from the previous paragraph A key sentence (may be part of transition) Supporting sentences A concluding sentence

7 Critique format, continued. Example supporting paragraph: “Enthusiasm may be hard to define, but you know it when you see it. For instance, the geotechnical presenter had positive body language and used many personal examples to explain the topic. She talked clearly, in an animated voice, using a lot of hand gestures. She also had energy and showed by her facial expression that she was happy to be there and to have the opportunity to talk to our class. One example that stood out in my mind was how geotechnical engineers have to ensure that neighboring buildings are not damaged when a new facility is constructed. The picture of the subway pit right next to a major high-rise hotel brought that message home. Because of the active and interesting presentation style, this presentation kept my attention.” Transition Key sentence Supporting sentences Conclusion

8 Critique format, continued. Conclusion paragraph. Should summarize the body of the critique and draw the important conclusions. Should NOT state substantially new material.

9 Critique format, continued. Example conclusion paragraph: “Through these many techniques, the Department of Civil Engineering made a strong presentation. Each presenter showed excitement, both through energy, inflection, and personal example, and through a communicated, genuine desire to inform us about their topic and to teach us. They were courteous in the way they treated late-comers and loud students, while not letting the presentation get out of control. They were also knowledgeable and able to answer questions. Hence, since this presentation was well-prepared and effectively delivered, I was encouraged that it was a beneficial use of my time.” Transition Summary of supporting paragraphs Final conclusion

10 Critique Style Each paragraph should be about the same length. Sentences should vary in length.

11 Critique Details Details (see example):example 8 ½” x 11” paper, 1.5 times line spacing. One-inch margins on all sides. Times New Roman font. 12pt, bold title (maximum of two lines) 11pt body paragraphs. Underline: Topic sentence, each key sentence, and your final conclusion sentence. Turn in three pages stapled (1) cover sheet with personal information, (2) critique #1, (3) critique #2.

12 Announcements, cont. Next Monday will be Case Studies, led by an industry sponsor (e.g. Dell, IBM, Frito Lay, Motorola, etc.) We may have handouts on Thursday, but make sure you arrive on time, and are courteous, attentive, and ready to work.

13 Team Exercise Budgetary estimate: How much will it cost each firm to give the case studies next week? Here is what we know: Each team will be on campus for one full day. Each team is two to four people. Case studies require (?) hours of extra preparation by (?) numbers of workers. Travel is from within Texas.

14 Budgetary Estimate These costs are paid by the companies as part of their outreach/promotional budgets. This is probably a LOW estimate.

15 Team Exercise (Adapted from Palm Ch. 3, No. 10, p. 178) An object thrown vertically with a speed v 0 reaches a height h at time t where: Write a function to compute h given v 0 and t. It should allow t to be a vector. Use the function to PLOT (refer to p. 25) h versus t for t between 0 and 10 s and v 0 = 50 m/s.

16 Function file (velocity.m) function [h] = velocity(v0, t) % % function [h] = velocity(v0, t) % % This function computes the height h of an object at the time t after it is % released. The initial speed of the object is v0. % INPUTS: % v0 = initial speed (m/s) % t = time after release (s) % OUTPUTS: % h = height (m) % % S. Socolofsky % ENGR 111A: % October 12, 2004 % Define the acceleration of gravity g = 9.81; % m/s % Compute the height h = v0 * t - 1/2 * g * t.^2; % ^ "dot" not | ^ allows t to be a vector. % needed |

17 Solution >> v_init = 50; >> t = 0:0.1:10; >> h = velocity(v_init, t); >> plot(t, h) >> xlabel('Time after release (s)') >> ylabel('Height above release (m)') >> title('Position of a vertically released object') >> grid on

18 Lec. 7.1 Learning Objectives Understand the differences between vector, matrix, and structure arrays. Understand the definitions for structure, record, and field. Be able to create a structure array using at least two different methods. Be able to store, retrieve, and manipulate data in the different fields of a structure array.

19 Cell Arrays A Cell Array is an array where each index is also an array. Each index can be a different data type (i.e. you can have letters in one index and numbers in another). Allows you to give one name to a set of data that belong together.

20 Cell Arrays, continued. You can create Cell Arrays in two ways. Cell Indexing: e.g. A(1,1) = {‘Walden’} Content Indexing: e.g. A{1,1} = ‘Walden’ Note the functions in Table (p. 112) celldisp() and cellplot() are useful commands.

21 Cell Practice Type the following commands: >> A = {[1:4], [0, 9, 2], [2:5], [6:8]} >> celldisp(A) >> cellplot(A) >> A{1,3} >> A(1,3) >> A(1,2) >> A{1,2} >> A{1,2}(1,2) >> A(1,2)(1,3) % why it this an error? >> A{1,2}(1,3) % why does this work?

22 New Topic: Structure Arrays A structure array is a collection of records. A record is a set of related fields where each field may contain a different data type. A field is an array of data that defines a particular attribute of an object. structure array = employee; record = employee(3); List of fields: name, address, date of employment, salary. or The collection of fields comprise a record; the collections of records comprise a structure array.

23 3.7 Structure Arrays Structure Arrays are like data objects in other languages. Structure(record).Field1 = [ vector ] Structure(record).Field2 = ‘string’ Structure(record).Field3 = number Fields can be arrays, character strings or numbers.

24 Structure Arrays By definition: “Structures are multidimensional MATLAB arrays with elements accessed by textual field designators.” Examples Student.name %Data Type = Text Student(2).scores(3)%Data Type = Array of numbers.

25 Creating Structures Structures can be created dynamically by direct assignment to individual fields. array_name(index).field_name = field_value An entire record (element of the array) can be added with a single statement. Clue(n) = struct(‘field name 1’,field-value-1, ‘field name 2’, field-value-2, ….) When text values are entered for a field they must be enclose in single quotes. Note: If there is only one record in a structure, there is no index needed between the array name and the field name. If more than one record exist then the index value must me given.

26 Sample of Direct Assignment %Array names and fields can be created and %assigned dynamically. Clue.who = 'Prof Plum'; Clue.where = 'Study'; Clue.what = 'Candlestick'; disp(Clue) who: 'Prof Plum' where: 'Study' what: 'Candlestick'

27 More Samples %Even though no index was used in creating the %first record in 'Clue', another set can be appended %by using an index. Clue(2).who = 'Ms. Scarlet'; Clue(2).where = 'Library'; Clue(2).what = 'Rope'; disp(Clue(2)) who: 'Ms. Scarlet' where: 'Library' what: 'Rope'

28 Adding Fields %New fields can be added after structures %have been created. Clue(2).turns = 15; % ‘turns’ is a new field disp(Clue(2)) % used 1 st in record #2 who: 'Ms. Scarlet' where: 'Library' what: 'Rope' turns: 15

29 Adding Fields %Adding new fields will cause a 'null' field in the %cells already defined. disp(Clue(1)) who: 'Prof Plum' where: 'Study' what: 'Candlestick' turns: [] %turns was not defined originally

30 The Array Function: struct() %All fields (a complete record) can be assigned with one %statement. All text values are enclosed in quotes; %numerical data are not. Clue(3) = struct('who', 'Col Mustard', 'where', 'kitchen', 'what', 'revolver', 'turns', 22); disp(Clue(3)) who: 'Col Mustard' where: 'kitchen' what: 'revolver' turns: 22

31 Using Array Functions What does this code segment do? Clue(1).turns = 17; avg_turns=sum([Clue.turns])/length(Clue); disp(avg_turns) 18

32 Using Array Functions % Since ‘Clue(1).turns’ is null, [ ], we can assign it a value. Clue(1).turns = 17; %Below, notice the lack of an index for Clue and the square brackets %around Clue.turn. This combination returns a vector of 'turns' to the %MATLAB function, sum, which calculates the sum of that vector. %The length function returns the number of records in Clue. %Dividing the sum by the number of records gives us the average %of the numbers stored in turns. avg_turns = sum([Clue.turns])/length(Clue); %Then we display our results, show 18 as the average. disp(avg_turns) 18

33 Try This! 1. Use MATLAB to create a structure similar to the Clue Game Database in the examples. 2. Try these commands in MATLABcommands Clue.whoClue {Clue.who}Clue(3).turns [Clue.who][Clue.where] char(Clue.who)Clue(2).who 3. Notice the different ways that the same data are presented. See a list of structure related function in Table on page 120 of the text.

34 RAT 7.1 Take out a piece of paper, write your name, team#, today’s date and RAT 7.1. A structure array called profs has a field named college. How would you assign the value ‘Engineering’ to this field for record number 2? You don’t have to turn in your paper Answer: >>profs(2).college = ‘Engineering’

35 Assignment 7.1 INDIVIDUAL ASSIGNMENT Due: March 9, 2004 Chapter 2; #49, 51 (End of chapter problems) Test your understanding problems 2.7-1,2,3 (p. 123)


Download ppt "MatLab – Palm Chapter 2, Part 3 Cell Arrays, Structure Arrays Class 7.1 Chapter 2: Sections 6 & 7."

Similar presentations


Ads by Google