MATLAB 入门之旅学习笔记

https://matlabacademy.mathworks.com/R2019a/cn/portal.html?course=gettingstarted

1.概述

2.1

输入命令

1. 您可以通过在命令行窗口中

MATLAB 提示符 (>>) 后输入命令,然后按

Enter 键来执行命令。

2. 除非另有指定,否则 MATLAB 会将计算结果存储在一个名为 ans 的变量中。

7+3

ans =

10

3.

MATLAB 中的等号 (=) 为赋值运算符,表示等号右侧的表达式赋给左侧的变量。因此,当您输入 x = 3+4 时,MATLAB 首先会计算 3+4,然后再将结果 (7) 赋给变量

x。

4. 请注意,工作区窗口(右侧)显示了当前位于工作区中的所有变量。

5. 在命令的末尾添加分号将抑制输出,但仍会执行该命令,正如您在工作区中所看到的。当您输入命令而没有以分号结尾时,MATLAB 将会在命令行窗口中显示结果。

x = 5+1

x =

6

x = 5+1;

6. 您可以按键盘上的向上箭头键重新调用以前的命令。请注意,要执行此操作,命令行窗口必须为活动窗口。

7. 当您在命令提示符下仅输入变量名称时,MATLAB 将会返回该变量的当前值。

2.2 在变量中存储数据

1. 您可以将 MATLAB 变量命名为符合以下规则的任何名称:以字母开头,并且仅包含字母、数字和下划线 (_)。

如果您使用无效的变量名称,MATLAB 会显示建议的更正内容。您可以使用建议的命令、对其进行修改或按 Esc 键删除建议。

2. 试着输入以下命令,清除所有变量: clear。

3. clear 用于删除工作区变量,clc 用于清除命令行窗口。

2.3 使用内置的函数和常量

1. MATLAB 包含内置的常量,例如

pi 表示 π。

a = pi

a =

3.1416

此外,虽然只对 π 显示了四位小数,但它在内部是用更高的精度表示的。

2. MATLAB 包含许多内置的函数,例如 abs(计算绝对值)和 eig(计算特征值)。

a = sin(-5)

a =

0.9589

请注意,MATLAB 使用圆括号来传递函数输入,与标准的数学表示法类似。

3. 现在,试着使用 sqrt 函数计算 -9 的平方根。将结果赋给一个名为 z 的变量。

3.1 手动输入数组

1. 所有 MATLAB 变量都是数组,这意味着每个变量均可以包含多个元素。单个称为标量的数值实际上是一个 1×1 数组,也即它包含 1 行 1 列。

2. 您可以使用方括号创建包含多个元素的数组。

x = [3 5]

x =

3    5

3. 当您用空格(或逗号)分隔数值时,MATLAB 会将这些数值组合为一个行向量,行向量是一个包含一行多列的数组 (1×n)。当您用分号分隔数值时,MATLAB

会创建一个列向量 (n×1)

x = [1;3]。

4. 现在,试着创建一个名为 x 的 1×3 行向量,其中依次包含值 3、10 和 5。

5. 现在,试着创建一个名为 x 的 3×1 列向量,其中依次包含值 8、2 和 -4。

6. 您可以组合使用空格和分号来创建矩阵,即包含多行多列的数组。输入矩阵时,您必须逐行输入它们。

x = [3 4 5;6 7 8]

x =

3    4    5

6    7    8

7. 在 MATLAB 中,您可以在方括号内执行计算。

x = [abs(-4) 4^2]

x =

4    16

3.2 创建等间距向量

1. 我们经常需要创建一些包含等间距数值的向量,例如:

y = [5 6 7 8]

y =

5    6    7

8

对于长向量,输入单个数值是不实际的。可用来创建等间距向量的替代便捷方法是使用 : 运算符并仅指定起始值和最终值:first:last。

y = 5:8

y =

5    6    7

8

3. :

运算符使用默认的间距 1,但是您可以指定您自己的间距,如下所示。

x = 20:2:26

x =

