matlab定積分計算結果為表示式,我只想得到數值。用double(ans)也沒用,不知道還有沒有其他方法

時間 2021-08-11 17:37:24

1樓:數碼答疑

是因為符號積分無法計算,答案還是符號積分,沒看見前面還有int嗎

只能採用數值積分,例如函式quad

2樓:匿名使用者

經檢查是公式寫錯了,負號位置錯了。

k=0.390803;mu=0.463506;sigma=0.219108;

pdf=@(x)(1/sigma).*exp(-(1+k*(x-mu)/sigma).^(-1/k)).*(1+k*(x-mu)/sigma).^(-1-(1/k));

s=quadl(pdf,0.3,2.9)

執行結果

s =         0.897133772014529

3樓:

可以用符號運算來求:

1234567891011

>> j=int(exp(x)*(x^2+sqrt(x)),0,1) j = 2*exp(1)+1/2*i*pi^(1/2)*erf(i)-2 >> double(j)ans = 1.9739 >> vpa(j,30) ans = 1.97391191101090886191652635584

得到的結果是解析表示式,要想得到具體的數,可以用double或vpa函式(其中vpa可以得到任意精度的結果,而double得到的是雙精度浮點數)。

當然,也可以用數值積分:

123>> quadl(inline('exp(x).*(x.^2+sqrt(x))'),0,1)ans = 1.9739

4樓:

這個表示式不可以積分

怎麼讓matlab直接顯示計算的結果

5樓:匿名使用者

不要在語句後面加上分號就可以直接顯示結果

6樓:恩惠妮阿加西

當輸入命令後顯示的ans就是計算結果了.

關於ans:

一、什麼是ans

ans是matlab中預設的結果變數. 每次matlab進行運算後, 結果都要儲存在指定的變數中. 如果只是輸入表示式, 卻不指定把表示式的運算結果儲存在那個變數裡面, 那麼matlab就自 動地將結果儲存在ans變數中.

直到下一次不帶指定儲存變數的運算結束前, ans中所儲存的值不變. 因此, 可以在下一次運算中用ans呼叫上一次運算的結果.

二、ans的值

當m檔案中出現非賦值性的計算時,matlab會把結果自動存入ans,例如1+2^2,執行結果就是ans=5。如果m檔案中每一個計算都是賦值的,即所計算的結果都是儲存在自己設定的變數中的,那麼ans一直沒有得到使用,就會一直是1。

三、經常遇到的出現ans的情況

1、如果對某個變數進行賦值計算,沒有在後面加分號結束該計算,運算結果會自動以ans顯示該值,如 y = 9或y = 9 x = 10;

運算結果中會自動出現ans = 9,即使並沒有要求將其輸出,如果是迭代運算,則ans會反覆出現。

2、如果檔名由純數字組成,則計算結果自動為ans = 檔名

3、另外一種是執行的時候總有ans=1出現,可能是把elseif寫成了else,所以出來ans=1,加上以後就沒有ans=1了。

如果是elseif後面還會跟一個判斷,而一般else是沒有的。如果將elseif錯寫為else,後面會跟一個判斷的。

7樓:浙師山東人

把你的源程式發一下,我看看

matlab定積分問題

數值計算 integral t sin 200 t sqrt 1 0.778 sin 200 t 0,0.01 ans 0.0041 可以執行的。執行軟體matlab 7.0 syms t s int sin 200 t sqrt 1 0.778 sin 200 t 0,0.01 s 1 300 3...

根據條件列出算式,不計算結果

1 補充 比蘋果多300千克 運來梨子多少千克?列式 400 300 2 相當於運來梨子的4分之1。400 1 4 3 運來的梨子比蘋果多5分之1.400x 1 1 5 4 運來的梨子比蘋果少10分之1.400x 1 1 10 5 運來的梨子比蘋果的4分之3多10千克。400x3 4 10 應用與提...

定積分計算?

題目中,定積分定義域變換省略了三步。第一步,拆分定義域,即 pi 4到c,c到pi 4.第二步,定義域 pi 4到c c到 pi 4,會在定義域前面增加一個負號。第三步,前面從c到 pi 4,x為負數 c到pi 4,x為正數,所以需要將c到 pi 4區間內的x變為 x。通過換元可以一步一步變化成題解...