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博客

相关推荐
fangzhanpeng1681 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心4 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055279 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552710 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝11 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552711 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552712 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552714 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552715 天前
Java I/O核心操作实战
人工智能·1024程序员节
u01030552716 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节