Matlab学习02-matlab中的数据显示格式及符号变量

news2024/10/26 11:41:21

目录

一,关系运算和逻辑运算

二,变量

三,数据显示格式 

四,符号运算

1,创建符号变量

2,数值矩阵转换成符号矩阵


一,关系运算和逻辑运算

在matlab中,只要数值不是 0 ,都可以当作真(即正确),把 0 当作假(即错误) 

 对于关系运算符其实是相伴我们时间最长的运算符,从小学就开始学习大于(>),小于(<),大于等于 (\geq ),小于等于 (\leq ),等于 (==),不等于(~=)等运算符,关系运算符基本上搭配着逻辑运算符:与(&),或(|)和非(  ~)一起使用。

例如,从下面的一串数中

找到大于3小于10的数字

二,变量

通过上面的例子可以看到,在matlab中,不需要事先定义一个变量(变量的大小和类型),就可以直接对某变量进行赋值和运算。 在python编程中也是一样,极其方便。

 数值的表示主要有两种:

  1. 十进制法:10,11,12
     
  2. 科学计数法:

    1.024e3(对应十进制法中的 1.024 \times 10^{3}=1024),

    1.024e-3=1.024 \times 10^{-3}=0.001024
  3. 如果数值是虚数,就需要考虑到虚部单位 i 或 j。例如,一个虚数可以如下表示:

    24j

    复数如下表示 ↓

    10+24j   % 10是实数,24j 是虚数,合在一起就是复数

在matlab中,当遇到某个新变量时,会自动产生一个变量并配备一个适当的存储空间,如果变量已存在,则自动进行相应的替换。如下,a的初始值为10,但是后面又重新赋值,变成了24。

 matlab的变量命名规则如下:

  1. 变量名区分大小写,例如A 和 a 是两个不同的变量名,如下,a 依旧是24,并不会变成66。
  2. 变量名的第一个字符必须是英文字母(个人ps:这个就有点严格了,不像其他的编程语言像c++那样还可以是下划线开头),并且变量的长度不能超过31个字符(个人ps:这个可以理解,毕竟起那么长的变量名完全无意义)
  3. 变量名可以包含下划线,数字,但不能包含空格符,标点。
  4. 还有最关键的就是不能和保留字重名,不然就作为保留字来使用,不能进行赋值及运算等操作。在matlab中具体有哪些保留字(关键字),可以在matlab命令行窗口输入"iskeyword"查看,下面选取一部分进行展示:

系统中还有一些特殊的变量,既不是自定义变量也不是保留字(关键字),只是指代了特定的意思,如下:

matlab系统中的特殊变量
ans

默认变量名。如下

pi圆周率
realmin最小的正实浮点数
realmax最大的正实浮点数
bitmax最大正整浮点数
inf无穷大
eps浮点运算相对精度
nan非数,结果不确定。

三,数据显示格式 

当我输入数值 0.3 后,命令行窗口中显示的数据形式和我输入的不同:

这是因为在matlab内部,每一个数据元素都是用双精度数来表示和存储。

如果我想要命令行窗口中显示的数据形式和我输入的数据形式一样,我就可以用format(格式)命令来设置或者是改变数据输出格式。如下👇

接下来通过以下表格来认识不同种类的数据显示格式:
 

matlab中的数据显示格式
格式说明
format短格式(缺省显示格式),只显示5位。例如我输入0.3这两位数,最后只输出0.3000这五位数。↓ ↓ ↓ ↓ ↓
format short和 format一样的作用和效果:
虽然看起来format  short多了个short效果还跟format一样显得很多余,但是这个搭配主要是为了后面的短格式e方式和短格式g方式。format 后面不能直接接上 e 或 g。而format short 可以。
format short e

短格式e方式,数值将以科学计数法的形式进行显示,且保留 4 位小数。这种输出特别适用于很大或很小的数字,使得数字更易于阅读和理解。例如我输入圆周率pi,对应的输出如下:

但它并不强制使用科学计数法。如下👇

总而言之,短格式e方式 在表示数字时,采用了小数点后保留 4 位的科学计数法,非常适合显示数据范围广泛的数值。

format short g

短格式g方式(自动选择最佳表示格式),用于以短格式显示数值,具体来说,它会根据数值的大小自动选择最合适的格式(科学记数法或固定小数点格式),并保留大约 5 位有效数字。就像我之前的例子那样,我就想要输入是0.3,输出也是也是0.3的效果。

format long

长格式,默认双精度数输出可以显示16位,例如我输入圆周率pi,对应的输出如下:

如果想要单精度数输出8位,可以在将数值传给single函数

format long e

长格式e方式。将本来显示16位的数,使用科学计数法的方式表示,如下,还是以圆周率pi为例:

format long g

长格式g方式,例如如下显示

因为数值比较大,所以自动选择了最佳的表示格式:科学计数法。

format compact

压缩格式。变量与数据之间在显示时留空行。它主要影响命令窗口中输出的文本格式,尤其是数组和矩阵的显示方式。

