Skip to content

These live scripts focus on concepts and practices related to working with data: textual data types, numerical data types, data storage, and memory.

License

Notifications You must be signed in to change notification settings

MathWorks-Teaching-Resources/Programming-Organizing-Data

Repository files navigation

Programming: Organizing Data

View on File Exchange or Open in MATLAB Online

MATLAB Versions Tested

Curriculum Module

Created with R2024a. Compatible with R2024a and later releases.

Information

This curriculum module contains interactive MATLAB® live scripts that teach fundamental concepts and basic terminology related to programming computers. This module focuses on concepts and practices related to working with data.

Background

You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers textual data, numerical data, memory, and data structures including, arrays, structs, tables, and more. Applications include sea surface temperature data and solar power generation data.

The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the EndIcon.png Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.

Contact Us

Solutions are available upon instructor request. Contact the MathWorks teaching resources team if you would like to request solutions, provide feedback, or if you have a question.

Prerequisites

These scripts assume familiarity with MATLAB and general programming knowledge at the level covered in the Fundamentals of Programming interactive examples. You could also use MATLAB Onramp as another resource to acquire familiarity with MATLAB.

Getting Started

Accessing the Module

On MATLAB Online:

Use the OpenInMO.png link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.

On Desktop:

Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double-click on OrganizingData.prj. It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.

Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select AddOnsIcon.png Add-Ons > Get Add-Ons.

Products

MATLAB®, Mapping Toolbox™ (StoringData.mlx), Symbolic Math Toolbox™ (Strings.mlx)

Scripts

In this script, students will...
Summary
StringCatwNeedle.png
$\bullet$ investigate the relationship between character arrays and Unicode values
$\bullet$ try building two-dimensional character arrays and string arrays
$\bullet$ format strings by concatenating, modifying capitalization, reordering characters, extracting or replacing substrings, or formatting textual data from numerical data.
$\bullet$ extract the month from a regularly-formatted but randomly generated sentence
You can define, edit, format, and string together textual data for a computer. This script investigates strings, character arrays, and numeric data types and discusses how they interact in MATLAB. Formatting strings, modifying and extracting substrings, and building composite strings that include the results of numerical calculations are all explored.
In this script, students will...
Summary
CompThoughtOneTenth.png
$\bullet$ create an example illustrating the differences between floating point arithmetic and symbolic arithmetic.
$\bullet$ explore the results of mathematical operations involving mixed numeric data types.
$\bullet$ identify the possible values of a 32-bit unsigned integer.
$\bullet$ use documentation to discover how to perform mathematical computations in MATLAB.
Different numeric data types are optimized for different operations. This script investigates the binary number system and how it leads to floating point, integer, and boolean data types.
In this script, students will...
Summary
memory.png
$\bullet$ compare the results of computation organized in memory-efficient and memory-inefficient ways.
$\bullet$ apply understanding of memory to recognize efficient computational patterns such as pre-allocation.
Understanding a little bit about how programs interact with memory can help you to write efficient programs or to understand why an algorithm might be much faster in some implementations than others. This script investigates high-level memory management and demonstrates how to write more memory-efficient code.
In this script, students will...
Summary
sst.png
$\bullet$ read metadata to understand a dataset.
$\bullet$ use arrays to store multidimensional data of the same type and access individual elements or sub-arrays using dimensional, logical or linear indexing.
$\bullet$ use tables to store linked sets of different types of data such as key/value sets and extract information as tables, single variable arrays, or concatenated variable arrays.
$\bullet$ use structure arrays to store linked data of different types and sizes and use dot notation to access fields within a structure array or variables within a table.
$\bullet$ recognize cell arrays and extract the data to other data structures.
$\bullet$ clean data by interpolating missing values.
$\bullet$ answer questions by analyzing data.
$\bullet$ convert data between types and structures.
Different data storage structures are optimized for different types of data and access. This script facilitates the exploration of arrays, tables, structure arrays, and cell arrays as structures for storing data. Examples include sea surface temperature data and solar power generation data.

License

The license for this module is available in the LICENSE.md.

Related Courseware Modules

Courseware Module
Sample Content
Available on:
Programming: Structuring Code
Learn how to organize your code into functions,
debug, comment, and share
RGBTurkeys.png
OpenInFX.png
OpenInMO.png
GitHub
Programming: A Starter Project Using MATLAB and Python
Use MATLAB, Python, and the OpenWeather API
together to implement a weather prediction dashboard
TokyoWindPrediction.gif
OpenInFX.png
OpenInMO.png
GitHub

Introductory content:

Or feel free to explore our other modular courseware content.

Educator Resources

Contribute

Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks teaching resources team. If you want to contribute directly to this project, you can find information about how to do so in the CONTRIBUTING.md page on GitHub.

© Copyright 2024 The MathWorks™, Inc

About

These live scripts focus on concepts and practices related to working with data: textual data types, numerical data types, data storage, and memory.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages