数据类型 _1:数值类型、字符串、函数句柄、Map

matlab中的基础数据类型主要包括 数值类型字符串结构体单元数组函数句柄等。

1. 数值类型

数值类型按数值在计算机中存储方式 进行分类,主要有 整数单精度浮点数双精度浮点数

matlab自动 进行内存的分配与回收

默认 情况下,matlab对所有数值 按照双精度浮点数类型进行存储。可以通过下面的转换函数将双精度浮点数转化为整数类型进行使用。

单、双精度的存储位宽、数值范围、数值精度如下

单精度浮点数 不能与 整数类型 直接相乘。用 realmax、realmin 求浮点数类型数据可表达的范围:

Matlab 复制代码
str1 = '双精度浮点数的范围: \t%g 到 %g\t 和 \t%g 到 %g\t \n';
str2 = '单精度浮点数的范围: \t%g 到 %g\t 和 \t%g 到 %g\t  \n';
fprintf(str1,-realmax,-realmin,realmin,realmax);
fprintf(str2,-realmax('single'),-realmin('single'),realmin('single'),realmax('single'));

eps在0处近似为2.2e-16。

复数complex

复数由实部和虚部组成。在matlab中,字符i和j默认作为虚部的标志。

Matlab 复制代码
z = complex(a,b)   %构造a为实部,b为虚部的复数
real(z)            %z的实部,即a
imag(z)            %z的虚部,即b
abs(z)             %z的模
conj(z)            %z的共轭复数
angle(z)           %z的辐角
无穷量inf和非数值量nan

使用 inf 或 -inf 表示正无穷和负无穷,一般由运算溢出产生。nan 表示非数值量,一般由类似 0/0 或 inf/inf类型的非正常运算产生。

非数

非数表示数值超出运算范围,非数的实部用 nan 表示,虚部用 Inf 表示

2. 字符与字符串

字符存储的是ASCII码,显示的是文本。

Matlab 复制代码
string = 'good boy'
whos
s1 = abs(string)
s2 = abs(string + '0')

3. 函数句柄

函数句柄可实现对函数的间接调用。@为创建函数句柄的操作符,对matlab库函数的.m文件或自主编写的内部函数,都可以创建函数句柄。格式为

Matlab 复制代码
function_handle = @function_filename
%function_filename ------是函数对应的 .m 文件或内部函数的名称
%@------句柄创建操作符
%function_handle------此变量保存了函数句柄,并在后续运算中作为数据流进行传递
Matlab 复制代码
f_handle = @sin
x = 0:0.25*pi:pi
f_handle(x)      % 实现对sin函数的调用
f1 = functions(f_handle)   %返回一个存储函数名称、函数类型、 .m文件位置的结构体
t = func2str(f_handle)   %将函数句柄转换为函数名称的字符串
f = str2func(t)          %将字符串代表的函数转换为函数句柄

4. map

map将key(键)和value (值)一一对应。

Matlab 复制代码
%创建
mapObj = containers.Map({key1,key2,...},{val1,val2,...});  %创建
mapObj = containers.Map({'key1','key2',...},{val1,val2,...});  %字符串创建
newMap = containers.Map()  %创建空Map对象,然后keys和values 对其赋值

rainfallMap = containers.Map(k,v)  %k,v分辨是键和值的变量,大小相等
%查看和读取对象
k = keys(rainfallMap)                    %全部键
v = values(rainfallMap);                       %全部值
vs = values(rainfallMap,{'jan','dec','annual'})  %对多个键访问
%访问
name = rainfallMap('may')  %通过键访问值
%删除
remove(rainfallMap,'jan')    %移除'jan'代表的键值
%添加
rainfallMap('maj') = 33      % 添加键值

%对键名修改:首先删除建模和对应的值,添加新键名和其值

5.数据类型识别与转换

数据类型识别函数

数据类型转换函数

相关推荐
软件算法开发10 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
机器学习之心15 小时前
LSBoost增强算法回归预测+SHAP可解释分析+新数据预测(多输入单输出)MATLAB代码
算法·matlab·回归·lsboost·shap可解释分析
有点傻的小可爱16 小时前
【MATLAB】新安装并口如何实现能通过PTB启用?
开发语言·windows·经验分享·matlab
lilili也18 小时前
一些函数的记录
matlab
机器学习之心20 小时前
随机森林回归预测+SHAP可解释分析+新数据预测(多输入单输出)MATLAB代码
随机森林·matlab·回归·shap可解释分析
IT猿手20 小时前
MATLAB模拟四旋翼无人机飞行,机翼可独立旋转
开发语言·matlab·无人机
我爱C编程1 天前
基于OMP正交匹配追踪和稀疏字典构造的杂波谱恢复算法matlab仿真
算法·matlab·omp·正交匹配追踪·稀疏字典构造·杂波谱恢复
英英_1 天前
优化 MATLAB MapReduce 程序性能:从基础调优到进阶提速
开发语言·matlab·mapreduce
英英_1 天前
MATLAB MapReduce 从入门到实战:大数据处理完整教程
开发语言·matlab·mapreduce
暴躁网友w1 天前
UKF-IMM 与粒子滤波 IMM:计算效率 Matlab 仿真对比
开发语言·matlab