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,等到需要數值的...