matlab如何提取分母的常数项,Matlab—数值微积分

polyva()

多项式计算在理工科教学、科研中有着特殊地位和意义。matlab 作为重要的工程计算软件也给出了相应的计算指令来完成这一工作。其中就有多项式求值 polyval 函数,其调用格式为:y = polyval(p,x);,返回 n 次多项式 p 在 x 处的值

p:一个长度为 n+1 的向量,其元素为按降幂排列的多项式系数

x:可以是一个矩阵或者一个向量,在这两种情况下,polyval 计算在 x 中任意元素处的多项式 p 的估值

例如:9 x 3 − 5 x 2 + 3 x + 7 9x^3-5x^2+3x+79x3−5x2+3x+7

81fafc6be54eb256054d2b5679ddbdce.png

polyder()

多项式求微分函数 polyder,其调用格式为:

k = polyder(p):返回多项式 p 的微分表达式的系数

k = polyder(a,b):返回多项式 a 和 b 乘积的微分表达式的系数

[q,d] = polyder(b,a):返回多项式 a 和 b 微分商 b/a 的分子 q 和分母 d

例如:( 3 x 2 + 6 x + 9 ) ( x 2 + 2 x ) (3x^2+6x+9)(x^2+2x)(3x2+6x+9)(x2+2x)

7d9a7acf38851ebf5cde730dad8a67b4.png

polyint()

多项式积分函数 polyint,其调用格式为:polyint(p,c);,p 是多项式对应的系数,c 是常数项(可以任意指定)

例如:5 x 4 − 2 x 2 + 1 5x^4-2x^2+15x4−2x2+1

c2a44efe8593d494dccf5815bbd09baa.png

dif()

上面我们讲的都是多项式的一些数值计算的方法,如果不是多项式如何计算呢,举个栗子,如何求 sin(x) 在某一点的微分,这时就需要微分的定义

f ′ ( x 0 ) = lim ⁡ h → 0 f ( x 0 + h ) − f ( x 0 ) h f'(x_0) = \displaystyle\lim_{h\to 0} \frac{f(x_0+h) - f(x_0)}{h}f′(x0​)=h→0lim​hf(x0​+h)−f(x0​)​

其实我们只要知道两个点,一个(x0,f(x0)),另一个(x0+h,f(x0+h))

这里涉及到一个函数 diff,其调用格式为:Y=diff(X)。X 是一个 m 维的向量,那么 Y 返回的是一个 m-1 维的向量,其中 Y 的元素分别是 X 相邻元素之间的差值,即Y=[X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)];X 是一个非空的 m*n 的矩阵,那么 Y 返回的是一个 (m-1)*n 的矩阵,其中 Y 的元素分别是 X 行与行之间的差值,Y=[X(2,:)-X(1,:) X(3,:)-X(2,:) ... X(m,:)-X(m-1,:)]。下面就给出代码,求sin(x) 在 x = pi/2 时的微分

x0 = pi / 2;

h = 0.1;

x = [x0,x0 + h];

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

m = diff(y) / diff(x)

得到的答案显然不等于0,这时因为h太大了,可以将h不断缩小,得出来的值也会不断接近 0

integral()

integral 函数的作用是求定积分,其调用格式为:integral(fcn handle,x0,x1);,fcn handle 是函数句柄,x0 表示积分下限,x1 表示积分上限

y = @(x)sin(x);

integral(y,0,2*pi);

函数句柄的格式为:@(自变量)函数体,可以把@(自变量)当成是d(自变量),只不过放到前面去了

integral2()

二重积分函数integral2(),调用格式类似 integral,直接给出示例

f ( x , y ) = ∫ 0 π ∫ π 2 π ( y ⋅ s i n ( x ) + x ⋅ c o s ( y ) ) d x d y f(x,y) = \int_{0}^{\pi} \int_{\pi}^{2\pi}(y\cdot sin(x) + x\cdot cos(y))\text{d}x{d}yf(x,y)=∫0π​∫π2π​(y⋅sin(x)+x⋅cos(y))dxdy

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

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

integral3()

三重积分函数integral3(),调用格式类似integral

f ( x , y , z ) = ∫ − 1 1 ∫ 0 1 ∫ 0 π ( y ⋅ s i n ( x ) + z ⋅ c o s ( y ) ) d x d y d z f(x,y,z) = \int_{-1}^{1} \int_{0}^{1} \int_{0}^{\pi}(y\cdot sin(x) + z\cdot cos(y))\text{d}x{d}y{d}zf(x,y,z)=∫−11​∫01​∫0π​(y⋅sin(x)+z⋅cos(y))dxdydz

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值