
Master the basics of Matlab, from the interface and variables to vectors, matrices, image processing, and data visualization. Learn to write high quality, well-documented code with practical projects and exercises.
Explore Matlab's four main windows—the command window, the workspace, the current folder, and the code editor. Create variables, check their values in the workspace, and run scripts with F5.
Customize your Matlab workspace with the layout menu to dock or undock windows, adjust fonts, and save multiple layouts for efficient coding.
Learn to save your work in Matlab files, open and navigate folders, and master the holy trinity of clc, clear, and close all to manage the Matlab workspace and plots.
Discover how to quickly access MATLAB help by pressing F1 on any function, opening a window with descriptions, arguments, what it does, and usage examples.
Explore how variables store values and names, assign values with the equals sign, and reuse a radius variable to calculate circumference and area in MATLAB.
Learn to control matlab's command window formatting by using format short, format long, long g, and short g; adjust spacing with compact or loose settings and apply per-file preferences.
Explain how Matlab infers variable types from values, uses single quotation marks, represents booleans as 0 or 1, and supports dynamic typing that allows type changes.
Convert between types in MATLAB by turning numbers into strings with int-to-string and number-to-string, and reverse with strings to numbers using the estimate double function, noting rounding and non-numeric input.
Start variable names with a lowercase letter in camelCase, then capitalize each following word, and place spaces around operators to boost readability.
Discover how to suppress Matlab outputs by ending lines with a semicolon, view specific variables in the workspace, and control what appears in the command window.
Learn basic arithmetic in Matlab: addition, subtraction, multiplication, division, and powers, with proper spaces, variable assignment, and semicolon suppression of outputs.
Master MATLAB's order of operations by using brackets to control precedence, practicing with exponents, fractions, and complex expressions to ensure results match the intended math.
Explore how matlab exposes built-in pi and the Euler number via the exp function, enabling precise circle calculations and revealing more digits with display format changes.
Learn to use comments and sections in Matlab to document code, toggle execution with the percent sign, and create named sections to organize scripts.
Apply the Pythagorean theorem in MATLAB to compute triangle sides using sqrt of a^2 plus b^2, and derive a and b from c, with comments to toggle code variations.
Learn how MATLAB relational operators compare values: less than, greater than, equal, greater or equal, less or equal, and not equal, returning 0 or 1 and supporting variable assignments.
Learn how to compute the absolute value and the sign of numbers in MATLAB using the abs and sign functions, with examples like minus five and zero.
Solve polynomial equations using the roots function by inputting coefficient vectors, including zeros for missing powers, and learn gcd and lcm calculations across numbers and sets.
Learn to generate permutations and combinations with MATLAB using perms and comp, explore primes with the primes and isprime functions, and validate prime numbers in MATLAB.
Explore vectors in Matlab as arrays, learn indexing and one based indexing, and generate vectors with colon operator and linspace for flexible start and end control.
Learn vector arithmetic in MATLAB: add, subtract, multiply, and divide vectors and scalars, apply element-wise dot operations, and visualize weekly protein intake data with plots.
Explore dot and cross products between two vectors. Learn to compute the dot product via transposed vectors or the dot function, and the cross product with the cross function.
Learn how to extract, modify, and select subvectors in MATLAB using indexing and the colon operator, including first three elements, end-based ranges, and in-place operations.
Learn how to concatenate vectors into a single master vector in Matlab, combining three vectors and appending new values in real time.
Learn to compute vector length, sum, and average in Matlab, and extract sub-vectors using dynamic indices based on length to add vectors of different sizes.
Learn to manipulate vectors in MATLAB by extracting weekly data from a protein intake series, concatenating weeks, and computing element-wise percentage differences between weeks using end indexing and clear documentation.
Learn conditional extraction on vectors using logical indexing to filter elements by conditions (less than 14, between 12 and 14) and modify or remove them in place.
Generate random numbers in Matlab with rand for 0-1 values, then scale to 10-20. Use randperm for non-repeating integers and randi for integer randoms, adjusting vector size with two arguments.
Learn how to sort vectors in MATLAB using the built-in sort function, sort ascending or descending, and apply partial sorting to sub-vectors by indexing and reassigning results.
Learn to use MATLAB's find function to obtain the indexes of vector elements meeting a condition, such as non-zero values, and compare with logical indexing for efficiency.
Generate random data with rand, set a daily protein limit, extract values above the limit using logical indexing, count them with length, and locate the days with find.
Master matrices in MATLAB by organizing data into two-dimensional rows and columns, converting vectors into matrices, and using row and column indices to access values in a diet-tracking example.
Master basic matrix arithmetic, including add, subtract, multiply, divide, and power. Distinguish element-wise multiplication from matrix multiplication, using dot notation and understanding dimensions, rows, and columns.
Learn to extract the diagonal of any matrix using diag in MATLAB, whether square or non-square, and to form diagonal matrices from vectors, including shifting diagonals up or down.
Explore how length and size functions work with vectors and matrices in MATLAB, including the first dimension rows and the second dimension columns and total elements.
Master the extraction of submatrices in Matlab by indexing rows and columns, using ranges and the column operator on diet tracking data.
Learn to perform logical selection on matrices, extract submatrices using row and column conditions, use find to locate matches, and simplify by storing conditions in variables for clarity.
Generate a 500 by 500 random image in MATLAB, convert to grayscale, and visualize it. Extract pixels above 180 and form a 270 by 270 matrix with floor rounding.
Learn to manipulate grayscale images with matrices in MATLAB: create figures, boost dark pixels with logical indexing, convert to grayscale, and extract a subimage from a chess image.
Explore MATLAB special matrices, focusing on ones and identity matrices, learn multiple creation methods and diagonal extraction, and apply these techniques to vectors.
Use the zeros matrix in MATLAB to preallocate memory and speed up code, as shown with a 3000 by 3000 example, achieving about 100x faster performance.
Learn to concatenate matrices horizontally and vertically to combine weekly data into a single matrix, add columns with column vectors, and add rows using semicolons.
Explore how MATLAB computes sums, means, min, and max on matrices, emphasizing column-wise results, dimension parameters, and the colon operator to flatten to a single column.
Master MATLAB matrix operations like triu and tril for upper and lower triangles, shift diagonals, use unique and ismember for elements and rows, and apply circular shift.
Explore essential MATLAB matrix functions, including trace, diagonal sums, and the diagonal, plus rank, determinant, and inverse, with attention to square vs non-square matrices.
Master sorting matrices in MATLAB by using the sort function with the dimension option to sort by columns or rows, and apply descend for descending order.
Explore how colorful images are represented as RGB three-dimensional matrices in MATLAB, and master manipulating color channels and higher-dimensional matrices from 3D cubes to 6D arrays.
read and visualize a colorful image in MATLAB with imread and imshow. treat it as a 3D RGB matrix, swap color channels, and add a random image.
Split a color image into four quadrants, extract each corner with half height and half width, then concatenate to reconstruct or rearrange, using all color channels via the colon operator.
Create basic plots in MATLAB by generating voltage and current vectors, computing current as voltage divided by resistance, and plotting voltage vs current with the plot function.
Learn to customize MATLAB plots by adjusting line width, color, and line style, and using color shortcuts and markers to highlight data.
Explore how to customize Matlab plots with grid on, off, and grid minor, and add axis labels using xlabel and ylabel, including font size, weight, and color.
Master how to set and auto-adjust plot limits in MATLAB using xlim and ylim, extract min and max values, and apply a 10% margin so graphs resize automatically with data.
Extend the plot with 20 ohm and 30 ohm resistors, plot i1, i2, and i3 on graph using hold on, and fix y-limits by concatenating vectors for min and max.
Add a legend to multi-graph plots, labeling R1, R2, and R3 with subscripts and omega symbols, and customize font, color, orientation, and placement for clarity.
Learn to create multiple plots in a single figure using MATLAB's subplot. Organize data into a grid of subplots with individual indices, styling, labels, limits, and legends.
Visualize nutrients with MATLAB by generating a 4-row matrix, plotting in subplots, and using handles to compare baseline values for carbs, protein, fat, and calories.
master MATLAB data visualization by learning to create and manage line and axis handles, adjust properties with set and name-value pairs, and apply xlim, grid, and color changes across subplots.
Use handles for legends, labels, titles, and MATLAB plot lines to group common properties with two large vectors; adjust font size and other attributes via set for all subplots efficiently.
Explore MATLAB logical operators and, or, not, including how to combine conditions, use boolean tables, and form complex expressions with and, or, and not.
Master MATLAB conditional statements with if expressions and relational operators, using end for blocks, rem for even/odd checks, and size checks for safe matrix concatenation.
Explore MATLAB logical operators, using or and and to combine conditions, and negate with not to create a nor condition, while testing value ranges with row and column selections.
Master MATLAB conditional statements by building complex logical expressions with and/or and brackets, check evenness, divisibility by five, and range, then extract conditions into variables for readability.
Learn to nest if conditions in MATLAB to build a square matrix of ones of at least 3 by 3, and multiply by nine when numel(matrix) >= 20.
Master nested conditions in MATLAB using else if for square and non-square matrices. Generate twos, ones, or zeros based on size and vertical or horizontal orientation.
Explore the switch statement as a concise alternative to else if, using cases and the default case, with examples switching on a number and generating matrices based on rows.
In this project, create conditional plot properties by comparing nutrient means to baselines and using if-else logic to color data lines green, yellow, or red.
Use else for default conditions and a sign function with switch cases to color-code four plots by negative, zero, or positive checks of carbs, proteins, fats, and calories.
Learn how loops power MATLAB by using for and while loops to repeat code, bound by iterations or conditions, and understand their relation to functions.
Explore how to index a vector with a for loop in MATLAB, using an iterator, vector generation, and length-based looping, then compare loop-based operations with vectorized alternatives like multipliers.
Explore element-by-element vector operations with for loops to model 2D motion using the equations of motion, initial conditions, angle, gravity, and time steps.
Create a Matlab script that generates and plays sounds at given frequencies using a cosine equation, a time vector, and a loop to cycle frequencies and build a results matrix.
Explore how nested loops drive matrix operations by iterating over rows and columns with i and j, using size to adapt to non-square matrices, including 10x10 examples.
Implement nested for loops to vary frequency and amplitude, hear and plot signals with subplots, and store results in a 3D matrix indexed by time, frequency, and amplitude.
Explore MATLAB's while loop as a conditional loop, learn to generate random numbers until the number 50 is reached, compare with for loops, and plot data while tracking y values.
Learn how break and continue control loop flow, skipping iterations and halting loops in while and other loops, with practical examples from sound generation and plotting.
This course will transform you from a MATLAB Novice into a MATLAB Master. The course was developed under the strict oversight of Hristo Zhivomirov who is one of the top 50 MATLAB contributors Worldwide (search for his name in Google).
The course is structured in a way that is suitable for both beginners and those that already have some experience with MATLAB, there is a lot of information for everyone.
Everything in our world today can be viewed as some kind of a matrix, and I’m not talking about the Matrix Trilogy. For example
Measuring the temperature of a patient every 2 hours, can be represented with a one dimensional matrix, which is also called a vector
Monochromatic (black and white) image is a two dimensional matrix, the values in each cell in the matrix is representing the gradation of the gray color
Measuring temperature in a room for example, rooms are 3D, so we need x, y, z to describe the position at which we take our measurements, and the value is the temperature, that is a three dimensional matrix
Measure now the change of that temperature over a period of time and the temperature becomes a fourth dimension
Now add time in the mix and you get… a fifth dimension!
Actually MATLAB has no restrictions on dimensions, you can work with 4, 5, 6 and more dimensions in a single matrix!
How to handle The Matrix: It is not necessary to look for the red pill, like Neo had to – what you actually need is MATLAB, which means MATrix LABoratory contrary to popular belief. MATLAB is a programming language of high level and interactive programming environment that lets you easily implement numeric experiments and methods, allowing you to design algorithms, analyze data and visualize that data in a very, very powerful way.
You will learn:
Variables, everything you need to know about variables in matlab, their types or lack of types, converting between different types, naming conventions, the semicolon operator and more
Basic Arithmetic Operations in MATLAB, the most important thing in this section of the course are the Brackets and the Order of operations, many beginners get lost when they encounter complex expressions, and you will become a master of those
Right after that we are diving into deep waters starting with Vectors, you will learn how to think in vectors and perform a variety of different operations on and with vectors. Concatenating vectors, extracting or selecting subvectors, and more
Matrices are next on the line, but you wont need any pills, because I have you covered, you will learn everything you need to know about working with Matrices in MATLAB and you will also learn a trick in this section that will help you optimize your code and make it run up to 100 times faster!
Data visualization, because, well, whats the point of working with Data if you cant understand it or share it with other people, visualizing data is key in any area of work
And finally we get to the actual MATLAB Programming by utilizing conditional statements, loops and functions to control the flow of your code, write less code, and make your code modular.
Each section contains a source code file at the end so that you can download and review the code that I have written in the lectures!
I hope that you will enjoy this course, as much as I did creating it, so lets dive right into it!
I welcome you to the course!