1樓:匿名使用者
提供兩種解法供參考。
1、解析解法作變數置換t=1/x,則積分上限為1,下限為inf:
>> syms x t
>> f=(1+1/x)^x/x;
>> f_t=subs(f,x,1/t);
>> int(f_t,inf,1)
ans =
-inf
**在2007b和2013a上實測通過。
2、數值解法直接對關於x的函式1/x求微分,但得到的函式表示式用解析方法無法得到顯式解,所以,使用數值方法積分:
>> syms x
>> f=(1+1/x)^x/x;
>> f_x=eval(['@(x)' vectorize(f*diff(1/x))]);
>> integral(f_x,0,1)
ans =
-inf
其中integral是2012a版之後才引入的函式,早期的版本可以使用quadgk代替。
2樓:yyy名
1 用diff(1/x) 求出 (1/x) 的微分,則可求相對於dx的被積函式-(1/x + 1)^x/x^3syms x
((1+1/x)^x/x)*diff(1/x)2 用數值積分求出的值。
f = @(x) -(1+1./x).^x./x.^3 ;
q1 = quadgk(f,0,1) % 積分下限為0q2 = quadgk(f,0.1,1) % 積分下限為0.1q3 = quadgk(f,0.
001,1) % 積分下限為0.001
3 計算結果:
積分下限為0
q1 = -inf
積分下限為0.1
q2 = -68.6335
積分下限為0.01
q3 = -5.0597e+005
3樓:
不能直接求,還是要變形成普通定積分。
在matlab中,怎樣對含兩個變數的函式中的一個變數定積分?
4樓:匿名使用者
這種問題最好給出具體的函式,而不是泛泛地問,因為根據函式的複雜程度,可能用解析法,也可能用數值法。
解析法適用於函式積分能夠求出解析表示式的情況,例如:
syms x y
f=x^2*y^3;
j=int(f,x,-5,5);
ezplot(j)
如果上述使用int求積分得不出解析表示式,一般就應該考慮使用數值方法求解了。如果需要,還是具體結合你的函式來說吧。
用matlab求定積分的時候報錯
5樓:
我不確定積分中的上下限是否能用syms型別的變數
int((s(i)-sh)./(sstar-sw).*p(i),s(i),sh,sfc);
你可以把其中的常數都換為實際對應的數字,然後試試能不能行
6樓:匿名使用者
matlab中求定積分一般用int函式。
int(expr,var,a,b)是int函式求定積分的一般形式。其中,expr為符號表示式,var為符號變數,為積分變數,預設為x。a、b為積分上下限,可以是數字,也可以是符號變數。
出錯時,可以檢查**是否有如下問題:
1、是否有呼叫格式的錯誤,expr需要為符號表示式,var需要為符號變數。(在舊的matlab版本中,支援使用字串作為表示式與積分變數,在新的版本中已經不支援了)
2、表示式中有錯誤。
習慣性錯誤,如 2x+1、xy、sinx、e^x、ln(x) 等等,這些都是錯誤的,會直接報錯。
應該改為2*x+1、x*y、sin(x)、exp(x)、log(x)3、有時候會碰到積分不可積的情況或者積分結果為特殊函式。
7樓:匿名使用者
syms s(i) e(j) t(j) l(j) r(j)
不能這樣定義, 去掉()
求助利用matlab進行復雜函式的定積分方法! 詳情見補充,多謝了!
8樓:菰曉月寒
只要不是不定積分要求得到積分後的表示式,能實際計算出結果的積分就是定積分了。定積分不就是求函式在某區間或領域下的面積或體積麼,所以可以用梯形法之類的方法來近似求解這個面積。比如說步長為h,那麼求出f(0),f(h),f(2h),......
f(nh),
則f(x)在0~nh的定積分得到的面積就是h*(f(0)+f(h)+...+f(nh))。
matlab給出的求解積分的函式指令為intf=int(f,v,a,b),表示對f求指定變數v的定積分,積分割槽間為[a,b]。當v預設時,由symvar確認變數,當a,b預設時,則是求f指定變數的不定積分。
利用球面座標計算三重積分時候fai角的範圍怎麼確定
墨汁諾 先把空間區域投影到到yoz平面而 是z正軸到z負軸的角度 要從空間方程取得 先把x設為0 方程變為f y,z 0這形式 然後兩個關於y和z的方程的交接點,以第一象限為準最後 arctan z座標 y座標 對於錐面,一般為 4 直角座標系法 適用於被積區域 不含圓形的區域,且要注意積分表示式的...
matlab定積分計算結果為表示式,我只想得到數值。用double(ans)也沒用,不知道還有沒有其他方法
數碼答疑 是因為符號積分無法計算,答案還是符號積分,沒看見前面還有int嗎 只能採用數值積分,例如函式quad 經檢查是公式寫錯了,負號位置錯了。k 0.390803 mu 0.463506 sigma 0.219108 pdf x 1 sigma exp 1 k x mu sigma 1 k 1 ...
設計matlab程式計算圓域上的二重積分
這個可以用matlab的符號積分或者數值積分解決,下面提供4種方法 1 直角座標系符號積分 syms x y int y int sin pi x 2 y 2 y,sqrt 1 x 2 sqrt 1 x 2 先對y積分 i vpa int int y,x,1,1 i 2.0 2 極座標系符號積分 s...