1
2
Lab 05 (Due: Sunday, October 7, 2018, 11 : 59 : 00pm Central Time)
CSCE 155N
Lab Objectives
Write simple cell arrays
Sting manipulations
Understand how structures can be used to represent complex information Perform basic operations on structures
Prior to Laboratory
Review the laboratory handout
Read Chapter 7 strings and Chapter 8 in Attaway
3 Activities/Exercises Before You Begin
Download the files from http://cse.unl.edu/ ̃cse155n/labs/05 to your Z:\csce155nm di- rectory
3.1 increasingStrings
- Modify increasingStrings.m so that the function returns a cell array of three (3) strings
where the first string has length 2, the second has length 3, and the third has length 4
- The provided function randString will generate a string with a length between 0 and 6 (inclusive)
- If randString returns a string of a length that is already in the cell array, keep the string that is already in the cell array
3.1.1 Example
>> increasingStrings ans =
'vp' 'hkn' 'IGZx'
1
3.2 randomSentence
- Modify randomSentence.m so that the function returns words that can form a random sen-
tence that is generated from banks of names, verbs, and nouns
- The banks will be stored as cell arrays of strings
- You create the words that will be used
3.2.1 Example
>> for i = 1 : 5 randomSentence end
ans = 'Stewart' 'milks'
ans = 'Patrick' 'rides'
ans = 'Patrick' 'herds'
ans = 'Stewart' 'rides'
ans = 'Ryan' 'herds'
‘bicycles’
‘cows’
‘sheep’
‘bicycles’
‘bicycles’
3.3 printRecord
- Modify printRecord.m so that the function returns a string that displays information about
the record
- The record will be provided as a cell array
- Use sprintf
Page 2
3.3.1 Example
>> record = { 0 , 'Ryan' , 43 } record =
[0] 'Ryan' [43] >> printRecord( record ) ans = Ryan (ID: 0): 43 points
3.4 printInfo
Modify printInfo.m so that the function returns a cell array of strings that reports the
names, heights, and final weights of the provided experiment subjects The subjects’ information will be provided in an array of structures Use sprintf
3.4.1 Example
>> subjects.name = 'Ryan'; subjects.id = 0; subjects.weight = [ 134 145 ]; subjects.height.feet = 6; subjects.height.inches = 0; for s = 2 : 4
subjects( s ).name = char( randi( 26 , 1 , randi( 10 ) ) + 96 ); subjects( s ).id = randi( 100 ); subjects( s ).weight = randi( 100 , 1 , 2 ) + 100; subjects( s ).height.feet = randi( 4 ) + 3;
subjects( s ).height.inches = randi( 12 ) - 1; end >> printInfo( subjects ); >> ans'
ans =
'Ryan: 6'0", 145 pounds' 'l: 4'5", 180 pounds' 'qsthr: 5'11", 112 pounds' 'pftg: 7'6", 190 pounds'
Page 3
4 webgrader and diffs
The webgrader contains a driver program which will test your programs and supply random inputs (and handle the output).
The diff program is being used to check for the correctness of your programs. If nothing appears in the diff section of the resulting pdf report, that means your program produced the correct for the given input.
You must run the webgrader at least once before 11 : 59 : 00pm on due date. 4.1 Members form
Each member must submit this file. You must submit this file if you want to run the webgrader.
- Go to http://cse.unl.edu/ ̃cse155n/members
- Select lab from the Assignment menu.
- Select 05 from the Number (lab) menu.
- Select your name from the User name.
- If you are working in groups, then select your partner’s name from the menu.
- Click Submit.
4.2 Contributions form
Each group member must submit this file individually.
- Go to http://cse.unl.edu/ ̃cse155n/contributions
- Select lab from the Assignment menu.
- Select 05 from the Number (lab) menu.
- Select your name from the User name.
- If you are working in groups, then select your partner’s name from the menu and the fill the contributions form.
- Click Submit.
4.3 Web handin
Only one member from each group must submit this.
- Go to http://cse.unl.edu/handin
- Enter your cse.unl.edu Username.
- Enter your cse.unl.edu Password.
- Select Lab05 from Assignments.
- Choose to upload (4) files (randomSentence .m,increasingStrings.m, printRecord.m, printInfo.m).
Page 4
4.4 Web Grader
Go to http://cse.unl.edu/ ̃cse155n/grade
Enter your cse.unl.edu Username and Password. Select Lab05 from the Assignment Dropdown Menu. Click Grade Me!
Click the generated link.
Enter your cse.unl.edu Username and Password. Confirm the information in the resulting PDF.
5
Code Documentation
Remember to document your files in the way that we did for the previous labs. It will come in handy when you look back at code after a long time, or when someone else is trying to understand what your code does.
6 Topics Covered in Lab
Input and output arguments as cell arrays Cell arrays
Structures
7 What to Submit
You will be submitting six (6) files (increasingStrings.m, randomSentence.m, printRecord.m, contributions06lab.txt, members06lab.txt, and, printInfo.m).
8 Additional Resources
Online MATLAB Documentation CSE Webhandin
CSE webgrader
Page 5
9 Point Allocation
Component |
Points |
increasingStrings.m randomSentence.m printRecord.m printInfo.m members06lab.txt contributions06lab.txt webgrader PDF |
20 20 20 20 5 5 10 |
Total |
100 |
Page 6