Matlab:表达式

news2024/11/26 9:51:28

Matlab:表达式

  • 变量
  • 数字
  • 矩阵运算符
  • 数组运算符
  • 函数
  • 表达式示例

变量

与大多数其他编程语言一样,MATLAB® 语言提供数学表达式,但与大多数编程语言不同的是,这些表达式涉及整个矩阵。

MATLAB 不需要任何类型声明或维度说明。当 MATLAB 遇到新的变量名称时,它会自动创建变量,并分配适当大小的存储。如果此变量已存在,MATLAB 会更改其内容,并根据需要分配新存储。例如,

num_students = 25
创建一个名为 num_students 的 1×1 矩阵,并将值 25 存储在该矩阵的单一元素中。要查看分配给任何变量的矩阵,只需输入变量名称即可。

变量名称包括一个字母,后面可以跟随任意数目的字母、数字或下划线。MATLAB 区分大小写;它可以区分大写和小写字母。A 和 a 不是相同变量。

尽管变量名称可以为任意长度,MATLAB 仅使用名称的前 N 个字符(其中 N 是函数 namelengthmax 返回的数字),并忽略其余字符。因此,很重要的一点是,应使每个变量名称的前 N 个字符保持唯一,以便 MATLAB 能够区分变量。

N = namelengthmax
N =
63

数字

MATLAB 使用传统的十进制记数法以及可选的小数点和前导加号或减号来表示数字。科学记数法使用字母 e 来指定 10 次方的缩放因子。虚数使用 i 或 j 作为后缀。下面给出了合法数字的一些示例:

3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5i
MATLAB 使用 IEEE® 浮点标准规定的 long 格式在内部存储所有数字。浮点数的有限精度约为 16 位有效小数位数,有限范围约为 10-308 至 10+308。

以双精度格式表示的数字的最大精度为 52 位。任何需要 52 位以上的双精度数字都会损失一定精度。例如,下面的代码因截断而将两个不相等的值显示为相等:

x = 36028797018963968;
y = 36028797018963972;
x == y
ans =
1
整数的可用精度为 8 位、16 位、32 位和 64 位。将相同数字存储为 64 位整数会保留精度:
x = uint64(36028797018963968);
y = uint64(36028797018963972);
x == y
ans =
0
MATLAB 软件存储复数的实部和虚部。该软件根据上下文采用不同方法来处理各个部分的量值。例如,sort 函数根据量值进行排序,如果量值相等,则根据相位角度排序。

sort([3+4i, 4+3i])
ans =
4.0000 + 3.0000i 3.0000 + 4.0000i
这是由相位角度所致:

angle(3+4i)
ans =
0.9273
angle(4+3i)
ans =
0.6435
“等于”关系运算符 == 要求实部和虚部相等。其他二进制关系运算符 >、<、>= 和 <= 忽略数字的虚部,而仅考虑实部。

矩阵运算符

表达式使用大家熟悉的算术运算符和优先法则。
在这里插入图片描述

数组运算符

如果矩阵不用于线性代数运算,则成为二维数值数组。数组的算术运算按元素执行。这意味着,加法和减法运算对数组和矩阵都是相同的,但乘法运算不相同。MATLAB 的乘法数组运算表示法中包含点,也就是小数点。

运算符列表包括
在这里插入图片描述
如果使用数组乘法将丢勒的幻方矩阵自乘

A.*A
则会生成一个数组,该数组包含介于 1 至 16 之间的整数的平方,并且以不常见的顺序排列:

ans =
256 9 4 169
25 100 121 64
81 36 49 144
16 225 196 1
构建表
数组运算对构建表非常有用。假定 n 为列向量

n = (0:9)';
然后,

pows = [n n.^2 2.^n]
构建一个平方和 2 次幂的表:

pows =
0 0 1
1 1 2
2 4 4
3 9 8
4 16 16
5 25 32
6 36 64
7 49 128
8 64 256
9 81 512
初等数学函数逐元素处理数组元素。因此

format short g
x = (1:0.1:2)';
logs = [x log10(x)]
构建一个对数表。

logs =
1.0 0
1.1 0.04139
1.2 0.07918
1.3 0.11394
1.4 0.14613
1.5 0.17609
1.6 0.20412
1.7 0.23045
1.8 0.25527
1.9 0.27875
2.0 0.30103

函数

MATLAB 提供了大量标准初等数学函数,包括 abs、sqrt、exp 和 sin。生成负数的平方根或对数不会导致错误;系统会自动生成相应的复数结果。MATLAB 还提供了许多其他高等数学函数,包括贝塞尔函数和 gamma 函数。其中的大多数函数都接受复数参数。有关初等数学函数的列表,请键入

help elfun
有关更多高等数学函数和矩阵函数的列表,请键入

