關於MATLAB符號運算的問題,求解matlab符號運算的問題

時間 2021-08-14 14:38:37

1樓:匿名使用者

1、matlab的符號運算是藉助於其它符號運算核心完成的,2008a之前是用maple,2008b之後用mupad,不同版本對符號運算的具體支援可能存在差別,例如,你說的第一個問題,我在6.5和2007b、2013a等幾種版本下測試,用這兩種寫法都可以得到相同的結果:

[x y]=solve(eq1,eq2,x,y)

[x y]=solve(eq1,eq2)

所以,談到符號運算的問題時,最好說明自己使用的版本,以便有針對性地解決。

至於說兩種寫法的區別,前面一種指定把哪個變數作為未知數,後一種寫法由符號運算核心自動確定,對於x、y、a、b這樣的四個變數而言,兩種寫法沒有區別。

2、subs和eval這兩個函式的最主要區別是,subs適用於結果中仍然存在符號量的情況,得到的結果一般是解析表示式,而eval則適用於結果是具體的數值的情況,不能再含有未知量。

就實際測試的結果看,幾種版本用eval都可以得到相同的結果,但用subs的情況則有差別:6.5和2007b會導致出錯,而2013a不報錯,但得到的結果中仍然有a(1)等符號。

這一點也許正意味著,matlab可能真的將a(1)這樣的元素當成了一個新變數的名字。

3、其實用符號運算解方程,比較合理的做法是先定義符號變數,然後用符號變數(而不是用字串)寫方程:

a=[2 1]; b=[1 1];

syms x y;

eq1=a(1)*x+a(2)*y-4;

eq2=b(1)*x+b(2)*y-3;

[x, y]=solve(eq1,eq2,x,y)

這段**在各種版本下都能正確執行,而且得到的結果無論用subs(x)、double(x)還是eval(x)都可以轉換為數值。

2樓:數碼答疑

符號解方程,直接寫方程式

3樓:匿名使用者

直接查幫助文件,很詳細的

求解matlab符號運算的問題

4樓:匿名使用者

這是因為在數值計算中,1e-10已經小於matlab在最小數了,所以直接被認為是0

在符號運算時,並不進行數值運算,所以結果是1

這說明了matlab中數值計算的誤差傳遞問題。學過數值計算的就會明白的

matlab符號運算化簡問題

5樓:我行我素

你再仔細算一下,這兩個式子應該不相等,只要包含sqrt(...)就有可能出現兩個根,被開方數不相等就出現結果不同

6樓:匿名使用者

為什麼不直接試試 r-s 呢 不知道你要簡化幹嘛 就是要簡化

也要看看幫助呀

matlab符號賦值運算問題

7樓:匿名使用者

可以使用subs來賦值,比如:>> syms x>> f = x^2 + x

f =x^2 + x

>> subs(f, x, 2)ans = 6>>

MATLAB符號運算中先指數運算再自然對數運算不能化簡(即log exp x 不能化簡)

兔子和小強 因為log exp x 不一定等於x。比如x 2 pi 1i 1i是虛數 那麼 log exp x log 1 0看下他人在matlab answers上的回答 matlab中語句f x,y exp x.2 3 sin x.2 2 y 中 x,y 是什麼意思? 59分粑粑 matlab中...

matlab簡單問題關於,matlab簡單問題 關於fzero

醉蝶翩翩 我也很好奇 就試了一下 fzero x x 2 1,0.05 時,ans 1,fzero是一個數值搜尋過程,依賴於函式特性,值的指定,以及matlab所能識別的最小步長。如果想計算更準確,可以用符號函式求解0點。符號函式不用關心具體的函式值,完全當做符號處理,所以,不存在上述不穩定因素。 ...

matlab的符號解是什麼,matlab的符號解是什麼

符號解即對有符號的代數式子,用符號進行推導,得出的結果中含有代數符號,比如 求解方程 a x 2 b x c 0 solve a x 2 b x c ans 1 2 a b b 2 4 a c 1 2 1 2 a b b 2 4 a c 1 2 是符號,你應該把符號轉換為變數處理。 x的多項式,那麼...