MATLAB之微積分

2021-09-27 09:57:38 字數 2224 閱讀 5697

1.polyval()---建立多項式

>> a = [1,0,0];----------f = x^2,用列表a來表示多項式的係數

>> x = -100:0.01:100;----用x來表示自變數

>> f = polyval(a, x);----建立多項式f(x)

>> plot(x, f);------畫圖

​2.polyder(x)--對多項式求導,x表示多項式的係數

>> polyder(a)------f(x) = x^2,求導後f『(x)=2x

ans =

2     0

​>> polyval(polyder(a),2)-----求出f『(2)

ans =

4​3.conv()做多項式乘法,deconv()做多項式除法

f(x) = (20x^3 - 7x^2 + 5x + 10)(4x^2 + 12x -3)     -2<=x<=1

>> a = [20 -7 5 10];

b = [4 12 -3];

c = conv(a,b);

x = -2:0.1:1;

f1 = polyval(c,x);

f2 = polyval(polyder(c),x);

plot(x,f1,'-b',x,f2,'r');

legend('f(x)','f`(x)')

​4.polyint(x,k)--對多項式求積分,x表示多項式的係數,k表示積分後的常數項

>> a = [5 0 -2 0 1];

>> polyint(a,3);

>> polyint(a,3)

ans =

1.0000         0   -0.6667         0   1.0000   3.0000

>> polyval(polyint(a,3),7)

ans =

1.6588e+04​​

5.對曲線某個點求導, f'(x) = (f(x0+h)-f(x0))/h --- h->0

diff用來算之間的差 --- 後面的數減去前面的數

>> a = [5 0 -2 0 1];

>> diff(a)

ans =

-5   -2     2     1

>> x0 = pi/2; h = 0.1;

x = [x0 x0+h];

y = [sin(x0) sin(x0+h)];

m = diff(y)./diff(x)

m =   -0.0500

​6.求f'(x),f''(x)

>> x = -2:0.005:2;

y = x.^3;

m = diff(y)./diff(x);

m2 = diff(m)./diff(x(1:end-1));

plot(x,y,x(1:end-1),m)

plot(x,y,x(1:end-1),m,x(1:end-2),m2)

7.求曲線在座標軸上所圍成的面積

​midpoint--用矩形來填充曲線所圍成的面積

>> h = 0.005; x = 0:h:2;

midpoint = (x(1:end-1)+x(2:end))./2;---尋找每個矩形的中心點

y = 4*midpoint.^3;

s = sum(h*y)

s =16.0000

trapz--用梯形來填充曲線所圍成的面積

>> h = 0.05; x = 0:h:2; y = 4*x.^3;

s = h*trapz(y)

s =16.0100

​8.@ -- 類似於匿名函式的東西,前面是變數,後面是函式體。

9.integral 一重積分

integral2 二重積分

integral3 三重積分

​>> y = @(x) 1./(x.^3-2*x-5);

integral(y,0,2)

ans =

-0.4605

>> f = @(x,y) y.*sin(x)+x.*cos(y);

integral2(f,pi,2*pi,0,pi)

ans =

-9.8696

>> f = @(x,y,z) y.*sin(x)+z.*cos(y);

integral3(f,0,pi,0,1,-1,1)

ans =

2.0000

MATLAB 數值微積分

學習筆記 郭彥甫 yan fu kuo 台大生機系 matlab教學 10數值微積分 representing polynomials in matlab values of polynomials polyval a 9,5,3,7 x 2 0.01 5 f polyval a,x plot x,...

matlab微積分計算

diff f 給出f的導數 log x 表示ln x 要表示loga x 需要寫成log x log a ex 用 exp x 表示 高階導數 diff f,n 計算 f 的 n 階導數 isequal 表示式1,表示式2 判斷表示式1和表示式2是否相同 極值點solve f 返回 f 的值為0的 ...

matlab無窮積分求解 微積分 符號積分 一

很多的工程問題中會有微積分的問題,我們需要對微分方程求解。微分方程的求解分為符號微積分和數值微積分兩類。本文介紹matlab中對微分方程進行符號求解 在matalb中對微分方程進行符號求解的時候使用的函式為int函式 呼叫格式 f int expr expr為函式f int expr,var var...