VB中如何实现求导数???

VB中如何实现求导数???,第1张

通常不会有一般性的计算导数的程序或控件。对于一喊则般性的函数,可直接利用导数的定义,在程序中直接计算。

对于f(x),在x0处的导数就是

f(x0+dx)/dx只要取足够小的dx,并且在程序中升伏取相应的数据类型与精吵渗携度,就可以得到f(x)在x0处的导数。

例如要计算f(x)=lnx在x=5处的导数,选dx=0.01,则f'(x)=(ln5.01-ln5)/0.01。用程序来实现,难度在于恰当地选择dx与计算精度。

求导数有两种,一种是表达式求导,一种是数值求导。

1.

表达式求导:需要对表达式进行词法分析,然后用常见的求导公式进行演算,求得导函数。在这方面,数学软件matrix,maple做得非常好。如果自己用C进行编程,不建议。

2.

数值求导:利用导数的定义,用差分计算,当自变量趋于0时,前后两次差分收敛到需要精度,计算散州结束。这种方法可以求得某一点的导数。

例如:

求一阶导数,原函数

y

=

f(x),

程序中是float

f(float

x){

...}

dx=0.01 //虚贺设 dx 初值

do{

dd1=(f(x0) - f(x0+dx))/dx //计算导数dd1

dx = 0.5 * dx // 减小步长

dd2=(f(x0) - f(x0+dx))/dx //差掘派计算导数dd2

}while (fabs(dd1-dd2) >= 1e-06) //判断新旧导数值之差是否满足精度,满足则得结果,不满足则返回

*** 作方法如下:

第一步首先看一下matlab常用的求导,求偏导函数。

第二步在我们的电脑上打开matlab,在命令败嫌数行窗口中输入syms x,f(x)=sin(x)+x^2 ,diff(f(x)对f(x)函数进行求导。

第三步按回车键,可以看见求导的结果是2*x+cos(x)。

第四步在命令行窗口中输入diff(f(x),3),按回车键求f(x)函数的3阶导数:

第五步也可以求偏导,输入diff(f(x),x)求对偏导数。

优势特点者物

1、高效的数值计算及察首符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2、具有完备的图形处理功能,实现计算结果和编程的可视化;

3、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12250328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存