MATLAB:数值微积分

一.多项式的计算

1.多项式的表示

在这里插入图片描述
(1); [1,0,-2,-5]
从最高项到常数项的系数来表示

2. 多项式求值:polyval()

我们运用到了matlab的一个函数polyval()

a = [9,-5,3,7]; x = -2:0.01:5;
f = polyval(a,x); % 两个参数,一个时函数,一个是自变量的范围
plot(x,f);% 显示这个图像

在这里插入图片描述

3.多项式的微分:polyder()

求微分我们需要用到一个函数
polyder()

p = polyder([5 0 -2 0 1]);

在这里插入图片描述

4. 多项式的乘积:conv()

如图计算这个多项式的结果:
在这里插入图片描述

p = conv([20,-7,5,0,10],[4,12,0,-3])

5. 多项式的积分:polyint()

使用polyint(p, c)函数可以计算多项式p的积分,积分结果的常数项设为c.
在这里插入图片描述

p = [5,0,2,0,1]
f = polyint(p,c)

二. 数值微分

1. 求差分:diff()

x = [1 2 5 2 1];
diff(x);	% 得到 [1 3 -3 -1] % 默认是一阶差分
diff(x,1);	% 得到 [1 3 -3 -1] # 一阶差分
diff(x,2);	% 得到 [2 -6 2] % 二阶差分,就是连续两次

利用差分求斜率:

x = [1,2]; y = [1,5]
sclope = diff(x) ./ diff(y) 

2. 求导数:diff(y)./diff(x)

利用导数的定义进行计算。

求 sin(x) 在【0,2pi】 上的导数

h = 0.1;
x = 0:h:2 * pi;
y = sin(x);
m = diff(y)./diff(x)
plot(y)
hold on 
plot(m,'g-.')

在这里插入图片描述

3. 二次积分:

对一次积分产生的数值再进行一次积分,都是运用定义进行计算。

`x = -2:0.005:2; y = x.^3;
m = diff(y)./diff(x);			% 计算一阶导数
m2 = diff(m)./diff(x(1:end-1));	% 计算二阶导数`

三. 数值积分

本质上通过近似的方法计算函数曲线下面每一个小区间的面积
1.近似成小矩形

在这里插入图片描述
计算 f(x) = 4 x 3 x^3 x3 在取件【0,2】上的积分

h=0.05
x = 0:h:2
midpoint = (x(1:end-1) + x (2:end))/2
y = 4 * midpoint .^3 % 高
s = sum (h * y) % 底乘以高
  1. 梯形: trapz()
    在这里插入图片描述
    3.抛物线
    在这里插入图片描述

四. 数值积分函数:integral()

integral(),integral2(),integral3()分别对函数在xmin至xmax间进行一重,二重,三重积分.

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

おもいね

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值