matlab怎麼表示含參變數的積分

2021-05-04 01:35:57 字數 2450 閱讀 4813

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...