MATLAB 使用
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 函数一样使用。
安装工具包
帮助程序
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); % 针状图
MATLAB 使用的更多相关文章
- Matlab 绘制三维立体图(以地质异常体为例)
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
- Matlab slice方法和包络法绘制三维立体图
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
- Matlab 高斯_拉普拉斯滤波器处理医学图像
前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...
- MATLAB中绘制质点轨迹动图并保存成GIF
工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...
- linux下配置matlab运行环境(MCR)
在安装好的matlab下有MCR(MatlabCompilerRuntime)在matlab2011/toolbox/compiler/deploy/glnxa64下找到MCRInstaller.zi ...
- EMD分析 Matlab 精华总结 附开源工具箱(全)
前言: 本贴写于2016年12与15日,UK.最近在学习EMD(Empirical Mode Decomposition)和HHT(Hilbert-Huang Transform)多分辨信号处理,FQ ...
- Atitit MATLAB 图像处理 经典书籍attilax总结
Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...
- Atitit MATLAB 图像处理attilax总结
Atitit MATLAB 图像处理attilax总结 1.1. 下载 Matlab7.0官方下载_Matlab2012 v7.0 官方简体中文版-办公软件-系统大全.html1 1.2. Matla ...
- Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结
Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结 1.1. 边缘检测的基本方法Canny最常用了1 1.2. 编写matlab边缘检测代码, ...
- 使用MATLAB对图像处理的几种方法(下)
试验报告 一.试验原理: 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对 ...
随机推荐
- Mybatis ResultMap复杂对象一对一查询结果映射之association
Mybatis复杂对象映射配置ResultMap的association association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象 表结构 项目结构 pom ...
- 防火防盗防CDN流量盗刷
没想到自己的小破站也逃不掉被攻击的命,分分钟就给我刷欠费了. 本来不想写这篇文章的,但看到好多大佬(小林coding. JavaGuide)近期cdn都被盗刷了. 还是来提醒下大家,防火防盗防cdn流 ...
- 咬文嚼图式的介绍二叉树、B树/B-树
前言 因为本人天资愚钝,所以总喜欢将抽象化的事务具象化表达.对于各类眼花缭乱的树,只需要认知到它们只是一种数据结构,类似数组,切片,列表,映射等这些耳熟能详的词汇.对于一个数据结构而言,无非就是增删改 ...
- CentOS之yum安装JDK
1.查看云端目前支持安装的jdk版本 [root@localhost ~]# yum search java|grep jdk ldapjdk-javadoc.noarch : Javadoc for ...
- 从基础到高级应用,详解用Python实现容器化和微服务架构
本文分享自华为云社区<Python微服务与容器化实践详解[从基础到高级应用]>,作者: 柠檬味拥抱. Python中的容器化和微服务架构实践 在现代软件开发中,容器化和微服务架构已经成为主 ...
- 搭建lnmp环境-php(第二步)
系统环境:centos7 php7.4 编译安装太繁琐,这里用yum安装即可 ===========yum形式安装======== # 安装EPEL源(nginx那里已安装了,跳过) yum inst ...
- 安装docker并部署java项目
docker部署springboot项目(详细教程)_使用docker部署springboot项目_流星007的博客-CSDN博客 ps:以下是部署到linux 服务器中的 案例(与chatgpt的对 ...
- OpenStack 基本命令
keystone source /etc/keystone/admin-openrc.sh #登录 openstack user create --password ps1234 --email hq ...
- RHCA rh442 004 加载模块 ulimit cgroup
模块调优 lsmod 可以看到内核加载的模块 [root@servera ~]# lsmod | grep usb [root@servera ~]# modprobe usb_storage [ro ...
- Fidder响应数据SyntaxView乱码的处理方法
当Fidder查看响应数据"SyntaxView"出现乱码时,可以点击上方菜单栏的"Decode"按钮,等"Decode"出现蓝色边框后再重 ...