MATLAB CLI

启动 MATLAB CLI 交互式界面(需要已安装 MATLAB):

matlab -nodesktop -nosplash # 无桌面环境,无启动动画

不启动 MATLAB 直接编译 .m 文件:

matlab -batch "main" # 编译 main.m

基本操作

命令 作用
; 禁止显示网版印刷
ls 列出当前目录中的所有文件
cd 改变当前目录
pwd 显示当前目录
type 显示文件内容
clc 清空命令行窗口
mkdir 新建文件夹
rmdir 删除文件夹
delete 删除一个文件
what 列出当前目录中的 MATLAB 文件
who 查看当前 Workspace 变量名
movefile 文件移动/重命名
copyfile 文件复制
edit 编辑/创建文件
help 显示帮助内容

可以像使用 Shell 命令一样使用,也可以像使用 MATLAB 函数一样使用。

安装工具包

参考:获取和管理附加功能 | MathWorks

帮助程序

help <function | namespace> % 查看函数/命名空间的命令行帮助页
doc <function | namespace> % 查看函数/命名空间的 HTML 帮助页

数学运算

%{
块注释
%} % 数组下标运算符
arr(i) % i 从 1 开始 % 标量运算
a = 2;
b = a * 3; % b = 6 % 矩阵运算
x = [1 2 3; 4 5 6; 7 8 9]
y = x * 2; % y = [2 4 6; 8 10 12; 14 16 18]
z = x' % z = [1 4 7; 2 5 8; 3 6 9],z 是 x 的转置 % 数组乘法
x = [1 2 3];
y = [4 5 6];
z = x.* y; % z = [4 10 18] % 生成行向量
z = [3:6] % z = [3 4 5 6]
z = [0:1:5]; % z = [0 1 2 3 4 5] % 使用冒号运算符
z(1:3) % z 向量的第 1 到第 3 个元素
x(1:2, 2:3) % x 矩阵的 1 到 2 行的 2 到 3 列的元素
x(i, :) % x 的第 i 行
x(:, j) % x 的第 j 列
x(1:2, :) % x 的 1 到 2 行
x([1 1], :) % 两个 x 的第一行

输入输出

输入:

integer = input("Please input an integer: ");
string = input("Please input a string: ", "s");

"str" 表示字符串,'char' 表示字符数组。

输出:

fprintf('The integer is %d\n', integer);
fprintf('The string is %s\n', string);
disp('Any word'); disp(integer);
disp(string);

循环

for 循环

for i = 1 : 10
disp(i);
end

while 循环

i = 1;
while i <= 10
disp(i);
i = i + 1;
end

m 文件

m 文件可以是脚本文件,也可以是函数文件。调用时使用文件名(不带后缀)。

运行 m 文件:

hello_matlab # 运行 hello_matlab.m 文件

脚本文件

不接受输入,不产生输出。

% 代码

函数文件

function [out1, out2, out2] = func_name(in1, in2, in3)

% function comment
% 代码

绘图

平面直角坐标图

x = [0 : 0.01: 10];
y = sin(x);
plot(x, y);
y = sin(x);
g = cos(x);
plot(x, y 'r', x, g, 'g'), legend('sin(x)', 'cos(x)') % 在一幅图像中绘制两个图形,图形 1 为红色,图形 2 为绿色,图例名称分别为 'sin(x)' 和 'cos(x)'
x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x); figure("Name","NRZ to AMI","NumberTitle","off"); % 改变图像窗口的标题 subplot(3,1,1); % 将即将绘制的图形以多个子图的方式绘制,前两个参数指定子图网格的行数和列数,第三个参数指定即将绘制的子图在网格中的位置
plot(x,y); % plot 绘制平面直角坐标图
axis([0 5 -1 1]); % 设置横、纵轴坐标范围
title("y = f(x)"); % 子图标题
xlabel('x');
ylabel('y');
g = [1:0.01:6]; subplot(3,1,2);
stairs(x,g); % 绘制阶梯图形(如波形图)
xlabel('x');
ylabel('g');
title("g = f(x)");
axis([0 5 1 6]);
grid; % 显示网格线 subplot(3,1,3);
stem(x,y); % 针状图

合并多个绘图 | MathWorks

stem 设置连线格式 | MathWorks

