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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM