matlab中sym型变量与char型有什么区别?

文献上说可以用单引号来直接设定符号表达式,如fun='sin(x)'
但此时fun显示为char型,而不是sym型。这应该就不叫符号表达式了吧?

char 就是将一般的表达式转换为字符串,但是有几个技巧需要注意的

1、可以直接将cell转换为字符串数据

>> {'MATLAB技术论坛','matlabsky','http://www.matlabsky.com'}

ans =

'MATLAB技术论坛' 'matlabsky' 'http://www.matlabsky.com'

>> char(ans)

ans =

MATLAB技术论坛
matlabsky
http://www.matlabsky.com

2、可以将数值直接转换为ascii码字符

>> char(97)

ans =

a

3、char可以将多个不等长的字符串组合成一个字符数组,而此时此时不能直接使用[]来构建的

>> char('MATLAB技术论坛','matlabsky','http://www.matlabsky.com')

ans =

MATLAB技术论坛
matlabsky
http://www.matlabsky.com

sym 是将字符串或者数字转换为符号变量,用于符号工具箱运算,但是注意符号工具箱很多参数可以直接使用字符串,而未必一定是符号变量,这就是因为在函数的内部默认会执行下sym,将你的字符串转换成,呵呵

1、将字符串转换为符号变量

>> sym('x+8+y*t')

ans =

x + t*y + 8

>> class(ans)

ans =

sym

2、将数值转化为你符号变量,此时会自动分数有理化

>> sym(5.69)

ans =

569/100
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-08
syms是定义符号变量
sym是将字符或者数字转换为字符
比如
syms
x
y
%就是定了符号变量x
y以后x
y就可以直接使用了,有他们运算出来的结果也是符号变量
当然上面的也可以x=sym('x'),y=sym('y')
sys('a+b')%就是将a+b转化为符号表达式
两者有不同的使用场合
比如符号变量涉及的个数比较少,但是使用频率比较高,那么就是使用syms
但是如果个数多,但是使用频率比较少
则使用sym
第2个回答  2015-11-06
char 是将一般的表达式转换为字符串,但是有几个技巧需要注意的1、可直接将cell转换为字符串数据
>> {'MATLAB技术论坛','matlabsky',''}
ans =
'MATLAB技术论坛' 'matlabsky' ''
>> char(ans)
ans =
MATLAB技术论坛
matlabsky

2、可以将数值直接转换为ascii码字符
>> char(97)
ans =
a
3、char可以将多个不等长的字符串组合成一个字符数组,而此时此时不能直接使用[]来构建的>> char('MATLAB技术论坛','matlabsky','')ans =
MATLAB技术论坛
matlabsky

sym 是将字符串或者数字转换为符号变量,用于符号工具箱运算,但是注意符号工具箱很多参数可以直接使用字符串,而未必一定是符号变量,这就是因为在函数的内部默认会执行下sym,将你的字符串转换成,呵呵1、将字符串转换为符号变量
>> sym('x+8+y*t')
ans =
x + t*y + 8
>> class(ans)
ans =
sym
2、将数值转化为你符号变量,此时会自动分数有理化>> sym(5.69)
ans =
569/100
第3个回答  2010-04-26
char是字符串
sym是符号表达式

相关了解……

你可能感兴趣的内容

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