精华内容
下载资源
问答
  • Matlabnum2str函数的用法

    万次阅读 多人点赞 2016-07-06 07:42:41
    matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。   语法格式:  str = num2str(A)  把数组A中数转换成字符串表示形式。  str = num2str(A, precision)  把数组A转换成字符...
    函数功能: 
    把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出。在matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。
      
    语法格式:
      str = num2str(A)
      把数组A中的数转换成字符串表示形式。
      str = num2str(A, precision)
      把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字, 例如0.5345转换后为0.534,1.2345转换后为1.23。即从左边第一个不为0的数开始保留3个数值。
      str = num2str(A, format)
      按format指定格式进行格式化转换,通常'%11.4g'是默认的。

    相关函数: 
    mat2str, int2str, str2num, sprintf, fprintf

    应用举例:
      >> A = [1, 2, 3];
      >> B = num2str(A);
      >> fprintf('%s', B)
      1 2 3>>
      >> C = [1.564, 0.12345];
      >> D = num2str(C, 3)
      D =
      1.56 0.123
      >> D = int32(1)
      D =
      1
      >> num2str(D, '%.6f')
      ans =

      1.000000


    展开全文
  • matlabnum2str函数的使用

    万次阅读 2018-09-26 16:20:15
    先前使用num2str函数只是使用了该函数最常用功能:将数字转换为字符串,但其实该函数还有额外格式上功能,今天使用图像批处理时候发现一对图像文件名有格式上问题需要注意。 比如现在我有一个文件夹,下面...

    参考:
    https://zhidao.baidu.com/question/431413920.html

    问题描述

    先前使用num2str函数只是使用了该函数最常用的功能:将数字转换为字符串,但其实该函数还有额外格式上的功能,今天使用图像批处理的时候发现一对图像的文件名有格式上的问题需要注意。
    比如现在我有一个文件夹,下面有2种图像,我这里是MS和Pan,其中存在一一对应的关系。MS文件名格式为original_01.tif,……,original_id,tif;Pan文件名格式为pan_01.tif,……,pan_id.tif,我们注意到id即使是1-9之间也占了2个字符的位置。如果我们使用如下所示的代码片段遍历整个文件夹,会发现1-9编号的图像不会被访问到。

    files_path = './images/';          % 图像文件夹路径
    img_path_list = dir(strcat(files_path,'*.tif'));
    
    img_num  = length(img_path_list)/2; % Pan和对应多光谱是一对
    
    for  index = 1:img_num
            % 读取Pan和对应的多光谱图像
            gt_name = img_path_list(index).name;% 获取图像名,只得到了多光谱图像
            pan_name = ['pan_',num2str(index),'.tif'];
            disp(gt_name);   %测试
            disp(pan_name);
            disp('=============');
    end
    

    结果如下图所示,我们会发现红色框里面的内容与我们所想要的pan_01.tif格式不一致。
    在这里插入图片描述

    解决方法

    首先介绍一下num2str函数的使用方法,然后我们就知道该如何解决上面的问题了。调用形式如下:
    1)str = num2str(A) ;
    将数字A转换成char类型,值得注意的是A也可以是数字类型的数组。

     a =[1,2,3,4];
     y = num2str(a);
     whos 
    

    2)str = num2str(A, precision)
    A: 数值类型的数组或者是单个的数值
    precision:转换成字符穿保留的数字位数

    a = [1.222222,2.11111111,3.4444444];
    y=num2str(a,2)
    # 结果
    y =
    
        '1.2      2.1      3.4'
    

    3)str = num2str(A, format)
    A: 数值类型的数组或者是单个的数值
    format:指定数字转换为字符串的格式,通常’%11.4g’是默认的。
    也可以指定转换为几位的字符串,不足用0填充,如%02d
    %03d等

    a = 1;
    y1 = num2str(a,'%02d'); % '01'
    y2 = num2str(a,'%03d'); % '001'
    

    看到该函数的第3种调用形式,我们就应该知道如何解决刚开始说的格式不一致的问题了。

    files_path = './images/';          % 图像文件夹路径
    img_path_list = dir(strcat(files_path,'*.tif'));
    
    img_num  = length(img_path_list)/2; % Pan和对应多光谱是一对
    
    for  index = 1:img_num
            % 读取Pan和对应的多光谱图像
            gt_name = img_path_list(index).name;% 获取图像名,只得到了多光谱图像
            pan_name = ['pan_',num2str(index,'%02d'),'.tif'];
            disp(gt_name);   %测试
            disp(pan_name);
            disp('=============');
    end
    
    展开全文
  • Matlabnum2str函数使用

    千次阅读 2020-06-02 10:33:09
    num2str函数将数字转换为字符数组。 语法 s = num2str(A) s = num2str(A,precision) s = num2str(A,formatSpec) 说明 s = num2str(A)将数值数组转换为表示数字字符数组。输出格式取决于原始值量级。num2...

    目录

    语法

    说明

    示例

    1.浮点值的默认转换

    2.指定精度

    3.指定格式

    输入参数

    输出参数

    提示

    算法


    num2str函数将数字转换为字符数组。

    语法

    s = num2str(A)
    
    s = num2str(A,precision)
    
    s = num2str(A,formatSpec)

    说明

    s = num2str(A) 将数值数组转换为表示数字的字符数组。输出格式取决于原始值的量级。num2str 对使用数值为绘图添加标签和标题非常有用。

    s = num2str(A,precision)返回表示数字的字符数组,最大有效位数由 precision 指定。

    s = num2str(A,formatSpec) 将 formatSpec 指定的格式应用到 A 所有元素。

    示例

    1.浮点值的默认转换

    将 pi 和 eps 返回的浮点值转换为字符向量。

    s = num2str(pi)
    
    s = 
    '3.1416'
    
    
    s = num2str(eps)
    s = 
    '2.2204e-16'

    2.指定精度

    指定浮点值的最大有效位数。

    A = gallery('normaldata',[2,2],0);
    s = num2str(A,3)
    s = 2x16 char array
        '-0.433     0.125'
        ' -1.67     0.288'
    

    3.指定格式

    指定浮点值数组的宽度、精度及其他格式。

    A = gallery('uniformdata',[2,3],0) * 9999;
    s = num2str(A,'%10.5e\n')
    s = 2x35 char array
        '9.50034e+03...'
        '2.31115e+03...'

    格式 '%10.5e' 使用具有五个小数位数的指数格式输出各个值,'\n' 输出换行符。

    输入参数

    A - 输入数组

    数值数组

    输入数组,指定为数值数组。

    数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
    复数支持: 

    precision - 有效数字最大位数
    正整数

    输出字符串中的有效数字最大位数,指定为正整数。如果您指定的 precision 超出输入浮点数据类型的精度,则结果可能与您指定的精度的输入值不匹配。结果取决于您的计算机硬件和操作系统。

    数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    formatSpec - 输出字段的格式
    格式化操作符

    输出字段的格式,使用格式化操作符指定。formatSpec 还可以包括普通文本和特殊字符。

    formatSpec 可以是用单引号引起来的字符向量,从 R2016b 开始,也可以是字符串标量。

    格式化操作符

    格式化操作符以百分号 % 开头,以转换字符结尾。转换字符是必需的。您也可以在 % 和转换字符之间指定标识符、标志、字段宽度、精度和子类型操作符。(操作符之间的空格无效,在这里显示空格只是为了便于阅读。)

                                                              

    转换字符

    此表显示了要将数值和字符数据格式化为文本的转换字符。

    值类型 转换 详细信息

    有符号整数

    %d 或 %i

    以 10 为基数

    无符号整数

    %u

    以 10 为基数

    %o

    以 8 为基数(八进制)

    %x

    以 16 为基数(十六进制),小写字母 af

    %X

    与 %x 相同,大写字母 AF

    浮点数

    %f

    定点记数法(使用精度操作符指定小数点后的位数。)

    %e

    指数记数法,例如 3.141593e+00(使用精度操作符指定小数点后的位数)。

    %E

    与 %e 相同,但为大写,例如 3.141593E+00(使用精度操作符指定小数点后的位数)。

    %g

    更紧凑的 %e 或 %f,不带尾随零(使用精度操作符指定有效数字位数。)

    %G

    更紧凑的 %E 或 %f,不带尾随零(使用精度操作符指定有效数字位数。)

    字符或字符串

    %c

    单个字符

    %s

    字符向量或字符串数组。输出文本的类型与 formatSpec 的类型相同。

    可选操作符

    可选标识符、标志、字段宽度、精度和子类型操作符进一步定义了输出文本的格式。

    • 标识符

      处理函数输入参数的顺序。使用语法 n$,其中 n 代表函数调用中其他输入参数的位置。

      示例:('%3$s %2$s %1$s %2$s','A','B','C') 将输入参数 'A''B''C' 输出为:C B A B

      注意:如果输入参数为数组,则不能使用标识符指定该输入参数中的特定数组元素。

    • 标志

      '–'

      左对齐。
      示例:%-5.2f
      示例:%-10s

      '+'

      始终为任何数值输出符号字符(+ 或 –)。
      示例:%+5.2f
      右对齐文本。
      示例:%+10s

      ' '

      在值之前插入空格。
      示例:% 5.2f

      '0'

      在值之前补零以填充字段宽度。
      例如:%05.2f

      '#'

      修改选定的数值转换:

      • 对于 %o%x 或 %X,将输出 00x 或 0X 前缀。

      • 对于 %f%e 或 %E,即使精度为零也将输出小数点。

      • 对于 %g 或 %G,不删除尾随零或小数点。

      示例:%#5.0f

    • 字段宽度

      要输出的最低字符数。字段宽度操作符可以是数字,也可以是指向输入参数的星号 (*)。

      当您将 * 指定为字段宽度操作符时,其他输入参数必须指定打印宽度和要打印的值。宽度和值可以是参数对组,也可以是数值数组中的对组。使用 * 作为字段宽度操作符时,您可以打印具有不同宽度的不同值。

      示例:输入参数 ('%12d',intmax) 等效于 ('%*d',12,intmax)

      示例:输入参数 ('%*d',[2 10 5 100]) 返回 '10 100',其中两个空格分配给 10,五个空格分配给 100。您也可以将字段宽度和值指定为多个参数,如 ('%*d',2,10,5,100) 中所示。

      除非标志另行指定,否则该函数使用空格填充值之前的字段宽度。

    • 精度

      对于 %f%e 或 %E

      小数点右侧的位数
      示例:'%.4f' 将 pi 输出为 '3.1416'

      对于 %g 或 %G

      有效位数
      示例:'%.4g' 将 pi 输出为 '3.142'

      精度操作符可以是数字,也可以是指向参数的星号 (*)。

      当您将 * 指定为字段精度操作符时,其他输入参数必须指定打印精度和要打印的值。精度和值可以是参数对组,也可以是数值数组中的对组。使用 * 作为精度操作符时,您可以打印具有不同精度的不同值。

      将 *.* 指定为字段宽度和精度操作符时,必须以三元组形式指定字段宽度、精度和值。

      示例:输入参数 ('%.4f',pi) 等效于 ('%.*f',4,pi)

      示例:输入参数 ('%6.4f',pi) 等效于 ('%.*f',6,4,pi)

      示例:输入参数 ('%*.*f',6,4,pi,9,6,exp(1)) 返回 '3.1416 2.718282',其中以 9 和 6 分别作为 exp(1) 输出的字段宽度和精度。

    • 子类型

      可以使用子类型操作符将浮点值显示为八进制、十进制或十六进制值。子类型操作符紧邻转换字符之前。此表显示了可使用子类型的转换。

      输入值类型

      子类型和转换字符

      输出值类型

      浮点数

      %bx 或 %bX
      %bo
      %bu

      双精度十六进制、八进制或十进制值
      例如:%bx 将 pi 输出为 400921fb54442d18

      %tx 或 %tX
      %to
      %tu

      单精度十六进制、八进制或十进制值
      例如:%tx 将 pi 输出为 40490fdb

    格式化操作符前或后的文本

    formatSpec 还可以在百分号 % 前添加其他文本,或者在转换字符后添加其他文本。文本可以为:

    • 要打印的普通文本。

    • 无法作为普通文本输入的特殊字符。此表显示了如何在 formatSpec 中表示特殊字符。

      特殊字符

      表示形式

      单引号

      ''

      百分比字符

      %%

      反斜杠

      \\

      警报

      \a

      退格符

      \b

      换页符

      \f

      换行符

      \n

      回车符

      \r

      水平制表符

      \t

      垂直制表符

      \v

      其 Unicode® 数值可以通过十六进制数 N 表示的字符

      \xN

      示例:sprintf('\x5A') 返回 'Z'

      其 Unicode 数值可以通过八进制数 N 表示的字符

      \N

      示例:sprintf('\132') 返回 'Z'

    使用格式化操作符进行转换时要注意的行为

    • 数值转换仅输出复数的实部。

    • 如果指定不适合数据的转换(例如数值的文本转换),MATLAB® 将改写指定的转换并使用 %e

      示例:'%s' 将 pi 转换为 3.141593e+00

    • 如果对整数值应用文本转换(%c 或 %s),MATLAB 会将对应于有效字符代码的值转换为字符。

      示例:'%s' 将 [65 66 67] 转换为 ABC

    数据类型: char | string

    输出参数

    s - 输入数组的文本表示形式
    字符数组

    输入数组的文本表示形式,以字符数组的形式返回。

    提示

    num2str 不接受 formatSpec 输入参数中的位置标识符。例如,num2str([14 15],'%2$X %1$o) 将返回错误。

    位置标识符指定格式化操作符处理函数的输入参数的顺序,而不是处理输入数组的元素的顺序。当您调用 num2str 时,只有一个输入参数包含要转换的数字。

    算法

    num2str 将删除字符数组中的任何前导空格,即使formatSpec包含空格字符标志也是如此。例如,num2str(42.67,'% 10.2f') 返回一个 1×5 字符数组 '42.67'

    展开全文
  • 1.num2str % 2 == to 数字到字符串 %Y = num2str(A); %将数字A转换成Char类型,A也可以将数字类型数组 A = [1,2,3,4]; Y = num2str(A); whos Y; %Name Size Bytes Class Attributes %Y 1x10 20 char %str = ...

    1.num2str

    % 2 == to 数字到字符串
    %Y = num2str(A);
    %将数字A转换成Char类型,A也可以将数字类型的数组
    A = [1,2,3,4];
    Y = num2str(A);
    whos Y;
     %Name      Size            Bytes  Class    Attributes
     %Y         1x10               20  char               
    
    %str = num2str(A, 想保留位数)
    %转换时同时可做约束
    A = 1.11111111;
    Y = num2str(A,2);
    disp(Y);%Y=1.1
    
    %str = num2str(A,format)
    %A: 数值类型的数组或者是单个的数值
    %format:指定数字转换为字符串的格式
    %通常’%11.4g’是默认的。
    %也可以指定转换为几位的字符串,不足用0填充,如%02d
    A = 1;
    y1 = num2str(A,'%02d'); % disp:'01'
    y2 = num2str(A,'%03d'); % disp:'001'
    
    展开全文
  • [Matlab] num2str函数用法

    万次阅读 多人点赞 2019-01-20 20:41:27
    T = num2str(X) T = num2str(X,N) T = num2str(X,FORMAT) T = num2str(X) >> A = [1, 2, 3]; B = num2str(A); disp(B) 1 2 3 功能:把数组X中数转换成字符串表示形式。 T = ...
  • **matlabnum2str函数用法**

    千次阅读 2018-10-23 14:35:07
    (1)str = num2str(A) 把数组A中数转换成字符串表示形式。 (2)str = num2str(A, precision)  把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字, 例如0.1234...
  • matlabstr2num 函数str2double 函数的区别

    万次阅读 多人点赞 2018-09-12 17:03:59
    str2num 函数str2double 函数的相同点与不同点 1. 相同点:当str为一个含数字字符串时,str2num 函数str2double 函数一样。 如: 2. 不同点:当str为多个字符串构成数组时,str2num 函数str2...
  • 遗传算法是一种基于概率鲁棒性很强随机化全局搜索技术,其搜索过程具有一定方向性,...具有直接对结构对象进行操作,不存在求导和函数连续性限定等特点;具有内在隐并行性,和更好全局寻优能力。遗传算...
  • Matlabstr2num函数的使用

    千次阅读 2020-12-14 08:51:03
    str2num函数将字符数组或字符串转换为数值数组。 语法 X = str2num(chr) [X,tf] = str2num(chr) 说明 X = str2num(chr)将字符数组或字符串标量转换为数值矩阵。输入可以包含空格、逗号和分号,以指示单独元素...
  • matlabnum2str

    万次阅读 2017-11-30 19:42:02
    在求导数,积分,方程过程中,难免会遇到一些参数要随着情况有点变化,这时,你就需要能够动态表示出你表达式,Num2str函数是一个相当有用函数,一般配合[]连接符使用,下面将我接触到一些用法写出来。...
  • matlabnum2str的应用

    千次阅读 2014-02-20 16:57:07
    在求导数,积分,方程过程中,难免会遇到一些参数要随着情况有点变化,这时,你就需要能够动态表示出你表达式,Num2str函数是一个相当有用函数,一般配合[]连接符使用,下面将我接触到一些用法写出来。...
  • matlabnum2str的应用(转)

    千次阅读 2018-08-22 12:43:59
    在求导数,积分,方程过程中,难免会遇到一些参数要随着情况有点变化,这时,你就需要能够动态表示出你表达式,Num2str函数是一个相当有用函数,一般配合[]连接符使用,下面将我接触到一些用法写出来。...
  • matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。   语法格式:  str = num2str(A)  把数组A中数转换成字符串表示形式。  str = num2str(A, precision)  把数组A转换成字符串形式...
  • matlabnum2str()语法

    万次阅读 多人点赞 2014-06-28 16:07:10
    matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。   语法格式:  str = num2str(A)  把数组A中数转换成字符串表示形式。  str = num2str(A, precision)  把数组A转换成字符串形式...
  • Matlabnum2hex函数使用

    2020-11-26 13:38:06
    目录 一.语法 二.... 三....1.转换具有小数部分双精度数 ...num2hex将单精度数和双精度数转换为IEEE十六进制格式。...一....hexStr = num2hex(X)使用十六进制数字返回X IEEE®格式表示形式。 如果X...
  • >> f1=@sin f1 =   @sin %创建一个函数sin的函数句柄,便于下面实验需要 ----------------------------------------------------------------------------------------------- >> func2str(f1) ans =
  • 一起来学演化计算-matlab基本函数strcmp num2str 字符串格式 觉得有用话,欢迎一起讨论相互学习~Follow Me strcmp 比较字符串 语法 tf = strcmp(s1,s2) 描述 tf = strcmp(s1,s2)比较s1和s2,如果两者相同,则...
  • matlab函数】——str2func函数的使用

    万次阅读 2016-06-01 20:22:58
    官方点叫法,在网上被称为函数句柄 用途在于,比如你定义了两个函数:strupper()用于寻找字符串大写字母数目;strlower()用于寻找字符串小写字母数目 ...num=myfunc(s)%s为你字符串,直接就调用了s
  • 点击上方蓝字关注“公众号”基于MATLAB编写一个电子万年历本程序主要是一个时钟软件,包括一个时钟表和一个日历。程序自动运行时,显示系统当前日期和时间,日期和时间可以由用户自行更改。本程序由一个主程序...
  • 掐指一算这个程序已经有16岁了……那时,MATLAB的版本是6.0,现在都是2019了……那时,MATLAB安装完占磁盘空间只有600M+,现在2019版完整安装占磁盘28G+……那时,MATLAB最多的运用还是最传统的数值计算,现在,江湖...
  • Matlab中hex2num函数使用

    2020-11-26 11:00:33
    hex2num函数将IEEE 十六进制格式转换为双精度数。 一.语法 X = hex2num(hexStr) hexStr表示十六进制数文本,它可以指定位字符数组、字符向量元胞数组或字符串数组。 ·如果hexStr是字符向量元胞数组或字符串...
  • 一、常微分方程数值求解一般概念首先,凡含有参数,未知函数和未知函数导数 (或微分) 方程,称为微分方程,有时简称为方程,未知函数是一元函数的微分方程称作常微分方程,未知函数是多元函数的微分方程称作偏...
  • Matlab函数的datestr用法 datestr(now) %其中now是获取当前日期和时间 >> datestr(now) %其中now是获取当前日期和时间 ans = 27-Nov-2019 15:04:50 30表示时间输出格式为: ‘yyyymmddTHHMMSS’ (ISO...
  • Num2str函数是一个相当有用函数,一般配合[]连接符使用 1 用于求导数表达式,函数X^2 – y^p + y^t,pt为数值,可以跟随程序不同被赋予不同值。 Diff([‘x^2 – y^’ num2str§ ‘+y^’ num2

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 260
精华内容 104
关键字:

matlab的num2str函数

matlab 订阅