软件测试需要学数学,数学软件测试有感

数学软件测试有感

(2009-07-27 19:40:29)

标签:

杂谈

这些年,虽然经常看一些算法的书,特别是和计算几何相关的内容,但编程能力一直没什么提高,反而日益下降。这让做程序员的大哥是很不高兴的,而我的兴趣只是在数学教育而已。

编程虽然不行,但使用过的软件还是不少,不知不觉所使用的数学软件有已数十种之多。每拿到一个软件,只要觉得还有可取之处,就会把帮助文件从头到尾看一遍,所附案例看一遍,然后把所有菜单、工具条一一使一次,所谓地毯式操作!

在逐步使用、熟悉数学软件的同时,也在思考其中的设计原理,以及为什么程序员的设计让用户不爽,而用户操作辛苦却不能达到预期的效果。

软件有做得好的,也有糟糕的。这都是很正常的,就好比人无完人,金无足赤一样。软件有其特色,因此能够在江湖上占一席之地。而软件有bug,虽然有些还不足以致命,但给用户的印象却很不好。

有些bug,是设计人员考虑不周造成的,有的则是数学上存在问题,需要一个更为高级的算法才能解决,这与程序员的编程水平关系不大。

下面举例说明。平时碰到的例子很多,但基本上很少整理;久而久之,就淡忘了。

例1:反比例函数

y=1/x在第一象限的图形,在靠近y轴的部分,画得不齐全。这个问题在相当多的数学软件中都会出现。譬如微软math

3.0,在拖动坐标系的时候,y=1/x在靠近y轴的部分总是一闪一闪的。

有人问过我,为什么这么简单的一个函数计算机画不出来呢?

这 个问题并不难解释。很多朋友都学会高等数学,而高等数学中有两个基本概念:连续与一致连续。y=1/x

(x>0) 是连续的,但不是一致连续的。通俗地讲,y=1/x (x>0)

图像没有断点,但存在这样的两点 x1 , x2 ,当 x1与 x2 相当接近时 y1 与 y2的距离却是相当远。

计算机作图都是先描绘足够多的样本点,然后连线,有时会用到一些插值算法使图像平滑,但更多的时候都是利用增加样本点来使得图像精确。

y=1/x在靠近y轴的时候,样本点之间距离相差很远,即使增加样本点,也不能从根本上解决这个问题,这是数学本身决定的。当然,增加一些样本点,图像还是会好很多。

根本上解决作图问题,需要从数学角度出发,想一个更巧妙的算法。此处从略。

与此类似的情况还有tan(x)在x趋向于pi/2的时候,也会有类似问题。不单是图形出问题,连计算都可能出问题。

让 人难以接受的是 一些作圆锥曲线的时候,竟然端点处断开。这是很低级的错误,但犯这样的错误的软件不少,包括微软的math3.0

,让人大跌眼镜。出现这样问题的原因也是类似的,就是代表点x的变化速度与y的变化相差较大,出现了跳跃,因此有了断点。其实用简单的参数方程作图,不就

很容易解决了吗,为什么一定要直角方程函数作图呢?

(未完待续)

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值