100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Your First MATLAB Script

How to create, save, and run a MATLAB script file, and the basic building blocks -- comments, output, and simple control flow -- used inside one.

FoundationsBeginner7 min readJul 10, 2026
Analogies

Your First MATLAB Script

A MATLAB script is a plain text file saved with a .m extension that contains a sequence of MATLAB statements executed in order, exactly as if you'd typed them one by one into the Command Window — you create one via Home > New Script or edit myScript.m, and you run it either by pressing F5 in the Editor or by typing its filename (without the extension) at the Command Window prompt, provided the file is in the current folder or on the search path.

🏏

Cricket analogy: A MATLAB script is like a pre-written team sheet handed to the twelfth man to read out in order -- each instruction, a batting position, executes exactly as written, top to bottom, the same sequence as if the captain announced them one at a time live.

Comments, Output, and Suppressing It

Lines beginning with % are comments and ignored by the interpreter, while %% starts a labeled 'section' that the Editor lets you run independently with Ctrl+Enter; every statement that doesn't end in a semicolon automatically echoes its result to the Command Window (e.g. x = 5 prints x = 5), whereas adding a semicolon (x = 5;) suppresses that output, and functions like disp(x) or fprintf('Value: %d\n', x) give you controlled, formatted output regardless of the semicolon.

🏏

Cricket analogy: A trailing semicolon suppressing output is like a scorer choosing not to announce every single dot ball over the stadium PA -- the run still counts internally, but nothing gets broadcast unless it's a boundary worth announcing.

matlab
%% Section 1: Setup
% This script computes and displays basic statistics for a data set
data = [72 85 90 61 78 95 88];   % semicolon suppresses echo

%% Section 2: Compute statistics
avgScore = mean(data);            % no semicolon -> echoes avgScore = 81.2857
maxScore = max(data);

if avgScore >= 80
    disp('Class average is strong.');
else
    fprintf('Class average is %.1f, below target.\n', avgScore);
end

for i = 1:length(data)
    fprintf('Student %d scored %d\n', i, data(i));
end

Switch a script to a Live Script (.mlx) via Home > New > Live Script to interleave formatted text, equations, and inline plots with your code in a single notebook-style document -- useful for tutorials and reports, though plain .m scripts remain the standard for reusable, version-controllable code.

Basic Control Flow in a Script

Inside a script you use the same if/elseif/else/end and for/while ... end control-flow blocks you'd use anywhere else in MATLAB — note that every block is closed with the keyword end rather than braces, and a for loop always iterates over the columns of whatever you give it, so for i = 1:5 loops i through 1 to 5, while for col = someMatrix loops once per column of that matrix.

🏏

Cricket analogy: A for loop iterating column by column through a matrix is like a bowler working through an over delivery by delivery, one ball at a time, always in the same fixed left-to-right sequence.

Saving, Naming, and the Current Folder

Script filenames must start with a letter, can contain only letters, numbers, and underscores (no spaces or hyphens), and cannot match a MATLAB keyword like if or for; naming a script the same as a built-in function (e.g. saving your own script as sum.m) will shadow that built-in within the folders where your script takes precedence, which can cause confusing bugs elsewhere in your code that still expects the original built-in behavior.

🏏

Cricket analogy: Naming your script the same as a built-in function is like a newly signed player wearing the exact same shirt number as a legendary retired player on the same franchise -- the club has to decide which 'sum' actually gets called onto the field, causing confusion in team sheets.

Avoid naming a variable the same as a script or function you plan to call later in the same script -- for example, assigning mean = 10; then later calling mean(data) will error, because MATLAB now treats mean as a numeric variable, not the built-in statistics function, for the rest of that scope.

  • A script is a .m file containing a sequence of statements executed top to bottom, exactly as if typed into the Command Window.
  • Run a script with F5 in the Editor, or by typing its filename (no extension) in the Command Window.
  • % starts a comment; %% starts a runnable section; a trailing semicolon suppresses echoed output.
  • disp and fprintf give explicit, formatted output regardless of semicolons.
  • Control-flow blocks (if/for/while) are always closed with end, not braces.
  • Script filenames can't start with a number or contain spaces/hyphens, and shouldn't shadow built-in function names.
  • Assigning a variable the same name as a function you still need to call later will break that function call for the rest of the scope.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#MATLABStudyNotes#YourFirstMATLABScript#MATLAB#Script#Comments#Output#StudyNotes#SkillVeris#ExamPrep