代做MATLAB Programming Project代做R编程

MATLAB Programming Project

This is your chance to be creative and build a program putting into practice the skills you learn in this course.

Due Date is Wednesday of week 7

Assessment

This is an individual project that will assess your ability to develop an application in MATLAB using the skills you have gained in the course so far.

Your work must be submitted by Wednesday of week 7 and assessed face to face. For this assessment, you *must* present your work to your tutor. Your tutor will arrange times for assessment in weeks 7 or 8 (week 9 may be used by your tutor if needed). ALL marks are based on this in-person assessment. If you do not present, the project will receive 0 marks. Late penalties of 1% per hour (or part thereof) late apply to this assessment.

This assignment will assess how you apply and understand the following concepts to solving problems with software:

User Input and Output in MATLAB

A visualisation of changing application state (this can be through a text representation of state (e.g. ASCII art (https://en.wikipedia.org/wiki/ASCII_art) used to show a current game board or histogram of current values) or plotting of current values in MATLAB).

MATLAB programming concepts including:

Loops

Vectors

Matrices

Conditional execution

Functions

Software Development Practices including:

Commenting and code Style.

Testing

Incremental development of code

Use of documentation to support self learning

Being able to explain your code and your design decisions.

We will assess how well you apply these concepts to the development of an interesting and non-trivial software artefact according to the rubric at the bottom of this assignment. Make sure you read this rubric carefully before starting.

Specification

In this project you have to develop an application that:

Reads input in a user-friendly way. Your tutor should be able to interact with your application without having to ask you how to use it.

Performs some interesting computation based on that input

Displays output in a user-friendly form.

To pass, the code that you produce and your presentation to your tutor must demonstrate an understanding of at least:

Terminal based input/output

Loops

Conditional execution

Vectors or Matrices

The precise choice of application is up to you. You can choose an application of interest to you. You will be marked according to the rubric for this assignment which, as you will see, is focused on the value that you add and evidence that you built up your solution in stages (see below) and that you tested your solution carefully.

Because the topic of this project is open, it is permissible to make use of resources presented in this course including workshop examples and demonstrations presented in lecture videos. It is also permissible to make use of small sections of code from the textbook and online resources that solve small generic problems (e.g. how to convert a number to a character in MATLAB) in order to complete a small component part of the program. Where you do make use of code from another source then it is a requirement that you use comments to clearly indicate the section of code from another source and where it came from. A person reading your code should be able to easily tell which parts of the code were written by you. Your marks will be awarded on the basis of the code that you contributed.

Your project must be your own design and development and must NOT reproduce code solutions to your project application from the Internet or elsewhere. Applications that are a reproduction of existing code solutions will be considered a breach of academic integrity. If you have any questions on this, please ask!

If you don’t have a preferred idea for the project application some ideas are listed below.

Project Ideas

The ideas below are just ideas to get you started. You do not have to select from the list below - it is great if you come up with your own project ideas (just make sure you read the specification above and look at the rubric attached to this assignment). Note that some suggestions include some discipline-specific background knowledge so, if you select from the problems below, be sure to pick a problem that aligns with your own knowledge. You will need to consider how you can use the different programming structures within the project you select. In most cases, this will require you to add additional functionality beyond the basic project descriptions. You are expected to be creative here in considering what meaningful functionality you could add.

A game where the user tries to guess a 2D location in a grid based on feedback from the the computer in terms of information like “you’re getting closer” or “you’re getting further away”.

A simple text-based version of a grid game such as battleship or mine-sweeper.

A text based letter guessing game - like hangman.

A game where the user has to try to form. the longest dictionary word from a set of random letters (vowels and consonants).

A “best word” dictionary look up for scrabble.

A text-based version of the game of Nim (https://en.wikipedia.org/wiki/Nim) where there are two human players (writing a computer-player is possible but more challenging).

A simple card game such as twenty-one (https://en.wikipedia.org/wiki/Twenty-One_(card_game))

A visualisation of a simplified physical system such as how heat transmits on a grid (see previous workshop questions for an illustration of this).

A simulation and visualisation of the areas covered by a random walk (https://en.wikipedia.org/wiki/Random_walk) .

A 1D linear interpolation method that will find an intermediate value y* for any continuous x* value within the range of a set of (x,y) data.

Calculate and plot the cumulative distribution function for a given probability density such as the normal distribution.

Find how often and where cyclone tracks (use a random walk) and keep track of how far they stray from where they start after a certain number of steps.

On a similar note, implement an insect race where two insects follow a random walk from an origin point and see which insect reaches a set distance from the origin first. (See if you can include a visualisation of insects' paths in this one).

Make a 2D histogram from a random set of 2D coordinates.

For a 2D array with 0’s and 1’s find the total perimeter of the 1’s (as might be used for delineating orebodies, storms in a radar image, etc).

Implement Conway’s game of life (https://en.wikipedia.org/wiki/Conway's_Game_of_Life) (cellular automata models like this are used to model bushfire). To visualise you might want to plot the points either as text or, if you are feeling ambitious, in a MATLAB figure. If using figures you may want to use (pause) to ensure that you can see the changes redisplay.

Construct a database of the periodic table (use a vector for each different field: symbolic name, atomic number, atomic weight). Provide a lookup to return all information of an element for a specific input criterion (such as the symbolic name).

Determine the area of intersection of two rectangles where each rectangle is specified by two diagonally opposite input coordinates: lowerleft and topright. Note that some rectangles might not intersect so you have to handle this. Make you program do this repeatedly by reading in coordinates from the user in a loop.

Write a program that takes an old image and creates a new image by scaling it to a target size in rows and columns. For this problem you will need to think of the arithmetic you will need to do to sample the correct pixels from the old image.

You can have a look at some past projects in our gallery (https://myuni.adelaide.edu.au/courses/101053/pages/project-gallery) .

Working in Stages

Really important

For this assignment, you will need to build up your solution in testable stages. This means that you don’t try to write a complete solution in one sitting but instead try to write and test a program that implements part of the functionality of what you do. Once this step is working you can move on to the next component of your solution. Once you have a working solution for the components then you can start to put them together into a working solution. You are expected to save your files for your partial solutions to this problem. These files can be shown to the demonstrator to show how you have built up your solution from components and gradually added functionality.

As an example of how you might work in stages, for the hangman game above you might break the problem down into:

Selecting a word from a dictionary. ‘aardvark’

Reading a single letter from the user like ‘a’

Building a character array showing the letters matched so far like ‘aa---a--’

Keeping count of the number of guessed letters so far.

Keeping count of the number of guesses so far.

Writing conditional logic to see whether the game is finished or not.

You would have at least one MATLAB file and tests for each stage above. You will be expected to write well-commented and readable code for each stage. Of course, the MATLAB files will often build on each other so you will, often, be able to take advantage of code you have already written.

Testing

You will be assessed on how you tested your program. You must produce a test file for each stage that describes the input that you used to test that part of your program implementation and your expected results. Remember to update your tests if you find you need more tests to identify some errors.

Handing in

You are required to hand in the following files by the due date:

1. a short video (no more than 3 minutes) demonstrating the functionality of your project

2. a written self-assessment against the rubric criteria, identifying the rubric level you have reached and your evidence.

3. Your development files showing your stages of development

4. your test files showing or explaining your testing

5. your final project code.

Gradescope has a 100MB submission limit If your submission exceeds this, please upload your video and self assessment (items 1 and 2 above) to any accessible site (SharePoint, YouTube, GoogleDoc, etc). Be sure it is viewable to anyone with the link. Submit to Gradescope items 3-5 and a text file with the link to your site.

Check that your upload succeeded by checking your submission files in Gradescope and verifying all files have uploaded.

If you are unable to upload despite the above, please document the error (screenshot) and send the screenshot and your files to the course coordinator.

During your interview with your tutor, you will be expected to be able to identify and justify your level of achievement against the rubric. Your assessment is based on this interview and your ability to demonstrate an understanding of your work.




热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图