類型是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碼字符
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