matlab中str2num和str2double的区别
发布网友
发布时间:2022-04-23 01:34
我来回答
共5个回答
热心网友
时间:2023-06-30 10:14
从一般使用的情况来说,这两个函数没有什么太大的差别。如果非要时候什么差别,在matlab的str2num帮助文件中,有这一段叙述:
大致的意思是说,str2num函数使用eval还书进行输入参数的转换。如果输入参数的字符串中包含函数调用的话,一些副作用会产生。使用str2double可以避免这些副作用。
热心网友
时间:2023-06-30 10:15
%****************************************************************%
% 在MATLAB中str2num和str2double具有相同点和不同点分别如下: %
%****************************************************************%
1.当string为数值字符时:该情况下,两个函数是一样的。
str = '5';
a1 = str2num(str); % a1=5
a2 = str2double(str); % a2=5
2.当string为非数字字符时:该情况下,两个函数是不一样的。
str = 'a';
a1 = str2num(str); % a1=[]
a2 = str2double(str); % a2=NaN, 非数
热心网友
时间:2023-06-30 10:15
除了之前回答人说的字符区别外,补充一点:
str2num可以将矩阵形式如:'1 2 3 4 5 6'直接每一个变量全部转化为数字
使用str2double却不可以,直接输出NaN
所以要是只是将 '' 中的数据转化为数值量,觉得使用str2num 更靠谱一点
热心网友
时间:2023-06-30 10:16
可以说基本没区别。str2num可能是比较早期的函数
热心网友
时间:2023-06-30 10:17
函数名称: str2num
语法格式:
x = str2num('str')
str是一个ASCII字符串表示的数值, 这种调用格式把字符串转换成数值。str也可以是一个字符串矩阵, 这种情况下, 字符串矩阵被转换成一个数值矩阵。
[x, status] = str2num('str')