内容简介:多项式计算在理工科教学、科研中有着特殊地位和意义。matlab 作为重要的工程计算软件也给出了相应的计算指令来完成这一工作。其中就有多项式求值 polyval 函数,其调用格式为:多项式求微分函数 polyder,其调用格式为:多项式积分函数 polyint,其调用格式为:
polyva()
多项式计算在理工科教学、科研中有着特殊地位和意义。matlab 作为重要的工程计算软件也给出了相应的计算指令来完成这一工作。其中就有多项式求值 polyval 函数,其调用格式为: y = polyval(p,x);
,返回 n 次多项式 p 在 x 处的值
- p:一个长度为 n+1 的向量,其元素为按降幂排列的多项式系数
- x:可以是一个矩阵或者一个向量,在这两种情况下,polyval 计算在 x 中任意元素处的多项式 p 的估值
例如:$9x^3-5x^2+3x+7$
polyder()
多项式求微分函数 polyder,其调用格式为:
k = polyder(p) k = polyder(a,b) [q,d] = polyder(b,a)
例如:$(3x^2+6x+9)(x^2+2x)$
polyint()
多项式积分函数 polyint,其调用格式为: polyint(p,c)
;,p 是多项式对应的系数,c 是常数项(可以任意指定)
例如:$5x^4-2x^2+1$
dif()
上面我们讲的都是多项式的一些数值计算的方法,如果不是多项式如何计算呢,举个栗子,如何求 sin(x) 在某一点的微分,这时就需要微分的定义
$$
f'(x_0) = \displaystyle\lim_{h\to 0} \frac{f(x_0+h) - f(x_0)}{h}
$$
其实我们只要知道两个点,一个 (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) = \int_{0}^{\pi} \int_{\pi}^{2\pi}(y\cdot sin(x) + x\cdot cos(y))\text{d}x{d}y
$$
f = @(x,y)y.*sin(x)+x.*cos(y); integral2(f,pi,2*pi,0,pi);
integral3()
三重积分函数 integral3()
,调用格式类似integral
$$
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}z
$$
f = @(x,y,z)y.*sin(x)+z.*cos(y); integral3(f,0,pi,0,1,-1,1)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 算法工程师的数学基础:微积分之积分
- 算法工程师的数学基础:微积分之微分
- 数学与Python有机结合及统计学、微积分、线性代数相关资源、图形软件
- MySQL常用数值函数
- 数值类型(金额)限制与判断
- MySQL数据类型 -- 数值型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Design Programs
Matthias Felleisen、Robert Bruce Findler、Matthew Flatt、Shriram Krishnamurthi / The MIT Press / 2001-2-12 / 71.00美元
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a var......一起来看看 《How to Design Programs》 这本书的介绍吧!