programming: organizing data
350.0 次下载
更新时间 2023/1/27
来自 github
programming: organizing data -凯发k8网页登录
or
curriculum module
created with r2022a. compatible with r2021b and later releases.
description
this curriculum module contains interactive that teach fundamental concepts and basic terminology related to programming computers. this module focuses on concepts and practices related to working with data. one script explores textual data types, including strings and character arrays. another script explores numerical data types, including single- and double-precision floating-point data types, integer data types, and booleans. a third script addresses common efficiency problems that novice coders can encounter if they do not understand how their program is interacting with their computer's memory. the final script addresses data structures, including arrays, tables, structs, and cell arrays, as they naturally arise to store data.
these lessons can be used as part of a lecture, as activities in an instructional setting, or as interactive assignments to be completed outside class.
get started with the programming: organizing data interactive examples by downloading and unzipping the repository. then, double-click the organizingdata.prj file inside matlab®. from there, you can follow the landing page instructions to get started with the examples. 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, if a loop is running longer than intended), click the stop button in the run section of the live editor tab in the matlab toolstrip.
prerequisite domain knowledge
this module assumes familiarity with basic programming concepts (e.g., floating-point doubles, strings, constants, vectors, matrices, arrays, and for loops) and how to use them in matlab. these ideas are all presented with interactive examples in . you could also use as another resource to acquire familiarity with matlab.
details
strings.mlx
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...
- investigate the relationship between character arrays and unicode values.
- try building two-dimensional character arrays and string arrays.
- format strings by concatenating, modifying capitalization, reordering characters, extracting or replacing substrings, or formatting textual data from numerical data.
- extract the month from a regularly-formatted but randomly generated sentence.
numericdatatypes.mlx
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...
- create an example illustrating the differences between floating point arithmetic and symbolic arithmetic.
- explore the results of mathematical operations involving mixed numeric data types.
- identify the possible values of a 32-bit unsigned integer.
- use documentation to discover how to perform mathematical computations in matlab.
memory.mlx
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.
one toy example implementing naive matrix multiplication algorithms:
in this script, students will...
- compare the results of computation organized in memory-efficient and memory-inefficient ways.
- apply understanding of memory to recognize efficient computational patterns such as pre-allocation.
storingdata.mlx
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.
in this script, students will...
- read metadata to understand a dataset.
- use arrays to store multidimensional data of the same type and access individual elements or sub-arrays using dimensional, logical or linear indexing.
- 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.
- 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.
- recognize cell arrays and extract the data to other data structures.
- clean data by interpolating missing values.
- answer questions by analyzing data.
- convert data between types and structures.
related courseware modules
- fundamentals of programming on or or
- programming: structuring code on or or
products
matlab®, mapping toolbox™ (storingdata.mlx
), symbolic math toolbox™ (strings.mlx
)
license
the license for this module is available in the file in this github repository.
support
solutions are available upon instructor request. if you would like to request solutions or have a question, contact the
凯发官网入口首页 copyright 2022 the mathworks, inc.
引用格式
emma smith zbarsky (2023). programming: organizing data (https://github.com/mathworks-teaching-resources/programming-organizing-data/releases/tag/v1.0.3), github. 检索来源 .
matlab 版本兼容性
平台兼容性
windows macos linux标签
社区
community treasure hunt
find the treasures in matlab central and discover how the community can help you!
start hunting!探索实时编辑器
创建集代码、输出和格式化文本于一体的可执行脚本文档。
helperfunctions
tests
helperfunctions
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.3.0 | see release notes for this release on github: |
|
|
1.0.2 | see release notes for this release on github: |
|
|
1.0.1 | see release notes for this release on github: |
|
|
1.0.0 |
|