1. 程式人生 > >Matlab知識點(六)

Matlab知識點(六)

使用Matlab處理積分問題

最值問題
在Matlab 中只有求極(或最)小值命令的函式.若要求函式 f ( x)在( x1, x2) 內的極(或最)大值,可轉化為求− f (x)在( x1, x2) 內的極(或最)小值.求極(或最)小值點和極(或最)小值的呼叫格式是: [x,fual]=fminbnd(‘fun’,x1,x2)
在這裡插入圖片描述

[xmin,fmin]=fminbnd('1-3*x-x^2',-10,9);  % 求f(x)的最小值點和最值
[xmax,zmin]= fminbnd('-1+3*x+x^2',-10,9);  %轉化為-f(x)的最小值和最小值點
fmax = -zmin;%-(-f(x))的最大值
xmin,fmin,xmax,fmax

輸出的結果是:
xmin = 9.0000
fmin = -106.9992
xmax = -1.5000
fmax =3.2500
在這裡插入圖片描述

[xmin,fmin]=fminbnd('2*exp(-x)*sin(x)',2,5)

xmin =3.9270
fmin = -0.0279

一元函式的不定積分

1、呼叫格式一: int(‘f(x)’,‘x’)
在這裡插入圖片描述

int(x^2*cos(x),'x')

執行結果:ans = sin(x)(x^2 - 2) + 2x*cos(x)

2、呼叫格式二:
syms x % 宣告變數
int(f(x),x)
在這裡插入圖片描述

syms x a; % 中間沒有分隔符
int(a^2*exp(x)*sin(2*x),x)

結果是:ans = -(a^2exp(x)(2cos(2x) - sin(2*x)))/5
在這裡插入圖片描述

int(x/sqrt(1-x^2),'x',0,1/2)  % 函式不需要引號,自變數需要

結果是:ans = 1 - 3^(1/2)/2
在這裡插入圖片描述

syms x;
int(1/(1+x^2),x,-inf,inf)

結果是:ans = pi
在這裡插入圖片描述

syms x y;
int(int(x^2+y^2,x,-1,2),y,0,4)

結果是: ans = 76
在這裡插入圖片描述

syms t
int(sqrt(1-t^2),'t',a,x)

ans = asin(x)/2 - asin(a)/2 - (a*(1 - a2)

(1/2))/2 + (x*(1 - x2)(1/2))/2
在這裡插入圖片描述

syms t
int(abs(t-1),t,-1,2)

結果是:ans = 5/2