當前位置:首頁 » 編程軟體 » matlab積分編程

matlab積分編程

發布時間: 2022-05-22 20:29:09

1. matlab的參數積分編程

前幾天寫了這個問題的程序,因時間問題未能及時回答。現看到樓上已經回答,但代碼以收費附件的方式提供,不便於交流,我談談自己的做法吧。

注意:以下列出幾種方法的代碼,是各自獨立的,可以分別直接復制到命令窗口裡面運行,或者保存成M文件之後運行。

方法1:符號積分

這種方法最為簡單直接,很容易看懂。使用符號運算求積分,對於無法求出解析解的情況,有時候可以計算得到高精度數值解。

參考代碼如下:

symsh
phi=atan(h/10.8);
alpha=int(sin(phi),0,h)/210;
T=linspace(0,400,20);
X=T*0;
Y=X;
fori=1:length(T)
t=T(i);
x=int(37.5*cos(phi+alpha),0,t);
X(i)=double(x);
y=int(37.5*sin(phi+alpha),0,t);
Y(i)=double(y);
end
plot(X,Y)
axisequal
xlabelx;ylabely

在有些版本中會提示「無法求出顯式解」(Explicit integral could not be found)的警告信息,如果不希望看到警告,可以在代碼前加一句

warningoffsymbolic:sym:int:warnmsg1

2. matlab 方程求解含積分

題主給出的含有積分式的方程,實際上是最大值積分方程,可以按極值問題來處理。如何求解:

第一步:創建極值目標函數,即 fmincon_fun(λ),其內容

y=-double(int(exp(-abs(F)/2)/sqrt(lambda)-exp(-abs(F)),F,-1,1));

第二步:創建極值約束函數,即 fmincon_con(λ),其內容

約束條件,ceq =1/8-double(int(exp(-abs(F)/2)/sqrt(lambda)-exp(-abs(F)),F,-1,1));

第三步:使用fmincon函數求出λ的最優解,即

[x,fval,exitflag] = fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],[],[],@(x) fmincon_con(x));

說明:λ用x來表示

第四步:驗證約束條件是否滿足

第五步:編程後運行代碼,可以得到如下結果。

3. 怎麼用Matlab編程計算積分!!!

int
Integrate
symbolic
expression
Syntax
int(expr)
int(expr,
v)
int(expr,
a,
b)
int(expr,
v,
a,
b)
算了,給你舉兩個例子吧
x^2
積分:
>>
syms
x;
>>
int(x^2,x)
ans
=
x^3/3
x^2

1
積分到
5:
>>
int(x^2,x,1,5)
ans
=
124/3
注意前面一句話,syms表示定義變數
自己遇到問題多看手冊或者自己谷歌,網路知道上面專業人士不多的

4. matlab編程 xe^x 在0到正無窮上的積分

matlab計算積分,可以用int函數,具體實現如下:

symsx;%定義變數x
y=x*exp(-x);%函數形式
int(y,0,inf);%計算y在0到正無窮的定積分
%以上程序運行後,輸出1


int函數的一般調用形式為:

  1. int(s):沒有指定積分變數和積分階數時,系統按findsym函數指示的默認變數對被積函數或符號表達式s求不定積分。

  2. int(s,v):以v為自變數,對被積函數或符號表達式s求不定積分。

  3. int(s,v,a,b):求定積分運算。a,b分別表示定積分的下限和上限。該函數求被積函數在區間[a,b]上的定積分。a和b可以是兩個具體的數,也可以是一個符號表達式,還可以是無窮(inf)。當函數f關於變數x在閉區間[a,b]上可積時,函數返回一個定積分結果。當a,b中有一個是inf時,函數返回一個廣義積分。當a,b中有一個符號表達式時,函數返回一個符號函數。

5. matlab中的積分編程

>> quad('x.*log(1+x)',0,1)

ans =

0.2500

>>

QUAD Numerically evaluate integral, adaptive Simpson quadrature.
Q = QUAD(FUN,A,B) tries to approximate the integral of scalar-valued
function FUN from A to B to within an error of 1.e-6 using recursive
adaptive Simpson quadrature. FUN is a function handle. The function
Y=FUN(X) should accept a vector argument X and return a vector result
Y, the integrand evaluated at each element of X.

Q = QUAD(FUN,A,B,TOL) uses an absolute error tolerance of TOL
instead of the default, which is 1.e-6. Larger values of TOL
result in fewer function evaluations and faster computation,
but less accurate results. The QUAD function in MATLAB 5.3 used
a less reliable algorithm and a default tolerance of 1.e-3.

Q = QUAD(FUN,A,B,TOL,TRACE) with non-zero TRACE shows the values
of [fcnt a b-a Q] ring the recursion. Use [] as a placeholder to
obtain the default value of TOL.

[Q,FCNT] = QUAD(...) returns the number of function evaluations.

Use array operators .*, ./ and .^ in the definition of FUN
so that it can be evaluated with a vector argument.

Notes:
Function QUADL may be more efficient with high accuracies and smooth
integrands.
Function QUADV vectorizes QUAD for array-valued FUN.

Example:
Q = quad(@myfun,0,2);
where myfun.m is the M-file function:
%-------------------%
function y = myfun(x)
y = 1./(x.^3-2*x-5);
%-------------------%

or, use a parameter for the constant:
Q = quad(@(x)myfun2(x,5),0,2);
where myfun2 is the M-file function:
%----------------------%
function y = myfun2(x,c)
y = 1./(x.^3-2*x-c);
%----------------------%

6. MATLAB中,定積分加減怎麼編程

題主給出的變積分,可以通過循環語句來解決。

第一步,將t劃分若干份,如t=0:100

第二步,使用for循環語句,求解x為某值時的積分值。即

for i=1:100

。。。。。。

%求解x為某值時的積分值

end

第三步,使用integral函數求解積分值,即

t1=t(i);

eq1=@(x)exp(-(x-100).^2/15^2);

eq2=@(x)exp(-(x-50).^2/20^2);

f(i)=integral(eq1,-inf,t1)+quadgk(eq2,t1,+inf);

第四步,使用plot函數,繪制該積分的數值解圖形。

7. 這兩個積分用matlab怎麼編程計算

這兩個積分用matlab怎麼編程計算,用int()函數求解,要得到符號解析值是比較困難的,但如已知R1、D等數值,是可以得到其數值解。如R1=10;D=5;則第一個積分可以這樣來計算。
>>symsxR1D
>>R1=10;D=5;
>>int(sqrt((2*R1-x)*x)/(x+D)^3,x,0,2*R1)
>>vpa(ans)
計算結果

8. matlab編程求無窮限定積分

matlab編程求無窮限定積分:

用如下程序:

syms x

f = exp(-x^2);

int(f, x, 0, inf)

結果是pi^(1/2)/2,即2分之根號派

9. Matlab怎麼計算定積分

Matlab計算定積分的具體步驟如下:

1、以f(x)=e^2x+sin(x+π/3) ,積分下限:a=0,積分上限:b=π/4 為例。首先,建立被積函數M文件;點擊New,選擇Function;

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:968
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:676
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:828
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829