類型是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