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

2021-03-05 16:46:26 字數 2975 閱讀 8530

1樓:匿名使用者

把解出來的結果賦值給t,然後直專接屬subs:

>> n=dsolve('dn=r*n*(1-n/nm)','n(t0)=n0','t');

>> t=solve(diff(n,2))t =(-log(n0/(nm-n0))+r*t0)/r>> subs(n)

ans =

n0*nm*exp(-r*t0)/(n0*exp(-r*t0)+exp(log(n0/(nm-n0))-r*t0)*nm-exp(log(n0/(nm-n0))-r*t0)*n0)

2樓:召翠陽歐正

感覺像在寫c語言抄

。float

h不要襲寫,format已經定義了資料格式bai。

其二runge-kutta方法本

du身是一種數值方

zhi法,為什麼又定義符dao號變數,這樣會造成計算時資料格式混亂。所以matlab執行時出現一大堆錯誤應該是可以預見的。建議看看matlab的函式編寫,你的syms

eb完全可以是函式的輸入變數。例如functiony=ff(e,b)這樣資料格式很明確。總之,雖然matlab具有符號計算的功能,但是本身也具有很多問題,造成程式中很多麻煩。

而且具有強大的數值功能,所以計算過程中儘量轉換為矩陣,向量格式,保持資料格式一致。

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

3樓: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 可以利用命令來實現不同型別資料間的轉換。

4樓:刺忌輾

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

5樓:匿名使用者

概念其實沒那麼複雜。

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

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

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

matlab符號運算與賦值

6樓:匿名使用者

你這其實是三個問題,請把上述問題所涉及到的測試**貼出來(如果受字數限制,可打包傳到網盤)。不然為了回答你這個問題,還需要做上好半天無價值的文字錄入工作。

當然,我也可以不做測試,只把思路大致說明一下,但你未必能看明白。

matlab符號運算化簡問題

7樓:我行我素

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

8樓:匿名使用者

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

也要看看幫助呀

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

9樓:匿名使用者

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

subs(f,,)

matlab符號運算賦值區別,matlab符號賦值運算問題

符號運算主要是為了簡便表示式以提供給程式設計師更好的邏輯思維 u sym 3 x 2 5 y 2 x y 6 這表示式如果x y取值假如是比較複雜的分數或者是無理數甚至是虛數時 有沒有虛數不大確定了 求解出的的結果是非常複雜的,如果加sym的話,則會保留分數,無理數。舉例 u sym 3 x 2 5...

大家好!matlab中函式polyder 又是幹什麼用的

該函式用於求特徵多項式 poly a 當a是一個n n矩陣式,poly a 命令求出a的特徵多項式det lambda eye size a a 當v是向量時,命令poly a 生成以v為根的多項式參考 help poly a magic 3 poly a 對多項式求導 如對3x 2 2x 1結果是...

大家好!matlab中,變數區分大小寫嗎 檔名區分大小寫

區分,你可以在matlab上試試。matlab如何定義變數 1 情況一 符號變數 必須要定義,定義之後才可以使用。如下面的例子,未定義就會出錯。符號變數定義方法例如 sym x 或者 syms x 兩者有區別也有共同點。2 情況二 計算過程當中的儲存數值的變數 可以不必定義,隨時需要,隨時定義,但是...