matlab的基本使用

matlab的基本使用,可以参考如下的教程:matlab教程

本文针对基本内容进行记录。

matlab简介

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)

新的版本中加入了对C,FORTRAN,C++,JAVA的支持。

matlab2015b版本安装教程参考如下:

Matlab 2015b软件和安装教程

基本介绍

MATLAB环境的行为就像一个超级复杂的计算器。您可以在>>命令提示符下输入命令。

MATLAB是一个解释型环境。换句话说,您给出了一个命令,MATLAB立即执行了该命令。

MATLAB为某些数学符号提供了一些特殊的表达式,例如pi表示π,Inf表示∞,i(和j)表示√-1等。Nan代表“非数字”。

在MATLAB中使用分号;

分号;表示语句结束。但是,如果要隐藏表达式的MATLAB输出,请在表达式后添加分号。

这句话啥意思?

加了分号就会只执行当前语句,如果不加分号直接执行,就会输出结果。

另外,如果没有定义变量,就会默认使用ans来接收数据。

示例:

注释

一个百分号%就是常规注释行;

两个百分比符号%%后面加个空格用于指示注释块;

注释符通常在编辑器中使用。

几个重点关注的运算符

变量名

变量名称由字母组成,后跟任意数量的字母,数字或下划线。

MATLAB是 case-sensitive,也就是大小写敏感。

保存变量

save命令

matlab在关闭后,变量就会消失,属于临时的,我们可以将当前的所有变量保存起来;

save filename;%这里filename是去的文件名

该操作会生成一个.mat数据文件

比如:

之后,可以通过load filename命令可以重新加载数据到工作区。

工作界面

解释如下:

Current Folder
用于访问电脑中的文件。
编辑器
编辑命令脚本的地方。
Command Window
用于输入命令,公式计算等也可以在这里进行。
Workspace
浏览用户创建的数据或者从文件中导入的数据。
这里就是展示所有变量的地方。
matlab变量
在MATLAB环境中,每个变量都是一个数组或矩阵。

请注意-

  • 将变量输入系统后,您以后可以使用它。

  • 变量在使用前必须具有值。

  • 当表达式返回未分配给任何变量的结果时,系统会将其分配给名为ans的变量,该变量可在以后使用。

您可以在同一行上进行多个分配。

脚本文件

MATLAB允许您将一系列命令写入文件并以完整的单元形式执行文件,例如编写函数和调用它。

  • 脚本−脚本文件是扩展名为.m的程序文件。在这些文件中,您编写了一系列要一起执行的命令。脚本不接受输入,也不返回任何输出。它们对工作区中的数据进行操作。

您可以使用MATLAB编辑器或任何其他文本编辑器来创建.m文件。

脚本文件包含多行MATLAB命令和函数调用。您可以通过在命令行中输入脚本名称来运行脚本。

matlab数据类型

MATLAB 不需要任何类型声明或维度语句。每当 MATLAB 遇到一个新的变量名,它就创建变量并分配适当的内存空间。

如果变量已经存在,那么MATLAB将用新内容替换原始内容,并在必要时分配新的存储空间。

MATLAB提供了15种基本数据类型。每种数据类型都存储矩阵或数组形式的数据。此矩阵或数组的大小最小为0×0,并且可以增长到任意大小的矩阵或数组。

MATLAB提供了用于将值从一种数据类型转换为另一种数据的各种函数。

MATLAB提供了各种功能来识别变量的数据类型。

注意,MATLAB支持各种数字类,包括有符号和无符号整数以及单精度和双精度浮点数。默认情况下,MATLAB将所有数值存储为双精度浮点数。

这里complex表示复数。

MATLAB 运算符

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。MATLAB设计为主要在整个矩阵和数组上运行。因此,MATLAB中的运算符既可以处理标量数据,也可以处理非标量数据。MATLAB允许以下类型的基本运算-

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 按位运算符

  • 集合运算符

字符串

在MATLAB中创建字符串非常简单,单引号括起来,注意不是双引号

MATLAB将所有变量视为数组,而字符串则视为字符数组。

让我们使用whos命令来检查上面创建的变量-

向量和矩阵

创建向量

向量是一维数字数组。MATLAB允许创建两种类型的向量-

  • 行向量

  • 列向量

Row vectors(行向量) 通过将元素集括在方括号中并使用空格或逗号定界元素来创建。

Column vectors(列向量) 通过将元素集括在方括号中并使用分号(;)分隔元素来创建。

创建矩阵

一目了然

行+列的组合,其实就是行和列的二维数组。

注意,后面是用方括号[……]括起来,而不是用圆括号。

引用向量的元素

您可以通过多种方式引用向量的一个或多个元素。向量v的第i个分量称为v(i)。例如-

注意,i从1开始。

当引用带有冒号的向量时,例如v(:),将列出向量的所有成分。

MATLAB允许您从向量中选择一系列元素。

也就是说,可以选取范围的数据形成一个新的向量。