20    22    24

26

4. 试着创建一个名为 x 的行向量,该向量以 3 开头,以 13 结尾,并且每个元素的间隔为 2。

5. 如果您知道向量中所需的元素数目(而不是每个元素之间的间距),则可以改用 linspace 函数:linspace(first,last,number_of_elements)。注意,请使用逗号 (,) 分隔 linspace 函数的输入。

x = linspace(0,1,5)

x =

0    0.250    0.500

0.750    1.000

6.

linspace 和 : 运算符都可创建行向量。但是,您可以使用转置运算符 (’) 将行向量转换为列向量。

x = 1:3;

x = x’

x =

1

2

3

7. 您可以通过在一条命令中创建行向量并将其全部转置来创建列向量。注意此处使用圆括号来指定运算的顺序。

x = (1:2:5)’

x =

1

3

5

3.3 数组创建函数

1. MATLAB 包含许多函数,可帮助您创建常用的矩阵,例如随机数矩阵。

x = rand(2)

x =

0.8147

0.1270

0.9058

0.9134

请注意,rand(2) 命令中的 2 指定输出将为一个 2×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

3. 现在,试着使用 zeros 函数创建一个包含

6 行 3 列 (6×3) 的全零矩阵。将结果赋给名为 x 的变量。

4.1 保存和加载变量

1. 您可以使用 save 命令将工作区中的变量保存到称为 MAT 文件的 MATLAB 特定格式文件中。

save foo x

以上命令将名为 x 的变量保存到名为

foo.mat 的 MAT 文件中。

2. 现在,使用 clear 将工作区清空。

3. 您可以使用 load 命令从 MAT 文件加载变量。

load foo

5.1 对数组进行索引

1. 您可以使用行、列索引从数组中提取值。

x = A(5,7);

此语法将会提取 A 的第 5 行第 7 列的值,然后将结果赋给变量 x。

2. 您可以使用 MATLAB 关键字 end,作为行或列索引来引用最后一个元素。

x = A(end,2);

3. 请注意,您可以将算术运算与关键字 end 结合使用。例如:

x = A(end-1,end-2)

5.2 提取多个元素

1. 用作索引时,冒号运算符 (? 可指代该维度中的所有元素。以下语法

x = A(2,:)

会创建一个包含 A 中第 2 行上所有元素的行向量。

2. 冒号运算符可以引用某个值范围。以下语法会创建一个包含矩阵 A 的第 1 行、第 2 行和第 3 行所有元素的矩阵。

x = A(1:3,:)

3. 单个索引值可用于引用向量元素。例如,以下语句

x = v(3)

会返回向量 v 的第 3 个元素(当 v 为行向量或列向量时)。

4. 单个索引值范围可用于引用向量元素的子集。例如

x = v(3:end)

返回向量 v 的一个子集,其中包含从第三个到最后一个元素范围内的所有元素。

5.3 更改数组中的值

1. 记住您可以使用 : 字符来提取整列数据。

2. 可以通过组合使用索引与赋值来修改变量的元素。

A(2,5) = 11

3. 现在,试着将 data 的第一行最后一列的值更改为 0.5。

6.1 执行数组运算

1.

MATLAB 的设计让您能够自然地处理数组。例如,您可以将一个标量值与数组中的所有元素相加。

y = x + 2

2. 您可以将任意两个大小相同的数组相加。

z = x + y

3. 您可以将数组中的所有元素与某个标量相乘或相除。

z = 2*x

y = x/3

4.

MATLAB 中的基本统计函数可应用于某个向量以生成单个输出。可以使用 max 函数来确定向量的最大值。

xMax = max(x)

5. MATLAB 的函数可在单个命令中对整个向量或值数组执行数学运算。

xSqrt = sqrt(x)

6. *

运算符执行矩阵乘法。因此,如果您使用 * 将两个大小相同的向量相乘,则由于内部维度不一致,您将会收到一条错误消息。

z = [3 4] * [10 20]

用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 ‘.*’。

而 .* 运算符执行按元素乘法,允许您将两个大小相同的数组的对应元素相乘。

z = [3 4] .* [10 20]

7.1 从函数调用获取多个输出

1. size 函数可以应用于数组,以生成包含数组大小的单个输出变量。

s = size(x)

2.

size 函数可以应用于矩阵,以生成单个输出变量或两个输出变量。使用方括号 ([ ]) 获取多个输出。

[xrow,xcol] = size(x)

3. 可以使用 max 函数确定向量的最大值及其对应的索引值。max 函数的第一个输出为输入向量的最大值。执行带两个输出的调用时,第二个输出为索引值。

[xMax,idx] = max(x)

8.1 获取帮助:  (2/2) 练习

1. 您可以输入

doc fcnName

以获取任何 MATLAB 函数的相关信息。

2.

MATLAB 文档包含许多有用的示例和信息,可帮助您自行处理问题。

9.1 绘制向量图

1. 可以使用 plot 函数在一张图上绘制两个相同长度的向量。

plot(x,y)

2.

plot 函数接受一个附加参数,该参数让您能够在单引号中使用各种符号来指定颜色、线型和标记样式。

plot(x,y,‘r–o’)

以上命令将会绘制一条红色 ® 虚线 (–),并使用圆圈 (o) 作为标记。您可以在线条设定的文档中了解有关可用符号的详细信息。

3. 您会注意到,最开始创建的绘图消失了。要在一张图上先后绘制两条线,请使用 hold on 命令保留之前的绘图,然后添加另一条线。您也可以使用 hold off 命令返回到默认行为。

4. 任务

现在绘制 mass1(y 轴)对 sample(x 轴)的图,并带有黑色

(k) 方形 (s) 标记,不带线条。(线条设定选项)

5. 任务

试着输入 close all 命令以关闭所有打开的图窗窗口。

6. 当您单独绘制一个向量时,MATLAB 会使用向量值作为 y 轴数据,并将 x 轴数据的范围设置为从 1 到 n(向量中的元素数目)。

任务

使用以下命令绘制向量 v1。

plot(v1)

7. plot 函数接受可选的附加输入,这些输入由一个属性名称和一个关联的值组成。

plot(y,‘LineWidth’,5)

以上命令将绘制一条粗线。您可以在 Line 属性文档中了解更多可用属性的详细信息。

8. 使用 plot 函数时,您可在绘图参数和线条设定符之后添加属性名称-属性值对组。

plot(x,y,‘ro-’,‘LineWidth’,5)

9.2 编写绘图注释

1. 可以使用绘图注释函数(例如 title)在绘图中添加标签。这些函数的输入是一个字符串。MATLAB 中的字符串是用单引号 (’) 引起来的。

title(‘Plot Title’)

//在图顶上

2. 任务

使用 ylabel 函数添加标签

‘Density (g/cm^3)’。//在y轴上

9.3 “绘图”选项卡

1.选择要绘制的变量

2.选择plots和绘制的类型

3.选择两个变量绘图

10.1 项目 - 用电量

1.使用 legend 函数指定图例。

legend(‘a’,‘b’,‘c’)

任务

在现有绘图上添加图例值 ‘res’、‘comm’

和 ‘ind’。

12.3 逻辑索引

2. 试着创建一个名为 s 的变量,其中包含

sample 中与 v1 中小于 4 的元素所在位置对应的元素。

s = sample(v1 < 4)

matlab入门之旅,MATLAB 入门之旅学习笔记相关推荐

  1. Python语言入门这一篇就够了-学习笔记(十二万字)

    Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...

  2. 《Python编程:从入门到实战》(第2版)学习笔记 第5章 if语句

    [写在前面]为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的<Python编程:从入门到实战> ...

  3. javascript从入门到跑路-----小文的js学习笔记(25)------运动框架----匀速运动、缓冲运动、多物体运动、链式运动

    ** javascript从入门到跑路-----小文的js学习笔记(1)---------script.alert.document.write() 和 console.log 标签 javascri ...

  4. javascript从入门到跑路-----小文的js学习笔记目录

    ** javascript从入门到跑路-----小文的js学习笔记(1)---------script.alert.document.write() 和 console.log 标签 javascri ...

  5. 蓝桥杯备考——算法竞赛入门经典(第2版)学习笔记2

    算法竞赛入门经典(第2版)学习笔记2 第二章 循环结构程序设计 2.1 for循环 2.2 while 循环和do-while 循环 2.3 循环的代价 2.4 算法竞赛中的输入输出框架 2.5 注解 ...

  6. Linux入门怎么学?262页linux学习笔记,零基础也能轻松入门

    #种一棵树最好的时间是十年前,其次是现在 很多程序员一开始在学习上找不到方向,但我想在渡过了一段时间的新手期之后这类问题大多都会变得不再那么明显,工作的方向也会逐渐变得清晰起来. 但是没过多久,能了解 ...

  7. 0-c语言入门这一篇就够了-学习笔记(一万字)

    内容来自慕课网,个人学习笔记.加上了mtianyan标签标记知识点. C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C ...

  8. matlab 与 mathmatica 编程对比(Vyi个人学习笔记)

    一.常量 matlab虚数单位:i, j mathmatica虚数单位:I matlab圆周率:pi mathmatica圆周率:Pi 二.注释 matlab分区:%% matlab注释:% 要注释的 ...

  9. Matlab基本操作和矩阵输入(郭彦甫视频学习笔记)

    who/whos        查看工作区当前变量 clear        清空工作区的所有变量(慎用) clear  valuable        清除变量valuable clc        ...

  10. 主元分析matlab,matlab spss做因子分析 主元分析 factor analysis 学习笔记

    目录 目录 (1) 说明 (2) 理论 (3) 3.1因子分析的基础 (3) 3.2因子分析步骤 (5) 3.3主成分分析分析与因子分析的联系和差异: (5) SPSS的因子分析 (6) 4.1SPS ...

最新文章

  1. 刚出炉!程序员人才补贴:单项目最高补贴1000万元
  2. 洞察疫情,微软推出新冠数据分析网站COVID Insights
  3. 自动驾驶的摩尔定律:无人驾驶的最终实现时间或在2035年丨厚势汽车
  4. python3 sys.stdout.write 实时打印刷新
  5. Visual C# 2010从入门到精通
  6. 现在有一个map集合如下: Map<Integer,String> map = new HashMap<Integer, String>(); map.put(1, “
  7. HTML5中微数据在搜索引擎中的使用举例
  8. Mysql对应的dul_MySQL InnoDB 数据字典介绍
  9. 20160130001 冯仑风马牛
  10. highcharts:根据Y的数值范围,动态改变图形的填充颜色
  11. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_4_使用Lambda优化日志案例...
  12. Xtreme Report为windows开发者提供一个完善的类似于Outlook 2003报表的风格
  13. 221028| STATA制图代码
  14. xshell和xftp官网
  15. a标签下载文件 自定义下载文件名
  16. Excel2007文件XML
  17. 宇枫资本投资理财投资入门与技巧
  18. c语言中floor有什么作用,floor函数?floor函数的使用方法?ceil函数?C语言 floor 函数...
  19. 安全研究 # Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection
  20. Android studio下载及安装方法

热门文章

  1. debian apt-get联网安装mysql服务
  2. Reflector7及破解
  3. Windows Mobile 6.0下实现自绘多种状态按钮(Win32) 续
  4. 极详细的ECC讲解 -OOB与ECC
  5. 常见视频接口介绍,VGA,YPbPr,DVI,HDMI,DisplayPort
  6. draw_circle_mod预生成交互式圆形
  7. 机械零点、MAM 文件 、 EMT标定原理
  8. 使用opencv简单的播放AVI程序(40行)
  9. 出现23.97帧率的原因
  10. 第5章 Python 数字图像处理(DIP) - 图像复原与重建14 - 逆滤波