matlab中syms类型的转换

类型是sym的数字转化为char型

x = sym('2*sqrt(5) + pi')    %  sym型的数字
s = num2str(double(x))       %  将sym型的数字转化为char型

 

matlab中的sym数据类型转换为double型

>> root=solve('x^2+5*x-10')
 
root =
 
 -5/2+1/2*65^(1/2)
 -5/2-1/2*65^(1/2)

>> class(root)

ans =

sym

>> root=double(root)

root =

    1.5311
   -6.5311

>> class(root)

ans =

double

 

sym型变量与char型的区别与转化

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

 

posted @ 2014-10-22 11:32  雨过江南00  阅读(9121)  评论(0编辑  收藏  举报