help specfun
help elmat
某些函数(例如,sqrt 和 sin)是内置函数。内置函数是 MATLAB 核心的一部分,因此这些函数非常高效,但计算详细信息是不可访问的。其他函数使用 MATLAB 编程语言实现,因此可以访问其计算详细信息。

内置函数与其他函数之间存在一些差异。例如,对于内置函数,您看不到代码。对于其他函数,您可以看到代码,甚至可以根据需要修改代码。

一些特殊函数提供了有用的常量值。
在这里插入图片描述
通过将非零值除以零或计算明确定义的溢出(即超过 realmax)的数学表达式,会生成无穷值。通过尝试计算 0/0 或 Inf-Inf 等没有明确定义的数值的表达式,会生成非数字。

函数名称不会保留。您可以使用如下新变量覆盖任何函数名称

eps = 1.e-6
并在后续计算中使用该值。可以使用以下命令恢复原始函数

clear eps

表达式示例

您已经学习了 MATLAB 表达式的几个示例。下面是一些其他示例及生成的值:

rho = (1+sqrt(5))/2
rho =
1.6180

a = abs(3+4i)
a =
5

z = sqrt(besselk(4/3,rho-i))
z =
0.3730+ 0.3214i

huge = exp(log(realmax))
huge =
1.7977e+308

toobig = pi*huge
toobig =
Inf

该博文为原创文章,未经博主同意不得转。
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/127756281

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

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

相关文章

PyCharm 这40个使用技巧真棒

大家好&#xff0c;今天分享 PyCharm 40个使用技巧&#xff0c;内容有点长&#xff0c;喜欢欢迎收藏、分享、点赞。 废话不多说。我们开始吧&#xff01; 文章目录技术提升第一章&#xff1a;运行调试篇1\. 通过指定参数&#xff0c;执行程序2\. 程序结束了&#xff0c;照样可…

Vue 3 属性绑定细节

在ButtonDemo中默认会把传给这个组件上的所有事件,都传递给Button中的最外层的元素 不管这个最外层的元素是什么!比如下图:在button外面还有一个div,那么传递给最外层的就应该是div,而不是button 最外层为div 想让组件的某一个部分,点击时被触发click事件 现在传递给最…

LeetCode-764. 最大加号标志【动态规划,二维数组】

LeetCode-764. 最大加号标志【动态规划&#xff0c;二维数组】题目描述&#xff1a;解题思路一&#xff1a;动态规划。用一个n*n的数组记录每个点上下左右方向上为1的最小值。最后ans返回数组中最大的加号。解题思路二&#xff1a;优化1。解题思路三&#xff1a;0题目描述&…

word制作多个单位联合发文的文件头

一、前言 word制作多个单位联合发文的文件头&#xff0c;好像不难。但是做起来&#xff0c;却发现&#xff0c;自己的只是储备还是不够&#xff0c;居然花费了1个多小时才搞定....哎 二、遇到问题 开始思路是想使用【分栏】来操作&#xff0c;但是不得其法&#xff0c;搞了一…

驱动开发基础知识

文章目录记录驱动开发前的知识储备工作一、驱动开发环境搭建二、驱动开发框架&#xff08;重点&#xff1a;WDF框架&#xff09;1、前世今生&#xff08;1&#xff09;Vista简介&#xff08;2&#xff09;发展历史2、基于框架的驱动程序的 WDM&#xff08;1&#xff09;驱动程序…

linux(1.nginx基础 2.使用Nginx负载均衡及动静分离)

一.nginx基础 目录 1. Nginx使用场景2. Nginx中的进程 2.1 Nginx中的多进程模型2.2 多进程模式的优点&#xff1a;2.3 缓存3. Ngnix的负载均衡策略 3.1 轮询法3.2 加权轮询3.3 原地址哈希3.4 最小连接数法3.5 Fair3.6 url_hash3. Nginx配置文件4. Nginxtomcat 集群示例 4.1 下…

c++学习-STL常用函数

第八部分-STL常用函数 5.1 常用遍历算法 5.1.1 for_each 5.1.2 transform 5.2 常用查找算法 5.2.1 find 5.2.2 find_if 5.2.3 adjacent_find 面试题中如果出现查找相邻重复元素&#xff0c;记得用stl中的adjacent_find算法 5.2.4 binary_search 5.2.5 count 5.2.6 count_if 5.…

【双十一特辑】爱心代码(程序员的浪漫)-李峋

前言 最近《点燃我温暖你》中李峋的爱心代码超级火&#xff0c;看着特别心动&#xff0c;这不&#xff0c;光棍节快到了&#xff0c;给兄弟们教学一波爱心代码&#xff0c;赶在双十一前表白&#xff0c;让这个双十一不在是孤单一个人&#xff01;目录 前言 C语言简易爱心代码…

