MATLAB基础笔记4 导数/积分/微分操作

MATLAB笔记4 导数/积分/微分操作

多项式导数积分

多项式用row vector表示
f(x) = x^3 - 2x -5 表示为:
p = [1 0 -2 -5];

  • polyval() 求多项式值
a = [9,-5,3,7]; x = -2:0.01:5;
f = polyval(a,x);
plot(x,f,'LineWidth', 2);
xlabel('x'); ylabel('f(x)');
set(gca, 'FontSize', 14)
  • polyder() 求导
p=[5 0 -2 0 1];
polyder(p)

例子
Plot the polynomial
𝑓(𝑥) = (5𝑥3 − 7𝑥2 + 5𝑥 + 10)(4𝑥2 + 12𝑥 − 3)
and its derivative for −2 ≤ 𝑥 ≤ 1

a = [5,-7,5,10];
b = [4,12,-3];
c = conv(a,b); % 卷积操作/多项式相乘
x = -2:0.01:1;
f = polyval(c,x);
f1 = polyval(polyder(c),x);
plot(x,f,'b--',x,f1,'r-','LineWidth', 2);
xlabel('x'); ylabel('f(x)');
legend('f(x)','f''(x)')
  • polyint() 多项式积分
    𝑓(𝑥) = 5𝑥^4 − 2𝑥^2 + 1
p=[5 0 -2 0 1];
polyint(p, 3) % 第二个参数是积分后多出的常数
polyval(polyint(p, 3),7)

数值微分和数值积分

  • diff()
x = [1 2 5 2 1];
diff(x)

ans =

     1     3    -3    -1

计算(1,5) 和 (2,7)连线斜率

>> x = [1 2]; y = [5 7];
slope = diff(y)./diff(x)

slope =

     2

利用 diff() 计算微分
Given 𝑓(𝑥) = sin(𝑥), find 𝑓′(𝑥0) at 𝑥0 = 𝜋/2 using ℎ = 0.1

x0 = pi/2; h = 0.1;
x = [x0 x0+h];
y = [sin(x0) sin(x0+h)];
m = diff(y)./diff(x)

利用 diff() 计算导函数

h = 0.5; 
x = 0:h:2*pi;
y = sin(x); 
m = diff(y)./diff(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,x(1:end-2),m2);
xlabel('x', 'FontSize', 18);
ylabel('y', 'FontSize', 18);
legend('f(x) =x^3','f''(x)','f''''(x)','Location','SouthEast');
set(gca, 'FontSize', 18);
  • Function Handle
    把一个function作为参数传入另一个function时,需要使用function handle,即使用@符号
function [y] = xy_plot(input,x)
% xy_plot receives the handle of a function
% and plots that function of x
% input指代那个传入的函数
y = input(x); 
plot(x,y,'r--');
xlabel('x'); ylabel('function(x)');
end

上面为函数xy_plot,使用如下:

xy_plot(@sin,0:0.01:2*pi);
xy_plot(@cos,0:0.01:2*pi);
xy_plot(@exp,0:0.01:2*pi);
  • integral()
  • 计算 ∫1/(𝑥^3−2𝑥−5) 𝑑𝑥 范围0~2的积分
y = @(x) 1./(x.^3-2*x-5);
integral(y,0,2)

二重积分和三重积分
在这里插入图片描述


  • B站教程链接

台大郭彦甫matlab教程: 点击链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值