例如,我使用默认的format格式,显示一个矩阵:

接着使用format compact命令,切换成压缩格式:

因此,用此命令后,MATLAB 会减少输出之间的空行,使得输出更加紧凑,节省屏幕空间。这在处理较大数据集时尤其有用,因为它可以更容易地查看输出。

format loose

自由格式,变量与数据之间在显示时留空格。和format  compact相反。

format hex

十六进制格式显示。用于以十六进制格式查看数值在计算机内存中的实际表示,例如我输入圆周率pi,显示如下:

这个命令对于调试和查看浮点数的内部表示非常有用。

如果想要恢复成十进制格式的显示方法,可以在matlab命令行窗口输入format,之后回车即可。

四,符号运算

 在matlab中,符号数学工具箱(Symbolic Math Toolbox)用于实现符号运算。和别的工具箱不同点在于,该工具箱不是基于矩阵的数值分析,而是使用字符串来进行符号分析和运算。

1,创建符号变量

 只要是参与了符号运算的变量都是符号变量,即使是在符号运算中出现的数字也按照符号变量来处理。在matlab中  一般使用 syms 函数建立符号变量。

符号变量不像之前的变量那样,使用符号变量之前需要先声明:

可以看到,syms后面接着的是一个变量列表,并且每个变量之间都是用空格分割(不能使用逗号分隔,不然下一个变量就无法被识别到)

通过 syms 函数创建的变量都是符号变量。

不管是在matlab中,还是在数学中,表达式和方程的区别就在于右边是否有等号“=”,例如:

  • ax+b:是一个表达式
  • ax+b=0:是一个方程式(自变量的值固定)

有符号变量,自然也就有符号表达式和符号方程式,只是在计算机编程中符号“=”表示赋值,如果要表示相等的意思,就需要使用两个等号,即“==”。

  • 符号表达式:f=sin(x)   % 需要注意,自变量必须要提前声明为符号变量
  • 符号方程式:f=sin(x)^2==0

2,数值矩阵转换成符号矩阵

在matlab中,如果要对矩阵进行符·号运算,就必须事先定义符号矩阵。将数值矩阵转换成符号矩阵的调用格式为:sym(矩阵名)

例如,我有一个数值矩阵

现在将其转换成符号矩阵:

明天再学习接下来的部分,有问题请在评论区留言或者是私信我,回复时间不超过一天。

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

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

相关文章

Lucas带你手撕机器学习——岭回归

岭回归&#xff08;Ridge Regression&#xff09; 一、背景与引入 在进行线性回归分析时&#xff0c;我们常常面临多重共线性的问题。多重共线性指的是自变量之间高度相关&#xff0c;这会导致回归系数的不稳定性&#xff0c;使得模型的预测能力降低。传统的线性回归通过最小…

【R + Python】iNaturalist 网站图片下载 inat api

文章目录 一、iNaturalist 简介二、R语言API&#xff1a;rinat三、示例3.1 获取观测数据3.2 绘制可视化图像函数用法 3.4 在区域网格中搜索3.5 下载图片3.51 提取图片 url3.52 下载图片: R语言3.53 下载图片: python 四、获取详细rinat包的文档 一、iNaturalist 简介 &#x1…

微服务网关Zuul

一、Zuul简介 Zuul是Netflix开源的微服务网关&#xff0c;包含对请求的路由和过滤两个主要功能。 1&#xff09;路由功能&#xff1a;负责将外部请求转发到具体的微服务实例上&#xff0c;是实现外部访问统一入口的基础。 2&#xff09;过滤功能&#xff1a;负责对请求的过程…

ReactOS系统中搜索给定长度的空间地址区间中的二叉树

搜索给定长度的空间地址区间 //搜索给定长度的空间地址区间 MmFindGap MmFindGapTopDown PVOID NTAPI MmFindGap(PMADDRESS_SPACE AddressSpace,ULONG_PTR Length,ULONG_PTR Granularity,BOOLEAN TopDown );PMADDRESS_SPACE AddressSpace,//该进程用户空间 ULONG_PTR Length,…

spring整合使用xml方式整合Druid数据源连接池

1.普通的JDBC数据库连接使用 DriverManager 来获取&#xff0c;每次向数据库建立连接的时候都要将 Connection加载到内存中&#xff0c;再验证用户名和密码(得花费0.05s&#xff5e;1s的时间)。需要数据库连接的时候&#xff0c;就向数据库要求 一个&#xff0c;执行完成后再断…

2024 年 MathorCup妈杯A题台风的分类与预测论文首发+代码分享

基于多模型方法的台风分类、路径预测及登陆后降水影响分析 摘要 台风作为全球最严重的自然灾害之一&#xff0c;具有极大的破坏性和复杂性&#xff0c;其预测和分类具有重要意义。本文基于历史台风数据&#xff0c;针对台风的特征分类、路径预测以及登陆后的降水量和风速变化…

linux网络编程5——Posix API和网络协议栈,使用TCP实现P2P通信