final 关键字 —— 限制继承、限制虚函数重写

final 关键字有两个作用&#xff0c;一个是限制继承&#xff0c;一个是限制重写。 目录 1、限制继承 (1) 基类的构造函数设为私有 (2) 基类类名后面加上 final 关键字修饰 2、限制虚函数重写 1、限制继承 限制继承有两种方式&#xff0c;一种是将基类的构造函数设为私有&am…

谷粒商城-基础篇(详细流程梳理+代码)

文章目录前言一、项目环境搭建1.1、安装virtualbox以及vagrant1.2、Docker安装MySQL与Redis1.3、前后端开发工具统一配置1.4、Git工具安装与配置1.5、Gitee创建仓库与IDEA导入1.6、构建微服务模块1.7、编写.gitignore文件&#xff08;忽略上传gitee文件配置&#xff09;1.8、数…

【云原生之K8s】 K8s资源控制及探针检查

文章目录一、资源限制1.资源限制的使用2.request资源&#xff08;请求&#xff09;和limit资源&#xff08;约束&#xff09;3.Pod和容器的资源请求和限制4.官方文档示例5.资源限制实操5.1 编写yaml资源配置清单5.2 释放内存&#xff08;node节点&#xff0c;以node1为例&#…

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

人生苦短&#xff0c;我用Python前因后果先上效果准备工作证件照尺寸调整证件照背景调整各种背景颜色图片完整代码结尾最后前因后果 事情是这样的 晚上我正在聚精会神写代码&#xff08;打游戏~&#xff09; 突然&#xff0c;收到学妹给我发来的消息 还有一张自拍照 而且是…

基于stm32单片机的超声波测距显示倒车雷达提醒报警系统Proteus仿真

资料编号&#xff1a;145 下面是相关功能视频演示&#xff1a; 145-基于stm32单片机的超声波测距显示倒车雷达提醒报警系统Proteus仿真&#xff08;源码原理图仿真论文&#xff09;设计内容 本次嵌入式课程设计综合实验的内容为倒车测距系统。以proteus keilU5为模拟硬件基础…

Android studio中控件TextView学习

1、TextView 基础属性 layout_ width; 组件的宽度layout. _height: 组件的高度id: 为TextView设置- -个组件idtext; 设置显示的文本内容textColor: 设置字体颜色textStyle: 设置字体风格&#xff0c;三个可选值: n normal(无效果)&#xff0c;bold(加粗)&#xff0c; italic(斜…

Springboot @Async 失效的坑

异步应用场景 为了提高接口的响应性能&#xff0c;当业务非常复杂的情况下&#xff0c;可以将一部分跟业务关联性不是特别强的逻辑进行异步处理。如日志记录、短信发送、增加积分等。通常而言会将此类业务逻辑通过异步的方式进行处理&#xff0c;从而加快接口的响应速度&#…

【HMS Core】集成多种HMS Core服务,让APP成为旅行小助手

1 介绍 Duration: 5:00 总览 旅行者能够使用该应用在华为地图上搜索附近名胜景点、游玩去处或是附近ATM、餐馆和医院等。 服务场景描述 Tourism应用通过集成机器学习服务的地标识别能力&#xff0c;能够提供旅行过程所有必要的信息&#xff0c;还可以识别图片中的地标建筑。…

[Python]字符串常用操作与方法

前言 系列文章目录 [Python]目录 文章目录前言1. 字符串的常用操作1.1 格式化输出1.1.1 %1.1.1.1 语法1.1.1.2 字符串格式操作符(%)的格式化符号%c&#xff1a;以字符的形式格式化输出整数或长度为1的字符串%r&#xff1a;将数据格式化为供解释器读取的形式%s&#xff1a;将数据…

一文带你精通Git

一文带你精通git回顾git对象树对象提交对象重新认识git 基本命令git 高层命令分支&#xff08;特别重要&#xff09;分支冲突&分支合并git 存储git 后悔药远程分支和团队协作远程仓库冲突回顾 博主之前直接已经写过了git的相关基础博客了,老铁可以自行去查看。本篇文章的目…

【分割链表】

目录&#xff1a;前言一、题目描述二、算法思想&#xff08;一&#xff09;值交换1、题目解析2、代码实现&#xff08;二&#xff09;重构链表1、题目解析2、代码实现总结前言 大家好&#xff0c;今天我们来了解一下leetcode中比较简单的单链表问题。 一、题目描述 题目描述如…

MySQL事务隔离级别

MySQL的四种隔离级别 读未提交读提交可重复读串行化 隔离级别可以通过MySQL的视图来实现。 读未提交 读未提交是一个事务仅修改了数据但还未提交时&#xff0c;本次修改可以便可被其他事务查询到变更后的值。读未提交隔离级别下&#xff0c;其他事务进行查询时&#xff0c;直…