当前位置:网站首页>MATLAB学习第二天(基础语法、变量、命令以及新建自己文件)
MATLAB学习第二天(基础语法、变量、命令以及新建自己文件)
2022-07-16 03:24:00 【不想秃头的学生】
目录
一、MATLAB基本语法
点乘运算
,
常与其他运算符
点乘运算,常与其他运算符联合使用(如.\)
矩阵生成 矩阵生成 向量生成或子阵提取本节将会介绍一些MATLAB的基本语法的使用。
在 MATLAB 环境下进行的操作就像是使用一个超级复杂的计算器,不要被这吓到了。在您开始使用 MATLAB 时可以在“>>”命令提示符下输入命令。
执行MATLAB命令
MATLAB 是一种解释型的环境。也就是说,只要你给MATLAB一个命令,它就会马上开始执行。
MATLAB实践
在">>" 命令提示符下键入一个有效的表达,例如:
5 + 5然后按 ENTER 键
当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:
ans = 10
让我们使用几个例子:
3 ^ 2 % 3 raised to the power of 2当你点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:
ans = 9
另外一个例子:
sin(pi /2) % sine of angle 90o
当你点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:
ans = 1
另外一个例子,
7/0 % Divide by zero当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:
ans = Inf
warning: division by zero
另外一个例子,
732 * 20.3 当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:
ans = 1.4860e+04
MATLAB 提供了一些特殊的一些数学符号的表达,像圆周率 π, Inf for ∞, i (and j) for √-1 etc. Nan 代表“不是一个数字”。
MATLAB常用的运算符和特殊字符
MATLAB常用的运算符和特殊字符如下表所示:
| 运算符 | 目的 |
|---|---|
| + | 加;加法运算符 |
| - | 减;减法运算符 |
| * | 标量和矩阵乘法运算符 |
| .* | 数组乘法运算符 |
| ^ | 标量和矩阵求幂运算符 |
| .^ | 数组求幂运算符 |
| \ | 矩阵左除 |
| / | 矩阵右除 |
| .\ | 阵列左除 |
| ./ | 阵列右除 |
| : | 向量生成;子阵提取 |
| ( ) | 下标运算;参数定义 |
| [ ] | 矩阵生成 |
| . | 点乘运算,常与其他运算符联合使用 |
| … | 续行标志;行连续运算符 |
| , | 分行符(该行结果不显示) |
| ; | 语句结束;分行符(该行结果显示) |
| % | 注释标志 |
| _ | 引用符号和转置运算符 |
| ._ | 非共轭转置运算符 |
| = | 赋值运算符 |
MATLAB常用的运算符使用示例
MATLAB分号(;)使用
MATLAB中分号(;)表示语句结束;但是,如果想抑制和隐藏 MATLAB 输出表达,表达后添加一个分号。
例如,
x = 3;
y = x + 5当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它立即返回的结果是:
y = 8
MATLAB添加注释
MATLAB的百分比符号(%)是用于表示一个注释行。例如:
x = 9 % assign the value 9 to x也可以写注释,使用一块块注释操作符%{%}。
MATLAB编辑器包括工具和上下文菜单项,来帮助添加,删除或更改注释的格式。
MATLAB特殊变量和常量
MATLAB支持以下特殊变量和常量:
| Name | Meaning |
|---|---|
| ans | 默认的变量名,以应答最近依次操作运算结果 |
| eps | 浮点数的相对误差 |
| i,j | 虚数单位,定义为 i2 = j2 = -1 |
| Inf | 代表无穷大 |
| NaN | 代表不定值(不是数字) |
| pi | 圆周率 |
MATLAB命名变量
变量名称是由一个字母后由任意数量的字母,数字或下划线。
注意MATLAB中是区分大小写的。
变量名可以是任意长度,但是,MATLAB使用只有前N个字符,其中N是由函数namelengthmax。
保存你的工作进度
MATLAB使用save命令保存工作区中的所有变量,然后作为一个扩展名为.mat的文件,在当前目录中。
如以下例子:
save myfile该文件可以随时重新加载,然后使用load命令。
load myfile二、MATLAB变量
每个MATLAB变量可以是数组或者矩阵。
用一个简单的方法指定变量。例如:
x = 3 % defining x and initializing it with a valueMATLAB执行上述语句,并返回以下结果:
x =
3上述的例子创建了一个1-1的矩阵名为x和的值存储在其元素中。我们可以看看另外的例子,
x = sqrt(16) % defining x and initializing it with an expressionMATLAB执行上述语句,并返回以下结果:
x =
4
MATLAB注意事项:
例如:
x = 7 * 8;
y = x * 7.89MATLAB将执行上面的语句,并返回以下结果:
y =
441.8400例如:
sqrt(78)MATLAB将执行上面的语句,并返回以下结果:
ans =
8.8318
变量 ans 可以被继续使用:
9876/ansMATLAB将执行上面的语句,并返回以下结果:
ans =
1.1182e+03在使用变量之前,必须进行赋值。
当系统接收到一个变量之后,这个变量可以被引用。
当表达式返回一个结果,不分配给任何变量,系统分配给一个变量命名ans,以后可以继续使用。
MATLAB可以多个赋值
多个任务可以在同一行。例如,
a = 2; b = 7; c = a * bMATLAB将执行上面的语句,并返回以下结果:
c =
14
MATLAB如何显示已经使用的变量名?
在MATLAB中可以使用 who 命令显示所有已经使用的变量名。
whoMATLAB将执行上面的语句,并返回以下结果:
Your variables are:
a ans b c x y
whos 命令则显示多一点有关变量:
当前内存中的变量
每个变量的类型
内存分配给每个变量
无论他们是复杂的变量与否
whosMATLAB将执行上面的语句,并返回以下结果:
Name Size Bytes Class Attributes
a 1x1 8 double
ans 1x1 8 double
b 1x1 8 double
c 1x1 8 double
x 1x1 8 double
y 1x1 8 double
clear命令删除所有(或指定)从内存中的变量(S)。
clear x % it will delete x, won't display anything
clear % it will delete all variables in the workspace
% peacefully and unobtrusively 长任务
长任务可以通过使用省略号(...)延伸到另一条线路。例如,
initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity ...
+ acceleration * timeMATLAB将执行上面的语句,并返回以下结果:
final_velocity =
196
MATLAB格式命令
默认情况下,MATLAB 四个小数位值显示数字。这就是所谓的 short format.
如果想更精确,需要使用 format 命令。
长(long ) 命令格式显示小数点后16位。
例如:
format long
x = 7 + 10/3 + 5 ^ 1.2MATLAB将执行上面的语句,并返回以下结果:
x =
17.231981640639408
format short 例子:
format short
x = 7 + 10/3 + 5 ^ 1.2MATLAB将执行上面的语句,并返回以下结果:
x =
17.2320
空格格式命令回合到小数点后两位数字。例如:
format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6MATLAB将执行上面的语句,并返回以下结果:
weekly_wage =
1064.70
MATLAB 显示大量使用指数表示法。
短格式e命令允许以指数的形式显示小数点后四位,加上指数。
例如:
format short e
4.678 * 4.9MATLAB将执行上面的语句,并返回以下结果:
ans =
2.2922e+01 format long e命令允许以指数的形式显示小数点后十六位,加上指数。例如:
format long e
x = piMATLAB将执行上面的语句,并返回以下结果:
x =
3.141592653589793e+00
format rat 格式大鼠命令给出最接近的有理表达式,从计算所得。例如:
format rat
4.678 * 4.9MATLAB将执行上面的语句,并返回以下结果:
ans =
2063/90
MATLAB创建向量
向量是一维数组中的数字。 MATLAB允许创建两种类型的矢量:
行向量
列向量
创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。
例如,
r = [7 8 9 10 11]MATLAB将执行上面的语句,并返回以下结果:
r =
Columns 1 through 4
7 8 9 10
Column 5
11
另外一个例子,
r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + tMATLAB将执行上面的语句,并返回以下结果:
res =
Columns 1 through 4
9 11 13 15
Column 5
17
创建列向量通过内附组方括号中的元素,使用分号(;)分隔的元素。
c = [7; 8; 9; 10; 11]MATLAB将执行上面的语句,并返回以下结果:
c =
7
8
9
10
11
MATLAB创建矩阵
矩阵是一个二维数字阵列。
在MATLAB中,创建一个矩阵每行输入空格或逗号分隔的元素序列,最后一排被划定一个分号。
例如,下面创建了一个3×3的矩阵:
m = [1 2 3; 4 5 6; 7 8 9]MATLAB执行上述语句,并返回以下结果:
m =
1 2 3
4 5 6
7 8 9 三、MATLAB命令
本节的内容将提供常用的一些MATLAB命令。
在之前的篇章中我们已经知道了MATLAB数值计算和数据可视化是一个交互式程序,在它的命令窗口中您可以在MATLAB提示符“>>”下键入命令。
MATLAB管理会话的命令
MATLAB提供管理会话的各种命令。如下表所示:
| 命令 | 目的/作用 |
|---|---|
| clc | 清除命令窗口。 |
| clear | 从内存中删除变量。 |
| exist | 检查存在的文件或变量。 |
| global | 声明变量为全局。 |
| help | 搜索帮助主题。 |
| lookfor | 搜索帮助关键字条目。 |
| quit | 停止MATLAB。 |
| who | 列出当前变量。 |
| whos | 列出当前变量(长显示)。 |
MATLAB的系统命令
使用MATLAB的时候有一些系统命令可以方便我们的操作,如在当前的工作区中可以使用系统命令保存为一个文件、加载文件、显示日期、列出目录中的文件和显示当前目录等。
下表列举了一些MATLAB常用的系统相关的命令:
| 命令 | 目的/作用 |
|---|---|
| cd | 改变当前目录。 |
| date | 显示当前日期。 |
| delete | 删除一个文件。 |
| diary | 日记文件记录开/关切换。 |
| dir | 列出当前目录中的所有文件。 |
| load | 负载工作区从一个文件中的变量。 |
| path | 显示搜索路径。 |
| pwd | 显示当前目录。 |
| save | 保存在一个文件中的工作区变量。 |
| type | 显示一个文件的内容。 |
| what | 列出所有MATLAB文件在当前目录中。 |
| wklread | 读取.wk1电子表格文件。 |
MATLAB输入和输出命令
MATLAB提供了以下输入和输出相关的命令:
| 命令 | 作用/目的 |
|---|---|
| disp | 显示一个数组或字符串的内容。 |
| fscanf | 阅读从文件格式的数据。 |
| format | 控制屏幕显示的格式。 |
| fprintf | 执行格式化写入到屏幕或文件。 |
| input | 显示提示并等待输入。 |
| ; | 禁止显示网版印刷 |
fscanf和fprintf命令的行为像C scanf和printf函数。他们支持格式如下代码:
| 格式代码 | 目的/作用 |
|---|---|
| %s | 输出字符串 |
| %d | 输出整数 |
| %f | 输出浮点数 |
| %e | 显示科学计数法形式 |
| %g | %f 和%e 的结合,根据数据选择适当的显示方式 |
用于数字显示格式的函数有以下几种形式:
| Format函数 | 最多可显示 |
|---|---|
| format short | 四位十进制数(默认) |
| format long | 15位定点表示 |
| format short e | 五位浮点表示 |
| format long e | 15位浮点表示 |
| format bank | 两个十进制数字 |
| format + | 正,负或零 |
| format rat | 有理数近似 |
| format compact | 变量之间没有空行 |
| format loose | 变量之间有空行 |
MATLAB向量,矩阵和阵列命令
下表列出了MATLAB用于工作数组、矩阵和向量的各种命令:
| 命令 | 作用/目的 |
|---|---|
| cat | 连接数组 |
| find | 查找非零元素的索引 |
| length | 计算元素数量 |
| linspace | 创建间隔向量 |
| logspace | 创建对数间隔向量 |
| max | 返回最大元素 |
| min | 返回最小元素 |
| prod | 计算数组元素的连乘积 |
| reshape | 重新调整矩阵的行数、列数、维数 |
| size | 计算数组大小 |
| sort | 排序每个列 |
| sum | 每列相加 |
| eye | 创建一个单位矩阵 |
| ones | 生成全1矩阵 |
| zeros | 生成零矩阵 |
| cross | 计算矩阵交叉乘积 |
| dot | 计算矩阵点积 |
| det | 计算数组的行列式 |
| inv | 计算矩阵的逆 |
| pinv | 计算矩阵的伪逆 |
| rank | 计算矩阵的秩 |
| rref | 将矩阵化成行最简形 |
| cell | 创建单元数组 |
| celldisp | 显示单元数组 |
| cellplot | 显示单元数组的图形表示 |
| num2cell | 将数值阵列转化为异质阵列 |
| deal | 匹配输入和输出列表 |
| iscell | 判断是否为元胞类型 |
MATLAB绘图命令
MATLAB提供了大量的命令绘制图表。下表列出了一些常用的命令绘制:
| 命令 | 作用/目的 |
|---|---|
| axis | 人工选择坐标轴尺寸 |
| fplot | 智能绘图功能 |
| grid | 显示网格线 |
| plot | 生成XY图 |
| 打印或绘图到文件 | |
| title | 把文字置于顶部 |
| xlabel | 将文本标签添加到x轴 |
| ylabel | 将文本标签添加到y轴 |
| axes | 创建轴对象 |
| close | 关闭当前的绘图 |
| close all | 关闭所有绘图 |
| figure | 打开一个新的图形窗口 |
| gtext | 通过鼠标在指定位置放注文 |
| hold | 保持当前图形 |
| legend | 鼠标放置图例 |
| refresh | 重新绘制当前图形窗口 |
| set | 指定对象的属性,如轴 |
| subplot | 在子窗口中创建图 |
| text | 在图上做标记 |
| bar | 创建条形图 |
| loglog | 创建双对数图 |
| polar | 创建极坐标图像 |
| semilogx | 创建半对数图(对数横坐标) |
| semilogy | 创建半对数图(对数纵坐标) |
| stairs | 创建阶梯图 |
| stem | 创建针状图 |
四、MATLAB M-Files
我们一直强调MATLAB是一个功能强大的编程语言及交互式计算环境,之前学习的内容中,我们学会了在 MATLAB 命令提示符下输入命令,而且我们主要是把MATLAB环境作为一个计算器使用。其实,MATLAB 还允许写入到一个文件中的一系列命令和执行文件完整的单元,就好比是写一个函数,然后调用它。
在开始接下来的学习内容前,我们要先了解在 MATLAB 中的 M 文件有两种类型,详细内容请往下看:
MATLAB的 M 文件
MATLAB允许写两个程序文件:
脚本 - 脚本文件 .m 扩展程序文件。在这些文件中写的一系列命令,想一起执行。脚本不接受输入和不返回任何输出。他们在工作区中的数据操作。
函数 - 函数文件 .m 扩展程序文件。函数可以接受输入和返回输出。内部变量是本地的函数。
.m 文件不一定要使用 MATLAB 编辑器创建,其他任何的文本编辑器也是可以的。在本节中,我们将讨论的脚本文件。MATLAB 命令和函数调用的脚本文件包含多个连续的行。可以运行一个脚本,在命令行中键入其名称。
MATLAB创建并运行脚本文件
创建脚本文件,需要使用文本编辑器。可以打开 MATLAB 编辑器,可使用两个方法:
使用命令提示符
使用IDE
如果是在命令提示符下使用命令提示符下,键入编辑。这将打开编辑器。可以直接键入编辑,然后在文件名( .m 扩展程序文件名)
edit
Or
edit <filename>上面的命令将在默认情况下,MATLAB 目录中创建文件。如果想存储在一个特定的文件夹中的所有程序文件,那么一定要提供整个路径。
让我们创建一个文件夹名为 progs。在命令提示符处键入以下命令(>>):
mkdir progs % create directory progs under default directory
chdir progs % changing the current directory to progs
edit prog1.m % creating an m file named prog1.m如果首次创建的文件,MATLAB 会提示您进行确认。单击“Yes”。