MATLAB 使用的更多相关文章

  1. Matlab 绘制三维立体图(以地质异常体为例)

    前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...

  2. Matlab slice方法和包络法绘制三维立体图

    前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...

  3. Matlab 高斯_拉普拉斯滤波器处理医学图像

    前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...

  4. MATLAB中绘制质点轨迹动图并保存成GIF

    工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...

  5. linux下配置matlab运行环境(MCR)

    在安装好的matlab下有MCR(MatlabCompilerRuntime)在matlab2011/toolbox/compiler/deploy/glnxa64下找到MCRInstaller.zi ...

  6. EMD分析 Matlab 精华总结 附开源工具箱(全)

    前言: 本贴写于2016年12与15日,UK.最近在学习EMD(Empirical Mode Decomposition)和HHT(Hilbert-Huang Transform)多分辨信号处理,FQ ...

  7. Atitit MATLAB 图像处理 经典书籍attilax总结

    Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...

  8. Atitit MATLAB 图像处理attilax总结

    Atitit MATLAB 图像处理attilax总结 1.1. 下载 Matlab7.0官方下载_Matlab2012 v7.0 官方简体中文版-办公软件-系统大全.html1 1.2. Matla ...

  9. Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结

    Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结 1.1. 边缘检测的基本方法Canny最常用了1 1.2. 编写matlab边缘检测代码, ...

  10. 使用MATLAB对图像处理的几种方法(下)

     试验报告 一.试验原理: 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对 ...

随机推荐

  1. 实测14us,Linux-RT实时性能及开发案例分享—基于全志T507-H国产平台

    本文带来的是基于全志T507-H(硬件平台:创龙科技TLT507-EVM评估板),Linux-RT内核的硬件GPIO输入和输出实时性测试及应用开发案例的分享.本次演示的开发环境如下: Windows开 ...

  2. Golang 切片作为函数参数传递的陷阱与解答

    作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. GitHub : https://github.com/af913337456/ 出版的书籍: <1.0-区块链DApp开发实战&g ...

  3. mysql:Windows修改MySQL数据库密码(修改或忘记密码)

    今天练习远程访问数据库时,为了方便访问,就想着把数据库密码改为统一的,以后我们也会经常遇到MySQL需要修改密码的情况,比如密码太简单.忘记密码等等.在这里我就借鉴其他人的方法总结几种修改MySQL密 ...

  4. [oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

    光标位置 回忆上次内容 上次了解了键盘演化的过程 ESC 从 组合键 到 独立按键   ​   添加图片注释,不超过 140 字(可选)   ESC的作用 是 进入 控制序列 配置 控制信息 控制信息 ...

  5. [oeasy]教您玩转python - 0002 - 你好世界(hello world!)

    ​ 你好世界 回忆上次内容 这次我们, 了解了 Python 进入了 Python 退出了 Python 这并不难 这就是我们对于 Python 的初体验 恭喜您存活了下来! ​ 编辑 python ...

  6. C#:利用“事务+乐观锁+version”解决并发下的数据一致性问题

    本文重点介绍通过事务控制,利用数据库的乐观锁和时间戳,来解决并发(非高并发)环境下的脏读.幻读.不可重复读等问题,同时也能解决超卖等现象,对开发企业管理系统的朋友提供一个思路,为更突出主题思路,文涉及 ...

  7. abc--cf训练日常总结

    ABC 最近遇到好多思维和位运算的题目不会做,特地过来总结一些小小的知识点. 思维题目 https://atcoder.jp/contests/abc353/tasks/abc353_c 这道题目要求 ...

  8. ElementUI FORM结合Vue实现横向排列表单项

    结合Vue实现横向排列表单项 前言 默认的,ElementUI的Form表单项(控件)是垂直排列,即一行显示一个表单项.但是在实际应用中,有时候会需要一行显示多个表单项.针对这类需求,笔者提供以下解决 ...

  9. 毕业设计&毕业项目:基于springboot+jsp实现的健身房管理系统

    一.前言 在当今数字化时代,音乐已经成为人们生活中不可或缺的一部分.随着技术的飞速发展,构建一个用户友好.功能丰富的在线音乐平台成为了许多开发者和创业者的目标.本文将介绍如何使用SpringBoot作 ...

  10. Jmeter函数助手1-CSVRead

    CSVRead函数适用于读取文件获取参数值. 用于获取值的CSV文件 | *别名:csv文件路径 CSV文件列号| next| *alias:读取列,0表示第一列,1表示第二列 1.首先我们需要一个文 ...