matlab中num2str函数如何使用?

如题所述

matlab中num2str函数的功能是:把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出。

在matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息,从中可以看出num2str的使用方法有三种,以下示例摘自MATLAB中num2str参考页,MATLAB自带有函数的使用说明,函数用法可以直接函数介绍和示例。

1、str = num2str(A)

把数组A中的数转换成字符串表示形式。

例子:

str = num2str(pi)
str =

3.1416

str = num2str(eps)
str =

2.2204e-16

2、str = num2str(A,precision)

把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字。

例子:

A = gallery('normaldata',[2,2],0);
precision = 3;
str = num2str(A,precision)
str =

-0.433     0.125
-1.67     0.288

3、str = num2str(A,formatSpec)

按format指定格式进行格式化转换,通常'%11.4g'是默认的。

例子:

A = gallery('uniformdata',[2,3],0) * 9999;
formatSpec = '%10.5e\n';
str = num2str(A,formatSpec)
str =

9.50034e+03
6.06782e+03
8.91210e+03
2.31115e+03
4.85934e+03
7.62021e+03

扩展资料:

matlab中把字符串转换数值,可以使用str2num函数。语法格式:

1、x = str2num('str')

str是一个ASCII字符串表示的数值, 这种调用格式把字符串转换成数值。str也可以是一个字符串矩阵, 这种情况下, 字符串矩阵被转换成一个数值矩阵。

例子:

>> str2 = '1.0e5';

>> b = str2num(str2)

b =

100000

2、[x, status] = str2num('str')

附加的返回值status用于获取转换状态, status等于逻辑1表示转换成功, 等于0表示转换失败。

例子:

>> str='123';

>> [a, ok] = str2num(str)

a =

123

ok =

1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-25

在matlab中num2str的作用是将数字转换为字符数组。

它的语法为:

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

其中,

s = num2str(A) 将数值数组转换为表示数字的字符数组。输出格式取决于原始值的量级。
s = num2str(A,precision) 返回表示数字的字符数组,最大有效位数由 precision 指定。
s = num2str(A,formatSpec) 将 formatSpec 指定的格式应用到 A 所有元素。

扩展阅读:

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

参考资料: MathWorks中国 - MATLAB官方支持文档 - num2str

第2个回答  推荐于2017-09-30
  Matlab函数num2str
  在matlab中,无论是内建函数还是工具箱函数, 2很常见, 这可能是因为2英文two和to发音相同。而2写起来也比较简单。 所以很多转换类函数都用2来命名而非to。比如number to string, 不是命名为numTostr而num2str。

  函数功能: 把数值转换成字符串, 转换后可以使用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
  
第3个回答  推荐于2017-09-26
对于你的问题常用其中的两个fminunc和fminsearch ,从结果可以看出fminunc效果好些clcclear%初建目标函数
fun=@(x)3*x(1).^2+2*x(1).*x(2)+x(2).^2;%初值x0=[0.1 0.1];%优化选项options=optimset('largescale','off','display','none','tolfun',1e-20,'tolx',1e-10);
%调用优化函数fminunc
[x,fval]=fminunc(fun,x0,options);
display(['使用fminunc函数,计算得:在x1=' num2str(x(1)) ',x2=' num2str(x(2)) ',取得目标函数最小值' num2str(fval)])
%调用fminsearch
[x,fval]=fminsearch(fun,x0,options);
disp(char(13))
display(['使用fminsearch函数,计算得:在x1=' num2str(x(1)) ',x2=' num2str(x(2)) ',取得目标函数最小值' num2str(fval)])
运行结果为(根据不同的初值,可能得到不同的结果)本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网