另外,如果使用的是IDE,选择 NEW -> Script。这也打开编辑器,并创建一个文件名为命名。输入代码后可以命名并保存文件。
在编辑器中输入下面的代码:
NoOfStudents = 6000;
TeachingStaff = 150;
NonTeachingStaff = 20;
Total = NoOfStudents + TeachingStaff ...
+ NonTeachingStaff;
disp(Total);创建和保存文件后,可以运行在两个方面:
编辑器窗口中单击“Run”按钮或
只要在命令提示符下键入文件名(不含扩展名):>> prog1
命令窗口提示显示的结果是:
6170
例子
我们在MATLAB中创建一个脚本文件,然后输入下面的代码:
a = 5; b = 7;
c = a + b
d = c + sin(b)
e = 5 * d
f = exp(-d)编译并执行上述代码,会产生以下结果:
c =
12
d =
12.6570
e =
63.2849
f =
3.1852e-06边栏推荐
- An email many years ago
- Kingbasees SQL language reference manual of Jincang database (3.1.1.5. large object data type)
- 【HBZ分享】TCP协议讲解
- 剑指 Offer 63. 股票的最大利润
- 傲梅轻松克隆系统盘备份
- [golang | GRC] GRC bidirectional streaming two-way flow practice
- Google Earth engine app (GEE) - load a searchable Spector
- 金仓数据库 KingbaseES SQL语言参考手册(2. KingbaseES SQL介绍)
- One side is Wangwang's childlike innocence, and the other is an energy drink that can't be put down
- ES6笔记二
猜你喜欢
![[golang | GRC] GRC bidirectional streaming two-way flow practice](/img/a6/f572047201178e408569a5499bfc8e.png)
[golang | GRC] GRC bidirectional streaming two-way flow practice

论文阅读:Pyramid Scene Parsing Network

STL tips

laravel-excel导出数据,对数据进行样式修改,数据处理

剑指 Offer 48. 最长不含重复字符的子字符串

社区峰会|Pulsar Summit 旧金山峰会议题亮点曝光!

解决pycharm无法输入中文的方法:

Memory management page properties

(note) ideavim and IDE conflict resolution

19th week homework
随机推荐
SSH Remote port forwarding
SSH远程端口转发
The share price fell through! Is Muse going to pay for the "IQ tax"?
解决pycharm无法输入中文的方法:
HCIP第四天笔记
台式万用表究竟如何选型?
[programming training 10] tic tac toe chess + password strength level
批流融合升级:Apache Flink 1.15.0 发布 Pulsar Flink Sink Connector
SSH local port forwarding
IO Language Guide
What is the ECS framework? Explain + practice to get you started ECS framework
群晖7.1使用SHR添加硬盘
JdbcTemplate 快速使用
PPP综合实验
示波器的带宽介绍
mysql中一些功能相似的函数详解
Hcip day 4 notes
【随记】从入门到入土的密码学 | AES
HCIP第三天学习笔记
剑指 Offer 28. 对称的二叉树