MATLAB基础函数命令
1. 常用命令
dir:列出当前目录下的所有文件
clc:清除命令窗
clear all:清除环境(从内存中清除所有变量)
who:将内存中的当前变量以简单形式列出
close all: 关闭所有的 Figure 窗口
2. 变量设置
(1).变量命名
MATLAB 的变量名以字母打头,后最多可跟 19 个字母或数字,如 x,y,ae3和d3er45 等都是合法的变量名,不能使用内部函数或命令名作为变量名。
MATLAB 中的变量名区分大小,ab 与 Ab 表示两个不同的变量。
(2).变量赋值
l 表达式赋值
>>a=(100*0.02)/4.0
a=0.0500
l 矩阵赋值
数值通常按行输入,行之间用分号隔开。
>> C=[-1,0,0;1,-1,0;0,0,2];(省略最后的分号,MATLAB 会回显矩阵值)
l 通过引用特定的位置可以单独改变某个矩阵元素
如 S=[5, 6, 4],用命令 S(2)=8 把矩阵 S 的第二个元素值由 6 改成 8。
l 可以引用已定义的矩阵,重新定义一个新矩阵。
如 S=[5,6,4],可定义一个新矩阵。
>>B=[3 S 2]
B=3 5 6 4 2
3. 整数操作
l fix(x):截尾取整
>> fix( [3.12 -3.12])
ans =3 -3
l floor(x):不超过 x 的最大整数(高斯取整)
>> floor( [3.12 -3.12])
ans =3 -4
l ceil(x) :大于 x 的最小整数
>> ceil( [3.12 -3.12])
ans = 4 -3
4. 随机序列常用命令
l rand:均匀分布随机矩阵
rand %无变量输入时只产生一个随机数
y= rand(n) %生成 n×n 随机矩阵,其元素在(0,1)内
y = rand(m,n) %生成 m×n 随机矩阵,其元素在(0,1)内
l randn:正态分布随机矩阵
randn %无变量输入时只产生一个正态分布随机数
y= randn(n) %生成 n×n 正态分布随机矩阵
y = randn(m,n) %生成 m×n 正态分布随机矩阵
l randsrc:
randsrc %无变量输入时只产生一个随机数 1 或者-1
y= randsrc(n) %生成 n×n 随机数组,其元素为 1 或者-1
y = randsrc(m,n) %生成 m×n 随机数组,其元素为 1 或者-1
5. 矩阵常用操作命令
MATLAB 的基本单位是矩阵,掌握矩阵的输入、各种数值运算以及矩阵函数是学好 MATLAB 的关键。
(1).矩阵的输入
l 直接输入创建矩阵
以“[”和“ ]”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;”或按 Enter 键来分隔;
矩阵的元素可以是数字也可以是表达式,如果是数值计算,表达式中不可包含未知变量。
l 用矩阵函数来生成矩阵
MATLAB 提供了大量的函数来创建特殊矩阵,表 1.1 给出 MATLAB 常用的矩阵函数。
表 1.1 Matlab常用矩阵函数
函数名称 |
函数功能 |
zero(m,n) |
m 行 n 列零矩阵 |
eye(n) |
n 阶方矩阵 |
ones(m,n) |
m 行 n 列元素为 1 的矩阵 |
rand(m,n) |
m 行 n 列随机矩阵 |
randn(m,n) |
m 行 n 列正态随机矩阵 |
magic(n) |
n 阶魔方矩阵 |
(2).操作符“:”的说明
j:k 表示步长为 1 的等差数列构成的数组:[j, j+1, j+2,…, k]。
j:i:k 表示步长为 i 的等差数列构成的数组:[j,j+i,j+2*i,…, k]。
A(i:j) 表示 A(i),A(i+1),…,A(j)。
(3).对矩阵元素的操作
设 A 是一个矩阵,则在 MATLAB 中用如下符号表示它的元素:
A(i,j) 表示矩阵 A 的第 i 行第 j 列元素。
A(:,j) 表示矩阵 A 的第 j 列。
A(i,:) 表示矩阵 A 的第 i 行。
A(:,:) 表示 A 的所有元素构造 2 维矩阵
A(:) 表示以矩阵 A 的所有元素按列构成的一个列矩阵。
A(i) 表示矩阵 A(:)的第 i 个元素。
[ ] 表示空矩阵。
(4).矩阵的运算 |
|
A+B:矩阵加法 |
A-B:矩阵减法 |
A*B:矩阵乘法 |
A’:A 的转置 |
k*A:数 k 乘以 A |
det(A):A 的行列式 |
rank(A):A 的秩 |
(5).数组
在MATLAB 中数组是一行或者一列的矩阵,对矩阵输入、修改和保存都适用于数组,同时 MATLAB 还提供了一些创建数组的特殊指令。
l 特殊数组的创建
linspace(a,b,n) 给出区间[a,b]的 n 个等分点数据
l 数组运算
数组运算除作为 1×n 的矩阵应遵循矩阵的运算规则外,MATLAB 中还为数组提供了一些特殊的运算: 乘法为:.* ,乘幂为:.^ 。数组运算强调元素对元素的运算。
6.位操作
l bitand:按位与
C=bitand(A,B)命令将返回两个非负整数数组 A 和 B 的相应元素按位与操作的结果。
为了确保 A 和 B 的元素都是整数,可以使用 ceil、fix、floor 和 round函数来生成 A 和 B。
l bitor:按位或
C=bitor(A,B)命令将返回两个非负整数数组 A 和 B 的相应元素按位或操作的结果。
为了确保 A 和 B 的元素都是整数,可以使用 ceil、fix、floor 和 round 函数来生成 A 和 B。
l bitxor:按位异或
C=bitxor(A,B)返回两个非负整数数组 A 和 B 的相应元素进行按位异或的结果,为了确保 A 和 B 的元素都是整数,可以使用 ceil、fix、floor 和 round 函数来生成 A 和 B。
l bitset:设置指定位的值
C=bitset(A,bit,v)命令将 A 中元素第 bit 位设为 v,其中 v 必须为 0 或 1,A 中的元素必须为非负整数,bit 必须为 1 到 A 中元素浮点整数表示法的位数之间的一个数字。
l bitget:获取指定位的值
C=bitget(A,bit)命令将返回 A 中元素用 bit 指定位的值,A 中的元素必须为非负整数,bit 必须为 1 到 A 中元素浮点整数表示法位数之间的一个数字。
7. 绘图操作
(1)图形标注
title(‘string’,’属性名’,’属性值’,…) —— 给图形加标题
xlabel (‘string’,’属性名’,’属性值’,…) —— 给 x 轴加标注
ylabel (‘string’,’属性名’,’属性值’,…) —— 给 y 轴加标注
legend (‘string1’,’string2’,…)—— 添加图例,其顺序对应于绘图指令中的顺序 axis ([xmin,xmax,ymin,ymax])—— 控制坐标轴的刻度范围
(2)二维图形
l plot(x,y)
功能:以向量 x,y 为轴,绘制曲线。
注: plot(x,y)命令可用来绘制函数f(x)图形,此时可通过向量x常用命令x=a:h:b的形式获得 f(x)函数在绘图区间[a,b]上的自变量点向量数据,对应的函数向量值取为 y= f(x)。步长 h 可以任意选取,一般步长越小,曲线越光滑,但是步长太小,会增加计算量,运算速度也要降低。通常步长 h 取值 0.1 可达到较好的绘图效果。
l plot(x1,y1,x2,y2,x3,y3…)
功能:在同一图形窗口绘制多条不同颜色曲线,曲线关系为
y1=f(x1),y2=f(x2),y3=f(x3)
(3)二维特殊图形
l bar
l Hist 表示生成直方图
M=hist(N)表示将 N 中的最大最小值找出来,然后,平均取十个等间隔点,看以每个间隔点为中心,向两边各扩展 1/2 间隔的范围内,包括 N 的元素个数,因此 M 返回值都是 1*10 大小。
8.文件操作
(1)fopen 打开文件
fopen 函数的调用格式为:
fid= fopen(文件名,打开方式)
其中文件名用字符串形式,表示待打开的数据文件。常见的打开方式有:‘r’表示对打开的文件读数据,‘w’表示对打开的文件写数据,‘a’表示在打开的文件末尾添加数据。fid 用于存储文件句柄值,句柄值用来标识该数据文件,其他函数可利用它对该数据文件进行操作。文件数据格式有两种形式,一种是二进制文件,另一种是文本文件。在打开文件时需要进一步指定文件格式类型,即指定是二进制文件还是文本文件。
(2) fclose 关闭文件
文件读、写等操作完成后,应及时关闭。关闭文件用 fclose 函数,调用格式为:sta=fclose(fid),该函数关闭 fid 所表示的文件。sta 表示关闭文件操作的返回代码,若关闭成功,返回 0,否则返回–1。
(3)二进制文件的读写操作
l fread 读二进制文件
fread 函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为:
[A,COUNT]=fread(fid,size, precision)。
其中 A 用于存放读取的数据,COUNT 返回所读取的数据元素个数。fid 为文件句柄,size 为可选项,若不选用则表示读取整个文件内容,若选用则它的值可为以下选项:N 表示读取 N 个元素到一个列向量;Inf 表示读取整个文件;[M,N]表示读数据到 M×N 的矩阵中,数据按列存放。precision 代表读写数据的类型。
l fwrite 写二进制文件
fwrite 函数按照指定的数据类型将矩阵中的元素写入到文件中。其调用格式为:
COUNT=fwrite (fid, A, precision),
其中 COUNT 返回所写的数据元素个数,fid为文件句柄,A 用来存放写入文件的数据,precision 用于控制所写数据的类型,其形式与 fread 函数相同。
9.M文件的建立与使用
M文件有命令文件和函数文件两种形式,这两种文件的扩展名相同,都是.m。当用户要运行的命令较多时,直接从键盘上逐条输入较为繁琐,可利用命令文件来解决多行输入问题。用户可将一组相关命令编辑在同一个命令文件中,运行时只需输入文件名字,MATLAB 就会自动按顺序执行文件中的命令。函数文件是另一种形式的 M 文件,它的第一句可执行语句是以 function 引导的定义语句,在函数文件中的变量都是局部变量。
(1)命令文件
命令文件的一般形式为:<M 文件名>
如a1.m, pp.m 等都是合法的 M 文件名。
M 文件有两种运行方式:一是在命令窗口直接输入文件名,按 Enter 键; 二是在编辑窗口打开菜单 Tools,再单击 Run。
M 文件保存的路径一定要在搜索路径上,否则 M 文件不能运行。
比如用 M 命令文件绘制 lena.bmp 图像。
第一步:打开 MATLAB 命令窗口,单击【File】|【New】|【Mfile】,打开编辑窗口;
第二步:在编辑窗口中输入:
clc;
clear;
[fn, pn] = uigetfile('*.bmp', '请选择图像文件'); [x, map] = imread(strcat(pn, fn), 'bmp'); imshow(x);
第三步:保存 M 文件,并且保存在搜索路径上,文件名为 showlena.m;
第四步:运行 M 文件。在命令窗口输入 showlena,并按 Enter 键;或在编辑窗
口打开菜单 Tools,再选择 Run 命令。
(2)函数文件
M函数文件的一般形式为:
function <因变量>=<函数名>(<自变量>)
M函数文件可以有多个因变量和多个自变量,当有多个因变量时用[]括起来。
第一步:打开 MATLAB 命令窗口,单击【File】|【New】|【Mfile】打开编辑窗口;
第二步:在编辑窗口逐行写下列语句;
function y=a(x)
imshow(x);
第三步:保存 M 函数文件,并且保存在搜索路径上,文件名为 showimage.m;
第四步:命令窗口执行下列语句:
[fn, pn] = uigetfile('*.bmp', '请选择图像文件');
[x, map] = imread(strcat(pn, fn), 'bmp'); a(x);
MATLAB基础函数命令的更多相关文章
- 信号与系统实验序章0——MATLAB基础命令入门
本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...
- Matlab图像处理函数:regionprops
本篇文章为转载,仅为方便学术讨论所用,不用于商业用途.由于时间较久,原作者以及原始链接暂时无法找到,如有侵权以及其他任何事宜欢迎跟我联系,如有侵扰,在此提前表示歉意.----------------- ...
- Matlab - 基础知识
Matlab R2016a完全自学一本通 记在前面: (1)函数中:dim=1 按列:dim=2 按行 (2)这本书很垃圾,不建议买. (3)在数据库连接中,用两个单引号表示字符串,千万不能用双引号 ...
- MATLAB基础指令操作
由于课程实验需要学习使用了MATLAB,在此记录一下MATLAB的基本操作和命令,供参考与查阅. 学习过程中的资料也链接如下: MATLAB矩阵运算:https://wenku.baidu.com/v ...
- 数字图像处理学习笔记之一 DIP绪论与MATLAB基础
写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...
- Matlab--从入门到精通(chapter2 matlab 基础知识)
Chapter2 Matlab 基础知识 1.基本数学运算符号 注:矩阵的右除是一般意义的除法,但是左除具有对称意义,即A./B=B.\A 2. 命令行中的常用标点 3.常见的操作命令 4.输出数据显 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_02
第三节:变量 正如其他编程软件一样. 都是通过变量来传递和交换数据的,这是基础.按照<MATLAB基础知识提炼>这篇文章先介绍变量比较合适.编程语言不外乎包括两部分:数据和结构.应该先把数 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_01
第一篇:Matlab基础知识提炼: 这一篇主要用系统和提炼性的语言对Matlab基础知识进行总结,主要适用于有语言基础的学习者.尽量不讲废话. 第一部分:Matlab是什么? 1 Matlab是Mat ...
- 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)
博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞
随机推荐
- 关闭VS2015的WPF UI调试工具
VS菜单: 工具 > 选项 > 调试 > 常规 > 启用Xaml 的UI调试工具.把勾勾去掉.
- BZOJ.3938.Robot(李超线段树)
BZOJ UOJ 以时间\(t\)为横坐标,位置\(p\)为纵坐标建坐标系,那每个机器人就是一条\(0\sim INF\)的折线. 用李超线段树维护最大最小值.对于折线分成若干条线段依次插入即可. 最 ...
- KTV项目之3个ListView的跳转和加载歌手图片
第一个ListView: 第二个ListView: 第三个ListView: 定义一个KTVUtil类,在里面定义一个静态变量保存歌手图片 //定义一个静态变量保存歌手图片路径 public stat ...
- 最小树形图——朱刘算法(Edmonds)
定义:一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图. 朱刘算法实现过程: [在选出入边集后(看步骤1),若有向图中不存在有向环,说明该图就是最小树形图] 1,选入 ...
- 2017.07.10【NOIP提高组】模拟赛B组
Summary 今天题目总体不是难,但是分数很低,只有100+10+30,其中第二题还是以前做过的,第一题设计数论,而且以前做过同一个类型的题目,比赛推了很长时间.第三题时以前做过的原题,是贪心没学好 ...
- PAT Basic 1009
1009 说反话 (20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格 ...
- antv g6
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- pygame 笔记-7 生命值/血条处理
通常游戏中的角色都有所谓的生命值,而且头顶上会有一个血条显示.生命值无非就是一个属性而已,很容易在Player.py类中增加,头顶上的血条其实就是绘制二个矩形,叠加在一起. 以上节的Player.py ...
- python测试开发django-56.模板渲染markdown语法+代码高亮
前言 上一篇已经实现在xadmin后台编辑markdown语法的文档,编辑完成之后发布博客,在前端html能把markdown语法显示出来. 主要思路是先从数据库把markdown的代码读出来,导入m ...
- ubuntu redis 自启动配置文件(关机有密码)
#!/bin/bash # chkconfig : ### BEGIN INIT INFO # Provides: redis-server # Required-Start: $syslog $re ...