matlab中syms型別的轉換

2022-08-28 14:39:08 字數 1398 閱讀 2293

x = sym('

2*sqrt(5) + pi

') %sym型的數字

s = num2str(double(x)) % 將sym型的數字轉化為char型

>> 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

char 就是將一般的表示式轉換為字串,但是有幾個技巧需要注意的

1、可以直接將cell轉換為字串資料

>> 

ans =

'matlab技術論壇''

matlabsky''

'>> char

(ans)

ans =matlab技術論壇

2、可以將數值直接轉換為ascii碼字元

>> char(97

)ans =a

3、char可以將多個不等長的字串組合成乙個字元陣列,而此時此時不能直接使用來構建的

>> char('

matlab技術論壇

','matlabsky

','')

ans =matlab技術論壇

sym 是將字串或者數字轉換為符號變數,用於符號工具箱運算,但是注意符號工具箱很多引數可以直接使用字串,而未必一定是符號變數,這就是因為在函式的內部缺省會執行下sym,將你的字串轉。

1、將字串轉換為符號變數

>> sym('

x+8+y*t')

ans =x + t*y + 8

>> class

(ans)

ans =sym

2、將數值轉化為你符號變數,此時會自動分數有理化

>> sym(5.69) 

ans =

569/100

matlab中sym與syms的對比

1.若都寫成下列形式,效果一樣 syms x x 1.5 及sym x x 1.5 最終結果都是x為double型的常量,注意 經過x 1,5這句後,就是常量了。2.若寫成下列形式,效果不一樣。syms x x 1.5 及x sym 1.5 前者x變為double型,後者x仍然為sym型,但變數被賦...

matlab中的轉字元

轉義字元 英文叫做 escape characters 應該譯作 被遺忘的字元 或者 逃跑的字元 多好啊。幹嘛搞的那麼學術?如果你要定義乙個字串,可是字串裡面有個單引號,可能就會遇到困難。比如我定義 s 這個句子中有乙個單引號 怎麼吧 matlab會報錯 複製 第乙個單引號和第二個單引號配成一對。得...

SystemVerilog中的型別向下轉換

寫在前面 1 一直以來對這塊理解都不是那麼清楚,只知道個大概,比如只知道 cast做型別向下轉換。今天好好看了下相關的內容,發現自己之前的理解確實有很大的偏差,今天就好好總結下了。2 難得的六一兒童節,祝各位大齡兒童節日快樂。start 1 物件 物件是類的乙個例項。2 控制代碼 指向物件的指標。要...