matlab入门之旅,MATLAB 入门之旅学习笔记

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wemosD1_WIFI模块 与 arduino

参考&#xff1a;wemosD1_WIFI模块 与 arduino 作者&#xff1a;枕上 发布时间&#xff1a;2021-07-19 21:49:55 网址&#xff1a;https://blog.csdn.net/jinchi_boke/article/details/118915142 目录作为设备接入wifi&#xff08;STA模式&#xff09;架设Wemos为ftp服务器ardu…

本机在合成图片经常提示内存不足

转载于:https://www.cnblogs.com/niyl/p/9988614.html

tp5 php7 报500,记一次TP单元测试报500错误的问题

记一次TP单元测试报500错误的问题一直听说好的单元测试能提高代码质量&#xff0c;昨天终于在下定决心弄懂单元测试&#xff0c;但第一步就把我干趴下了&#xff0c;我的问题在下面开始都没有什么问题&#xff0c;tp5单元测试的手册就那一点&#xff0c;通过看云上一位仁兄写的…

# 和 ## 的区别

参考&#xff1a;# 和 ## 的区别 作者&#xff1a;枕上 发布时间&#xff1a;2021-07-25 08:23:40 网址&#xff1a;https://blog.csdn.net/jinchi_boke/article/details/119076280?utm_sourceapp&app_version4.11.0&codeapp_1562916241&uLinkIdusr1mkqgl919blen …

H3C配置

H3C交换机配置 1.查看设备版本,确定是否需要升级 <H3C>dis version 2.vlan及接口配置 注&#xff1a;正式配置前可以查看下现有的VLAN。命令如下 <H3C>dis vlan <H3C>sys                          //进入系统视图模式 [H3C]vlan …

创建自己的共用js库

直至昨晚为止&#xff0c;学习了一个多月的MVC与jQuery&#xff0c;从所做的练习中&#xff0c;发觉jQuery的代码也有跟C#语言一样可以重构&#xff0c;多页面有相同使用的方法函数&#xff0c;均可以放置于一个单独立的js文件或是自定义的js库中。在使用时&#xff0c;引用此库…

php封装公共方法,TP框架下封装公共函数详解

本篇文章讲述了如何在TP框架下封装公共函数&#xff0c;大家对TP框架下封装公共函数不了解的话或者对TP框架下封装公共函数感兴趣的话那么我们就一起来看看本篇文章吧&#xff0c; 好了废话少说进入正题吧当我们需要在控制层调用相同的封装函数时&#xff0c;写多次相同的函数&…

多级指针和静动态内存的跨函数访问

参考&#xff1a;多级指针&#xff08;静动态内存的跨函数访问&#xff09; 作者&#xff1a;枕上 发布时间&#xff1a;2021-07-15 00:27:17 网址&#xff1a;https://blog.csdn.net/jinchi_boke/article/details/118724993?spm1001.2014.3001.5501 目录多指针初认识&#xf…

视频专辑:JAVA语言入门视频教程

为什么80%的码农都做不了架构师&#xff1f;>>> 专辑&#xff1a;JAVA语言入门视频教程 简介:该视频专辑是java的入门教程&#xff0c;适合初学者学习java&#xff0c;讲的也非常容易懂&#xff0c;希望能给想学习java的朋友一些帮助。 1 JAVASE 01 简介 2013-10…

HTML5之webSocket使用

webSocket是什么 webSocket是HTML5新出的一种协议&#xff0c;底层是基于TCP/IP协议的。跟http没有关系&#xff0c;只是复用了http握手通道&#xff0c;用来升级协议。 webSocket的作用 轮询&#xff1a;客户端以一定的时间间隔向服务端发出请求&#xff0c;以频繁请求的方式来…

mysql5.7.17的linux安装,linux下mysql5.7.17最新稳定版本安装教程

通过源码在linux上安装mysql最新稳定版本&#xff1a;mysql-5.7.17为了方便安装过程中不受boost依赖的影响&#xff0c;直接从官网下载mysql-boost-5.7.17.tar.gz版本。(官方解释&#xff0c;编译过程中需要boost,但实际没有用到。)安装目录&#xff1a;启动脚本&#xff1a;/e…

Linux 常用命令学习

参考&#xff1a;Linux 常用命令学习 网址&#xff1a;https://www.runoob.com/w3cnote/linux-common-command-2.html 目录1、ls命令2、cd 命令3、pwd 命令4、mkdir 命令5、rm 命令6、rmdir 命令7、mv 命令8、cp 命令9、cat 命令10、more 命令11、less 命令12、head 命令13、ta…

视频专辑:Servlet视频教程

为什么80%的码农都做不了架构师&#xff1f;>>> 专辑&#xff1a;Servlet视频教程 简介:郭宏志 Servlet视频教程 1 郭宏志 Servlet 01 WEB工程结构 2013-10-26 00:32 | 播放(9) | 评论(0) | 时长:28:39 2 郭宏志 Servlet 02 Servlet简介 2013-10-26 00:31 …

阅读【现代网络技术 SDN/NFV/QOE 物联网和云计算】 第一章

本人打算阅读这本书来了解物联网和云计算的基础架构和设计原理。特作笔记如下&#xff1a; 作者&#xff1a; William Stallings 本书解决的主要问题&#xff1a; 由单一厂商例如IBM向企业或者个人提供IT产品和服务&#xff0c;包括计算机软件&#xff0c;硬件&#xff0c;通信…

python items函数用法,Python中dictionary items()系列函数的用法实例

本文实例讲述了Python中dictionary items()系列函数的用法&#xff0c;对Python程序设计有很好的参考借鉴价值。具体分析如下&#xff1a;先来看一个示例&#xff1a;import html # available only in Python 3.xdef make_elements(name, value, **attrs):keyvals [ %s"%…

SVN安装部署

svn安装版本用的是1.8 SVN属于功能性软件&#xff0c;yum安装即是最佳实践。 安装svn yum install subversion 检查svn是否安装完毕 [rootmysql ~]# rpm -qa subversion subversion-1.6.11-15.el6_7.x86_64 卸载原来svn yum remove subverson 设置svn1.8安装源 vim /etc/yum.re…

你可能不知道的跨域解决方案

出于浏览器的同源策略&#xff0c;我们经常会遇到浏览器跨域的问题。 简单的说跨域基本解决方案是&#xff1a; GET请求用JSONP其他请求用同源iframe做代理JSONP的介绍很多&#xff0c;这里就不多说了。 而同源iframe做代理主要是主窗口与iframe的通讯问题&#xff0c;因为这里…

基于wemos D1的无线遥控灯(433m无线模块)

参考&#xff1a;基于wemos D1的无线遥控灯(433m无线模块) 作者&#xff1a;一只小阿大:) 发布时间&#xff1a; 2021-04-16 09:25:53 网址&#xff1a;https://blog.csdn.net/qq_44610809/article/details/115747714 项目软硬件平台及开发环境 1.硬件平台 开发板&#xff1a…

Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)

一&#xff0c;Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说&#xff0c;软件的漏洞都和版本有关&#xff0c;这个很像汽车的缺陷&#xff0c;同一批次的要有问题就都有问题&#xff0c;别的批次可能就都是好的。因此&#xff0c;我们应尽量隐藏或消除Web服…

php debug用什么意思,phpdebug_backtrace()函数是干什么的?

定义和用法PHP debug_backtrace() 函数生成一个 backtrace(回溯信息)。该函数返回一个关联数组。下面是可能返回的元素&#xff1a;名称类型描述function字符串当前的函数名。line整数当前的行号。file字符串当前的文件名。class字符串当前的类名object对象当前对象。type字符串…