Matlab入门知识

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")
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱小黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值