matlab符號運算帶入數值,大家好matlab中符號運算和數值運算的區別是什麼

2021-05-16 15:25:14 字數 3660 閱讀 3113

1樓:冰楓葉落

subs()函式,我也是今天才看到的

subs(a+b,a,2)就是把a+b裡面的a用2替換

subs(x/y,y,3)就是把x/y裡面的y用3替換

大家好matlab中符號運算和數值運算的區別是什麼

2樓:shine戚七七

兩者的根本區別是 : 數值計算的表示式、矩陣變數中不允許有未定義的自由變數 , 而符號計算可以含有未定義的符號變數。對於一般的程式設計軟體如 c, c + + 等語言實現數值計算還可以 , 但是實現符號計算並不是一件容易的事。

而 matlab 自帶有符號工具箱 symbolic math tooibox , 而且可以藉助數學軟體 maple, 所以 matlab 也具有強大的符號運算功能。

一、 字串的定義

matlab 用單引號來定義字串。例如在指令視窗輸入:a= 』hello, this is a string』 ,則會輸出 a=hello, this is a string

二、 定義符號變數與符號表示式

在 matlab 指令視窗,輸入的數值變數必須提前賦值,否則會提示出錯。只有符號變數可以在沒有提前賦值的情況下合法地出現在表示式中,但是符號變數必須預先定義。

在 matlab 的資料型別中 , 字元型與符號型是兩種重要而又容易混淆的資料型別。

符號變數是利用指令 sym 和 syms 來建立 .

它們的使用格式為 :

s = sym( ′ a ′ ) 定義單個符號變數 s

syms a b c 定義多個符號變數 a, b, c

syms 命令的使用要比 sym 簡便 , 它一次可以定義多個符號變數 , 而且格式簡練。因此一般用 syms 來建立符號變數。注意各符號變數之間必須是空格隔開。

語句 syms x y z w

表示將 x,y,z 和 w 定義為符號變數。如果再輸入: p=sin(x)+cos+z+2*w, 是執行後 p 就表示表示式 sin(x)+cos(x)+z+2*w

三、 將數值表示式轉換為符號表示式

命令 sym 可將數值表示式轉成符號表示式,其語法為:

sym(『 數值表示式 』)

例如,在指令視窗輸入:

p=sym(『2+sqrt(5)』)

則得到輸出:

p=2+sqrt(5) ,此時p是一個符號表示式,而不是一個數值表示式。

四、 計算符號表示式的值

如果要計算前面的符號表示式p的值,則需要用 eval_r(p) 來計算p的近似值。即可輸入:

eval_r(p)

得到輸出: ans=4.2361

由於 p=sym(『2+sqrt(5)』) 實際上是一個符號常數,所以也可以用 vpa 命令計算。

五、數值變數、符號變數、字元變數的相互轉化

數值變數、符號變數、字元變數的相互轉化在 matlab 工作空間中 , 數值、符號和字元是 3 種主要的資料型別。

matlab 可以利用命令來實現不同型別資料間的轉換。

3樓:刺忌輾

符號計算 存放的是精確資料,耗儲存空間 ,執行速度慢,但結果精度高; 數值計算則是以一定精度來計算的,計算結果有誤差,但是執行速度快。

4樓:匿名使用者

概念其實沒那麼複雜。

一般性講,數學計算包括數值計算(numerical calculation)和符號計算(symbolic calculation)。數值計算針對的是實際的數字,符號計算中包含數學符號,你也可以把符號計算理解為符號表示式及其推導,例如:

數值計算(numerical calculation):3x7+8x9-9x9 最後結果是12

符號計算(symbolic calculation):8x+3x-7x+666 最後結果是666+4x

matlab 符號運算數值代替問題,符號識別並賦值。

5樓:匿名使用者

x1,x2已經是符號變數了吧,那麼可以直接用subs函式代入麼?

subs(f,,)

matlab中數值運算與符號運算有何異同

6樓:淚之夢幻

數學計算有數值計算與符號計算之分。這兩者的根本區別是 : 數值計算的表示式、矩陣變數中不允許有未定義的自由變數 , 而符號計算可以含有未定義的符號變數。

