1樓:搶走你的辣條
一個確定的函式f(x)在[0,a]對x的積分是吧?
假設你的a也是一個符號變數。
那麼——
syms x a;%定義符號變數a和x
fx=f(x);%輸入你想要的函式
ga=int(fx,0,a)%把f(x)在[0,a]區間的積分賦給g(a)
%應該可以了吧
在matlab中怎樣求帶有引數的定積分
2樓:剛喬幹悅欣
1、首先,如果要對quad函式傳遞附加引數(extraparameters),應該先搞清楚quad函式的呼叫格式:
回q = quad(fun,a,b,tol,trace)其中,第4、5個引數分別是tol和trace,不答能想當然。你如果要傳遞附加引數,應該從第6個引數開始——儘管文件中並沒有提及,但quad函式的確可以接受附加引數。類似地函式還有很多,例如fsolve、fmincon等函式的函式。
在傳遞附加引數時,需要把前面的引數補齊,即使你不知道也不關心那些引數到底是幹什麼用的。幸運的是,這類函式絕大多數(如果不是所有的話)都支援用空陣列作為佔位符,例如:
q = quad(fun,a,b,,,r)這樣,你也就可以不用管tol、trace到底該怎樣取值了。
2、其次,quad函式並不支援一次性對多個附加引數求解。解決的辦法一是用迴圈,另一是用arrayfun函式(其實後者本質上也是迴圈,只不過寫法上簡單些)。
3樓:匿名使用者
設被積函式為f=ax+b,積分割槽間為(c,d)matlab**如下:
syms a b c d x;
f=a*x+b;
answer=int(f,x,c,d).
在matlab中怎樣求帶有引數的定積分?
4樓:
1、首先,如果要對quad函式傳遞附加引數(extra parameters),應該先搞清楚quad函式的呼叫格式:
q = quad(fun,a,b,tol,trace)
其中,第4、5個引數分別是tol和trace,不能想當然。你如果要傳遞附加引數,應該從第6個引數開始——儘管文件中並沒有提及,但quad函式的確可以接受附加引數。類似地函式還有很多,例如fsolve、fmincon等函式的函式。
在傳遞附加引數時,需要把前面的引數補齊,即使你不知道也不關心那些引數到底是幹什麼用的。幸運的是,這類函式絕大多數(如果不是所有的話)都支援用空陣列作為佔位符,例如:
q = quad(fun,a,b,,,r)
這樣,你也就可以不用管tol、trace到底該怎樣取值了。
2、其次,quad函式並不支援一次性對多個附加引數求解。解決的辦法一是用迴圈,另一是用arrayfun函式(其實後者本質上也是迴圈,只不過寫法上簡單些)。
如何用matlab求解帶引數變數的定積分
5樓:匿名使用者
一般來說用mathematica4做比較好,它的輸入語言簡單
6樓:匿名使用者
假設g(x)=x,可用:
fun=@(a)quad(@(x)a*x,0,10);
得到含參積分fun(a)= ∫下0上10 a*x dx.
若a=2,可得
fun(2)=100
matlab中帶引數定積分的求解
7樓:匿名使用者
1、首先,如果要對quad函式傳遞附加引數(extra parameters),應該先搞清楚quad函式的呼叫格式:
q = quad(fun,a,b,tol,trace)
其中,第4、5個引數分別是tol和trace,不能想當然。你如果要傳遞附加引數,應該從第6個引數開始——儘管文件中並沒有提及,但quad函式的確可以接受附加引數。類似地函式還有很多,例如fsolve、fmincon等函式的函式。
在傳遞附加引數時,需要把前面的引數補齊,即使你不知道也不關心那些引數到底是幹什麼用的。幸運的是,這類函式絕大多數(如果不是所有的話)都支援用空陣列作為佔位符,例如:
q = quad(fun,a,b,,,r)
這樣,你也就可以不用管tol、trace到底該怎樣取值了。
2、其次,quad函式並不支援一次性對多個附加引數求解。解決的辦法一是用迴圈,另一是用arrayfun函式(其實後者本質上也是迴圈,只不過寫法上簡單些)。
參考**
f=#(t,r) 142884+1.21*r.*r-831.6*r.*cos(2*t)).^(1/2);
r=0:0.1:75;
q=arrayfun(@(r)quad(f,0,90,,,r),r);
plot(r,q)
順便提醒一句,求積分的計算量不小,r的間距沒必要取那麼小(取5得到的結果就挺平滑)。
matlab含變數的矩陣相乘,matlab怎麼讓兩個矩陣內的元素對應相乘
syms x y a b c a 1 x 3 2 y 2 b 1 3 1 4 c a b 這樣就可以執行了 a x,y 1 x,3 2,y 2 b 1,3 1,4 c x,y a x,y b matlab怎麼讓兩個矩陣內的元素對應相乘?例 copya 1 2 3 4 b 5 6 7 8 得到一bai...
Matlab中,如果我要引用的變數名裡面含有變數,該如何引用
matlab裡的維度本來就不一定是固定的,你寫寫試試就知道了 其實我不是很明白樓主為什麼要把問題複雜化。樓主完全可以把需要的變數存入一個100維的向量l中,for迴圈中的語句就變為 l i l i i 用sprintf函式,比如 a 2 title sprintf diagramm for a d ...
用MATLAB程式設計,如何將變數在二維中表示出來,也就是等高線之類的。比如已知x
x linspace 3,3,100 定義x y linspace 3,3,100 定義y gridx,gridy meshgrid x,y 生成baix y平面網格 以 z x.exp x.du2 y.2 為例,計算z 可以zhi用z x y,但是畫出來dao 不好看,哈哈內 z gridx.ex...