文章目录 Posix API和网络协议栈&#xff0c;使用TCP实现P2P通信1. socket()2. bind()3. listen()4. connect()5. accept()6. read()/write(), recv()/send()7. 内核tcp数据传输7.1 TCP流量控制7.2 TCP拥塞控制——慢启动/拥塞避免/快速恢复/快速重传 8. shutdown()9. close()9…

Jvm中的堆和栈

JVM中的堆和栈分别存放不同的数据类型和内容。 ‌栈&#xff08;Stack&#xff09;‌&#xff1a; 存储基本数据类型&#xff08;如int, char, boolean等&#xff09;和对象的引用。存储局部变量、方法调用、程序运行状态、方法返回值等。每个线程都有一个独立的线程栈&#…

【 IC每日一题】

IC每日一题 1 八股题&#xff1a;低功耗设计方法1.1 功耗类型1.1.1 动态功耗1.1.2 静态功耗 1.2 SoC低功耗设计方法1.2.1 基于时钟clock的低功耗设计1.2.2 基于电压域voltage的低功耗设计1.2.3 多阈值库1.2.4 RTL低功耗设计 2 手撕题&#xff1a;序列检测2.1 移位寄存器写法2.2…

ClickHouse 3节点集群安装

ClickHouse 简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 官方网站&#xff1a;https://clickhouse.com/ 项目地址&#xff1a;https://github.com/ClickHouse/ClickHouse 横向扩展集群介绍 此示例架构旨在提供可扩展性。它包括三个节点&#xff…

ffmpeg视频滤镜: 色温- colortemperature

滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温&#xff0c;色温值越大显得越冷&#xff0c;可以参考一下下图&#xff1a; 咱们装修的时候可能会用到&#xff0c;比如选择灯还有地板的颜色的时候&#xff0c;选暖色调还是…

提升产品竞争力之--IPD产品成本篇

在汉捷的咨询过程中&#xff0c;很多企业老总交流时都会提起这个抱怨&#xff1a;“现在产品竞争太激烈了&#xff0c;客户买产品首先看价格&#xff0c;你价格高一点就买别家的啦……” 汉捷咨询在前文谈到“通过定义产品包需求&#xff0c;来提升产品竞争力。差异化开发&…

Maven - Assembly实战

文章目录 PreAssembly插件基本配置使用示例示例1&#xff1a;创建包含依赖的JAR包示例2&#xff1a;自定义描述符示例3&#xff1a;多模块项目打包 实战 _qiwenfile结构pom.xml触发脚本 实战 _nacos输出 zip / tar.gz常见问题及解决方案 Pre Spring Boot - 瘦身大作战&#xf…

Go 版本升级 | 统计 Github 社区 Go 版本分布情况

背景 因为最近三年用的 Go 版本是 1.16&#xff0c;但最新的版本升级到了 1.23&#xff0c;很多依赖的三方包最新文件都已经升级&#xff0c;使用了泛型以及 GO 新版本的特性&#xff0c;导致我只能适配 Go1.16 的三方包旧版本&#xff0c;但这种问题发生的频率多了后&#xf…

解决运行jar错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序

报错 众所周知jdk8以上都没有Javafx java -jar target/myyscan-1.0-SNAPSHOT.jar 错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序解决 https://gluonhq.com/products/javafx/ 去下载/javafx/到本地&#xff0c;选择自己的型号 然后记得指定路径 java --m…

React类组件详解

React类组件是通过创建class继承React.Component来创建的&#xff0c;是React中用于构建用户界面的重要部分。以下是对React类组件的详细解释&#xff1a; 一、定义与基本结构 类组件使用ES6的class语法定义&#xff0c;并继承自React.Component。它们具有更复杂的功能&#xf…

R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍LDA的原理LDA的步骤教程下载数据加载R包导入数据数据预处理数据描述数据切割构建模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve保存模型总结优点:缺…

《性能之巅:洞悉系统、企业与云计算》-观测工具-笔记

《性能之巅&#xff1a;洞悉系统、企业与云计算》第一章&#xff08;绪论&#xff09;和第二章&#xff08;方法&#xff09;的笔记&#xff0c;请参考Part 1&#xff0c;第三章&#xff08;操作系统&#xff09;的笔记&#xff0c;请参考Part 2&#xff0c;本文是第四章——观…

鸿蒙开发融云demo发送文本消息

鸿蒙开发融云demo发送文本消息 融云鸿蒙版是不带UI的&#xff0c;得自己一步步搭建。 这次说如何发送文本消息&#xff0c;并且显示文本消息 一、思路 发送用&#xff1a;IMEngine.getInstance().sendMessage 显示文本&#xff1a; Text(ImUtils.dealMyTextContent(this.ms…

Linux:磁盘深潜:探索文件系统、连接之道与库的奥秘

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 磁盘 1.1 磁盘的物理结构 1.2 磁盘的存储结构 1.3 磁盘的逻辑结构 ​编辑二 文件系统 2.1 简单了解 2.2 inode 2.3 文件描述符&#xff0c;进程与文件系统的关系 ​编辑2…