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

目录

一,关系运算和逻辑运算

二,变量

三,数据显示格式

四,符号运算

1,创建符号变量

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


一,关系运算和逻辑运算

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

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

例如,从下面的一串数中

找到大于3小于10的数字

二,变量

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

数值的表示主要有两种:

  1. 十进制法:

  2. 科学计数法:

    (对应十进制法中的 ),

  3. 如果数值是虚数,就需要考虑到虚部单位 。例如,一个虚数可以如下表示:

    复数如下表示 ↓

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

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

matlab的变量命名规则如下:

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

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

|---------|-------------------------------------------------------------------------------------|
| ans | 默认变量名。如下 |
| pi | 圆周率 |
| realmin | 最小的正实浮点数 |
| realmax | 最大的正实浮点数 |
| bitmax | 最大正整浮点数 |
| inf | 无穷大 |
| eps | 浮点运算相对精度 |
| nan | 非数,结果不确定。 |
[matlab系统中的特殊变量]

三,数据显示格式

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

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

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

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

|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 格式 | 说明 |
| 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中的数据显示格式]

四,符号运算

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

1,创建符号变量

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

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

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

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

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

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

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

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

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

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

例如,我有一个数值矩阵

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

有问题请在评论区留言或者是私信我,回复时间不超过一天。

接下来的部分:

Matlab学习03-符号的替换及运算(接上一篇)-CSDN博客

相关推荐
V+zmm101342 小时前
社区养老服务小程序ssm+论文源码调试讲解
java·服务器·前端·javascript·小程序·毕业设计·1024程序员节
Lyqfor5 小时前
Redis学习:BitMap/HyperLogLog/GEO案例 、布隆过滤器BloomFilter、缓存预热+缓存雪崩+缓存击穿+缓存穿透
java·数据库·redis·学习·算法·缓存·1024程序员节
五条凪16 小时前
从零开始的LeetCode刷题日记:70. 爬楼梯
数据结构·算法·leetcode·职场和发展·1024程序员节
网安_秋刀鱼21 小时前
PHP反序列化&原生类&字符串逃逸&框架反序列化利用
web安全·网络安全·php·1024程序员节
迷茫.4041 天前
第七章 利用CSS和多媒体美化页面
开发语言·javascript·ecmascript·1024程序员节
bitenum1 天前
【C/C++】【三种方法】模拟实现strlen
c语言·开发语言·c++·算法·青少年编程·visualstudio·1024程序员节
网安_秋刀鱼1 天前
JS渗透(安全)
前端·javascript·web安全·网络安全·1024程序员节
Matlab程序猿小助手1 天前
【MATLAB源码-第204期】基于matlab的语音降噪算法对比仿真,谱减法、维纳滤波法、自适应滤波法;参数可调。
开发语言·算法·matlab·cnn·语音识别·智能电视·1024程序员节
V+zmm101341 天前
校园综合服务小程序ssm+论文源码调试讲解
java·小程序·毕业设计·mvc·课程设计·1024程序员节
醇氧1 天前
【skywalking 】More than 15,000 ‘grammar‘ tokens have been presented. 【未解决请求答案】
linux·运维·skywalking·1024程序员节