MATLAB Fundamentals
MATLAB is a programming language and computing environment built around matrices and arrays, used by engineers and scientists to analyze data, develop algorithms, and visualize results. You write commands that operate on whole arrays of numbers, not just one value at a time.
itProgramming languages | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
MATLAB Fundamentals
MATLAB is a programming and numeric computing environment built for engineers and scientists. You use it to analyze data, develop algorithms, and visualize results, working through a desktop that combines a command line, an editor, and tools for inspecting variables as you go.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.mathworks.com/products/matlab.html
Supports
- MATLAB is a programming and numeric computation environment for algorithm development, data analysis, and visualization, described by MathWorks as the language of engineers and scientists.
- MATLAB includes interactive apps, a high-level language, and professionally developed, tested, and documented toolboxes for specialized workflows.
- Simulink provides model-based design with a graphical block-diagram approach and automatic code generation for embedded targets.
- MATLAB interoperates with Python, Visual Studio, and GitHub.
- MATLAB requires a license; free trial versions are available alongside personal, commercial, academic, and teaching license types.
- https://www.mathworks.com/help/matlab/getting-started-with-matlab.html
Supports
- MATLAB operates around matrices and arrays as its primary data structure.
- The MATLAB desktop includes the command line, Command History, Workspace panel, and Variables editor.
- The workspace stores variables created in MATLAB or imported from external sources.
- MATLAB provides 2-D and 3-D plotting for data visualization.
- https://www.mathworks.com/help/matlab/matrices-and-arrays.html
Supports
- Matrices and arrays are the fundamental representation of information and data in MATLAB.
- MATLAB provides zeros, ones, rand, eye, and diag for creating arrays with specific properties.
- The colon operator and the end keyword are used for subscripting and referencing the last index.
- MATLAB supports array operations including concatenation, reshaping, and transposing.
- https://www.mathworks.com/help/matlab/learn_matlab/array-indexing.html
Supports
- MATLAB uses one-based array indexing with row and column subscripts, A(row,column).
- A single subscript performs linear indexing, traversing down each column in order.
- The colon operator specifies a range, all elements in a dimension, or equally spaced values.
- Assigning to an index beyond current array bounds expands the array; reading beyond bounds is an error.
- https://www.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html
Supports
- The period character distinguishes array (element-wise) operations from matrix operations.
- Element-wise operators are .*, ./, .\, and .^; matrix operators are *, /, \, and ^.
- Matrix multiplication requires the first operand's column count to equal the second operand's row count.
- Addition and subtraction use the same symbols for both array and matrix operations.
- Transpose without conjugation is .'; complex conjugate transpose is '.
- https://www.mathworks.com/help/matlab/data-types.html
Supports
- MATLAB stores numeric variables as double-precision floating point by default, alongside integer and single-precision types.
- MATLAB provides character arrays and string arrays for text.
- Cell arrays can contain data of varying types and sizes.
- Structures hold named fields of varying types and sizes.
- Tables hold tabular data whose named columns can have different types.
- https://www.mathworks.com/help/matlab/scripts.html
Supports
- Scripts are the simplest type of program file and have no input or output arguments.
- Functions accept input arguments and return output arguments.
- Local functions can be defined inside a script file alongside script code.
- Live scripts, created in the Live Editor, combine code with formatted text, equations, and visualizations in one document.
- Scripts, functions, and live scripts are stored as MATLAB code files.
- https://www.mathworks.com/help/matlab/matlab_prog/create-scripts.html
Supports
- A script contains sequential commands with no input or output arguments.
- When a script finishes running, its variables remain in the MATLAB workspace.
- Scripts share the base workspace with the interactive session and with other scripts.
- https://www.mathworks.com/help/matlab/function-basics.html
Supports
- A MATLAB function begins with a function declaration line naming the function, its inputs, and its outputs.
- Functions are stored in program files containing sequential commands ending with an end statement.
- MATLAB also supports anonymous functions as a compact alternative for simple operations.
- https://www.mathworks.com/help/matlab/ref/plot.html
Supports
- plot(x,y) creates a 2-D line plot connecting data points from matched x and y vectors.
- If the input to plot is a matrix, the plot contains one line for each column.
- title, xlabel, and ylabel add descriptive text to a plot.
- https://www.mathworks.com/products.html
Supports
- MathWorks organizes MATLAB add-ons into toolboxes covering domains such as signal processing and communications, automotive, aerospace, robotics, finance, and image processing.
- Simulink provides simulation and modeling capabilities including physical modeling components and systems engineering tools.
- MATLAB Online and Simulink Online provide browser-based access alongside student and campus licensing.
- https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted
Supports
- MATLAB Onramp is a free, two-hour, self-paced interactive course covering commands, variables, indexing, plotting, and importing external data.
- MATLAB Onramp is accessed through a web browser and requires no separate MATLAB license.
- https://github.com/mathworks/awesome-matlab-students
Supports
- This repository is maintained by MathWorks as a resource hub for students learning MATLAB and Simulink.
- It links free onramp courses, cheat sheets, practice challenges, hardware integration guides, and student community programs.
- https://github.com/uhub/awesome-matlab
Supports
- This curated list catalogs MATLAB frameworks, libraries, and software, including YALMIP, CVX, the Robotics Toolbox for MATLAB, export_fig, and matlab2tikz.
- https://yalmip.github.io/
Supports
- YALMIP is a MATLAB and Octave toolbox for optimization modeling, letting users formulate linear, quadratic, semidefinite, and nonconvex problems and interfacing with external solvers.
- https://cvxr.com/cvx/
Supports
- CVX turns MATLAB into a modeling language for specifying convex optimization problems, including disciplined convex programming and geometric programming, using standard MATLAB expression syntax.
- https://petercorke.com/toolboxes/robotics-toolbox/
Supports
- The Robotics Toolbox for MATLAB provides functions and classes for robot kinematics, dynamics, and trajectory generation, covering serial-link manipulators and mobile robots including path planning and localization.
- https://github.com/altmany/export_fig
Supports
- export_fig is a MATLAB toolbox for exporting publication-quality figures with better on-screen fidelity than MATLAB's built-in export functions.
- https://github.com/matlab2tikz/matlab2tikz
Supports
- matlab2tikz converts native MATLAB figures into TikZ and Pgfplots code that integrates directly with LaTeX documents.