MATLAB命令

MATLAB是一个用于数值计算和数据可视化的交互式程序。您可以通过在命令窗口的MATLAB提示符 '>>' 处键入命令来输入命令。

具体用法可直接参考matlab帮助手册

冒号表示法

(:)是在MATLAB中最有用的运算符之一。它用于创建向量,下标数组和指定迭代

如果要创建包含1到10的整数的行向量,请编写-

可以指定一个增量

您可以使用冒号运算符创建索引向量,以选择行,列或数组元素。

注意,不要忘记了括号中间的逗号,

matlab绘图

调用 plot 命令,如下 plot(x, y)

x就是横坐标,y就是纵坐标。

下面的实例将演示这个概念。让我们绘制一个简单的函数y=x,x的取值范围为0到100,增量为5。

注意,减少增量,图形会变得更加平滑。

在图形上添加标题,标签,网格线和缩放

MATLAB 允许您添加标题、沿 x 轴和 y 轴的标签、网格线,并且还可以调整轴以使图形更漂亮。

  • xlabel 和 ylabel 命令产生沿x轴和y轴的标签。

  • title 命令允许您在图形上放置标题。

  • grid on 命令允许您将网格线放在图形上。

  • axis

注意,参数设置要放在plot命令后面执行,否则不生效。

生成子图

示例:两行一列的两个子图

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

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

相关文章

浅谈多人游戏原理和简单实现。

😜作 者:是江迪呀✒️本文关键词:websocket、网络、原理、多人游戏☀️每日 一言:这世上有两种东西无法直视,一是太阳,二是人心! 一、我的游戏史 我最开始接触游戏要从一盘300游戏…

Kafka3.0.0版本——手动调整分区副本示例

目录 一、服务器信息二、启动zookeeper和kafka集群2.1、先启动zookeeper集群2.2、再启动kafka集群 三、手动调整分区副本3.1、手动调整分区副本的前提条件3.2、手动调整分区副本的示例需求3.3、手动调整分区副本的示例 一、服务器信息 四台服务器 原始服务器名称原始服务器ip节…

【MySQL】存储引擎

1.MySQL体系结构 1). 连接层 最上层是一些客户端和链接服务,包含本地 sock 通信和大多数基于客户端 / 服务端工具实现的类似 于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入 了线程池的概念,为通过认证安全接…

A. Increasing and Decreasing

题目:样例: 输入 3 1 4 3 1 3 3 100 200 4输出 1 3 4 -1 100 150 180 200 思路: 思维题,这里我们看一下规律,我们已知a(1),a(n) ,又因为 数列b 应该是递减的,而观察规律可知 &#x…

活动预告 | 龙智、紫龙游戏与JFrog专家将出席龙智DevSecOps研讨会,探讨企业大规模开发创新

2023年9月8日(周五)下午13:30-19:45,龙智即将携手Atlassian与JFrog在上海共同举办主题为“大规模开发创新:如何提升企业级开发效率与质量”的线下研讨会。 在此次研讨会上,龙智高级咨询顾问、Atlassian认证专家叶燕秀…

数据库CPU飙高问题定位及解决

在业务服务提供能力的时候,常常会遇到CPU飙高的问题,遇到这类问题,大多不是数据库自身问题,都是因为使用不当导致,这里记录下业务服务如何定位数据库CPU飙高问题并给出常见的解决方案。 CPU 使用率飙升根因分析 在分…

动态规划之连续乘积最大子数组 连续和最大子数组

一. 连续和最大子数组 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,…

YOLOv5算法改进(8)— 替换主干网络之MobileNetV3

前言:Hello大家好,我是小哥谈。MobileNetV3是由Google团队在2019年提出的一种卷积神经网络结构,其目标是在保持高性能的同时减少计算延时。MobileNetV3相比于前一版本(MobileNetV2)在性能上有明显的提升。根据原论文&a…

jvm-堆

1.堆的核心概念 一个jvm实例只存在一个堆内存,堆也是java内存管理核心区域 java堆区在jvm启动的时候即被创建,其空间大小就确定了,是jvm管理最大的一块内存空间; 堆可以处于物理上不连续的内存空间,但在逻辑上它应该被…

使用Python对数据的操作转换

1、列表加值转字典 在Python中,将列表的值转换为字典的键可以使用以下代码: myList ["name", "age", "location"] myDict {k: None for k in myList} print(myDict) 输出: {name: None, age: None, loca…

vue中html引入使用<%= BASE_URL %>变量

首先使用src相对路径引入 注意: js 文件放在public文件下 不要放在assets静态资源文件下 否则 可能会报错 GET http://192.168.0.113:8080/src/assets/js/websockets.js net::ERR_ABORTED 500 (Internal Server Error) 正确使用如下:eg // html中引…

百亿级访问量,如何做缓存架构设计

说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如阿里、网易、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题:: 分布式缓存系统,如何架构?百亿级访…