對於一般的程式設計軟體如 c, c + + 等語言實現數值計算還可以 , 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic math tooibox , 而且可以藉助數學軟體 maple, 所以 matlab 也具有強大的符號運算功能。

一、 字串的定義

matlab 用單引號來定義字串。例如在指令視窗輸入:a= 』hello, this is a string』 ,則會輸出 a=hello, this is a string

二、 定義符號變數與符號表示式

在 matlab 指令視窗,輸入的數值變數必須提前賦值,否則會提示出錯。只有符號變數可以在沒有提前賦值的情況下合法地出現在表示式中,但是符號變數必須預先定義。

在 matlab 的資料型別中 , 字元型與符號型是兩種重要而又容易混淆的資料型別。

符號變數是利用指令 sym 和 syms 來建立 .

它們的使用格式為 :

s = sym( ′ a ′ ) 定義單個符號變數 s

syms a b c 定義多個符號變數 a, b, c

syms 命令的使用要比 sym 簡便 , 它一次可以定義多個符號變數 , 而且格式簡練。因此一般用 syms 來建立符號變數。注意各符號變數之間必須是空格隔開。

語句 syms x y z w

表示將 x,y,z 和 w 定義為符號變數。如果再輸入: p=sin(x)+cos+z+2*w, 是執行後 p 就表示表示式 sin(x)+cos(x)+z+2*w

三、 將數值表示式轉換為符號表示式

命令 sym 可將數值表示式轉成符號表示式,其語法為:

sym(『 數值表示式 』)

例如,在指令視窗輸入:

p=sym(『2+sqrt(5)』)

則得到輸出:

p=2+sqrt(5) ,此時p是一個符號表示式,而不是一個數值表示式。

四、 計算符號表示式的值

如果要計算前面的符號表示式p的值,則需要用 eval_r(p) 來計算p的近似值。即可輸入:

eval_r(p)

得到輸出: ans=4.2361

由於 p=sym(『2+sqrt(5)』) 實際上是一個符號常數,所以也可以用 vpa 命令計算。

五、數值變數、符號變數、字元變數的相互轉化

數值變數、符號變數、字元變數的相互轉化在 matlab 工作空間中 , 數值、符號和字元是 3 種主要的資料型別。

matlab 可以利用命令來實現不同型別資料間的轉換。

7樓:匿名使用者

數值運算:求出具體的數值,不含符號。(如解方程,求出未知數=1.565656 ,不是未知數=ab+c)

符號運算:結果用符號表示。

許多問題,只有數值解,沒有符號解。

8樓:匿名使用者

沒覺得有什麼值得注意的啊

只不過matlab有計算符號的功能吧,可以自動合併同類項,化簡式子什麼的。

別的軟體沒這樣的。

2MATLAB數值運算中變數命名應遵循什麼樣的規則

不用定義直復接用 最好是用英制文名 在matlab裡,所有的變數都是用矩陣來儲存的,而且矩陣中的元素都是double 型。不存在在matlab裡不存在整形,浮點型和無符號整形,都是按double型來儲存得。在matlab裡還存在,字串和符號兩種變數。matlab中變數如何定義?可以用sym 或者 s...

Matlab中數值計算和符號計算的區別,比如在解線性方程組的

在matlab中,數值計算直接輸入你的命令,matlab會給出相應的數值結果。而符號計算需要事先定義符號,用syms命令,計算後結果為符號公式。數值計算時matlab的優勢所在,大部分工程問題也只能得到數值解符合運算 即解析運算 得到解析式子 例如 傅立葉變換 fourier 是符號運算 fft是數...

matlab數值怎麼寫入字串

a 14 這就是你算出的中間量 fzero inline subs 1 x 2 a a a 1 這樣就可以了,fzero裡面必須是函式 還有,1 x 2 14 0無實數解,得到的是nan fzero是用數值迭代法求解的 如果a 14的話,就解得出了 既然你的a是個變數,那幹嘛用sub,等到需要數值的...