概述
2.1 输入命令
在命令的末尾添加分号将抑制输出,但仍会执行该命令,正如您在工作区中所看到的。当您输入命令而没有以分号结尾时,MATLAB 将会在命令提示符下显示结果。
x = 5 + 1
x =
6 >> x = 5 + 1;
2.2 命名变量
您可以将 MATLAB 变量命名为符合以下规则的任何名称:以字母开头,并且仅包含字母、数字和下划线 (_)。
MATLAB 变量还区分大小写。
2.3 保存和加载变量
save filename 保存变量到filename文件
save filename m 保存变量m到filename文件
load filename 加载文件中变量
load filename m 家中文件中的变量m
2.4 使用内置的函数和常量
内置常量 pi
内置函数
sqrt ()
sin()
cos()
控制输出精度
format long
format short
3脚本
4.1 手动输入数组
您可以使用方括号创建包含多个元素的数组。
x = [3 5]
x =
3 5
当您用空格(或逗号)分隔数值时(如前面的任务中所示),MATLAB 会将这些数值组合为一个行向量,行向量是一个包含一行多列的数组 (1×n)。当您用分号分隔数值时,MATLAB 会创建一个列向量 (n×1)。
x = [1;3]
x =
1
3
您可以组合使用空格和分号来创建一个矩阵,即包含多行多列的数组。输入矩阵时,您必须逐行输入它们。
x = [3 4 5;6 7 8]
x =
3 4 5
6 7 8
在 MATLAB 中,您可以在方括号内执行计算。
x = [abs(-4) 4^2]
x =
4 16
4.2 创建等间距向量
我们经常需要创建一些包含等间距数值的向量,例如以下向量。
y = [5 6 7 8]
y =
5 6 7 8
对于长向量,输入单个数值是不实际的。可用来创建等间距向量的替代便捷方法是使用 : 运算符并仅指定起始值和最终值。
y = 5:8
y =
5 6 7 8
-
请注意,当您使用冒号运算符时,不需要方括号。
- 运算符使用默认的间距 1,但是您可以指定您自己的间距,如下所示。
x = 20:2:26
x =
20 22 24 26
如果您知道向量中所需的元素数目(而不是每个元素之间的间距),则可以改用 linspace 函数:
linspace(first,last,number_of_elements)
注意,请使用逗号 (,) 分隔 linspace 函数的输入。
x = linspace(0,1,5)
x =
0 0.250 0.500 0.750 1.000
linspace 和 : 运算符都可创建行向量。但是,您可以使用转置运算符 (’) 将行向量转换为列向量。
x = 1:3;
x = x'
x =
1
2
3
您可以通过在一条命令中创建行向量并将其全部转置来创建列向量。注意此处使用圆括号来指定运算的顺序。
x = (1:2:5)'
x =
1
3
5
4.3 数组创建函数
MATLAB 包含许多函数,可帮助您创建常用的矩阵,例如随机数矩阵。
x = rand(2)
x =
0.8147 0.1270
0.9058 0.9134
请注意,rand(2) 命令中
的 2 指定
许多矩阵创建函数允许您输入一个数值来创建方阵 (n×n),或者输入两个数值来创建非方阵。
x = rand(2)
x =
0.8147 0.1270
0.9058 0.9134
x = rand(2,3)
x =
0.6324 0.2785 0.9575
0.0975 0.5469 0.9649
使用 zeros 函数创建一个包含 6 行 3 列 (6×3) 的全零矩阵。将结果赋给名为 x 的变量。
5.2 提取多个元素
用作索引时,冒号运算符 (???? 可指代该维度中的所有元素。以下语法
x = A(2,:)
会创建一个包含 A 中第 2 行上所有元素的行向量。
冒号运算符可以引用某个值范围。以下语法会创建一个包含矩阵 A 的第 1 行、第 2 行和第 3 行所有元素的矩阵。
x = A(1:3,:)
单个索引值可用于引用向量元素。例如
x = v(3)
会返回向量 v 的第 3 个元素(当 v 为行向量或列向量时)。
单个索引值范围可用于引用向量元素的子集。例如
x = v(3:end)
返回向量 v 的一个子集,其中包含从第三个到最后一个元素范围内的所有元素。
6.1 对向量执行数组运算
MATLAB 的设计让您能够自然地处理数组。例如,您可以将一个标量值与数组中的所有元素相加。
y = x + 2
您可以将任意两个大小相同的数组相加。
z = x + y
您可以将数组中的所有元素与某个标量相乘或相除。
z = 2*x
y = x/3
MATLAB 中的基本统计函数可应用于某个向量以生成单个输出。可以使用 max 函数来确定向量的最大值。
xMax = max(x)
MATLAB 的函数可在单个命令中对整个向量或值数组执行数学运算。
xSqrt = sqrt(x)
- 运算符执行矩阵乘法。因此,如果您使用 * 将两个大小相同的向量相乘,则由于内部维度不一致,您将会收到一条错误消息。
z = [3 4] * [10 20]
错误使用 *
用于矩阵乘法的维度不正确。
而 .* 运算符执行按元素乘法,允许您将两个大小相同的数组的对应元素相乘。
z = [3 4] .* [10 20]
z =
30 80
size 函数可以应用于数组,以生成包含数组大小的单个输出变量。
s = size(x)
7.1 获取函数的多个输出
size 函数可以应用于数组,以生成包含数组大小的单个输出变量。
s = size(x)
size 函数可以应用于矩阵,以生成单个输出变量或两个输出变量。使用方括号 ([ ]) 获得多个输出。
[xrow,xcol] = size(x)
可以使用 max 函数确定向量的最大值及其对应的索引值。max 函数的第一个输出为输入向量的最大值。执行带两个输出的调用时,第二个输出为索引值。
[xMax,idx] = max(x)
如果只需函数的第二个输出,可以使用波浪号字符 (~) 忽略特定输出。
例如,您可能只需要包含向量中最大值的索引:
density = data(:,2)
[~,ivMax] = max(v2)
densityMax = density(ivMax)
9.1 绘制向量图
可以使用 plot 函数在一张图上绘制两个相同长度的向量。
plot(x,y)
plot 函数接受一个附加参数。使用该参数,您可以通过在引号中包含不同符号的方式来指定与之对应的颜色、线型和标记样式。
plot(x,y,"r--o")
以上命令将会绘制一条红色 ® 虚线 (–),并使用圆圈 (o) 作为标记。您可以在线条设定的文档中了解有关可用符号的详细信息。
请注意,每个绘图命令都创建了一个单独的绘图。要在一张图上先后绘制两条线,请使用 hold on 命令保留之前的绘图,然后添加另一条线。
任务
输入 hold on 命令。
然后绘制 mass1(y 轴)对 sample(x 轴)的图,并带有黑色 (k) 方形 (s) 标记,不带线条。
hold on
plot(sample,mass1,"k s")
启用保留状态时,将继续在同一坐标区上绘图。要恢复默认绘图行为,即其中每个绘图都有自己的坐标区,请输入 hold off。
当您单独绘制一个向量时,MATLAB 会使用向量值作为 y 轴数据,并将 x 轴数据的范围设置为从 1 到 n(向量中的元素数目)。
plot 函数接受可选的附加输入,这些输入由一个属性名称和一个关联的值组成。
plot(y,"LineWidth",5)
以上命令将绘制一条粗线。您可以在线条属性文档中了解更多可用属性的详细信息。
使用 plot 函数时,您可在绘图参数和线条设定符之后添加属性名称-属性值对组。
plot(x,y,"ro-","LineWidth",5)
其他绘图函数
histogram 函数创建一个 关于变量x 的直方图。将 “FaceColor” 设置为黄色 (“y”)
histogram(x,"FaceColor","y")
最后
以上就是感性身影为你收集整理的Matlab入门知识的全部内容,希望文章能够帮你解决Matlab入门知识所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复