
| 一般地,二元一次方程组由两个方程组成,可以设它们分别是:ax+by=c和dx+ey=f。 在这两个方程中,如果a:d=b:e=c:f,那么这两个方程有无数组解;如果a:d=b:e≠c:f,那么这两个方程有无解;如果a:d≠b:e,那么这两个方程有唯一解。 基于以上数学原理,首先要处理好a、b、d、e四个系数的关系,使之不成比例。根据设计的要求,可以自己在系数库内先设置若干组满足条件的系数数组,也可以通过随机函数产生四个系数并进行合理性判断。前者的优点在于可控性好、可以直接设置成不成比例的系数,缺点是手工录入比较麻烦;后者的优点是不需要人工设置和录入数据,缺点是随机数产生可控性差、系数合理性判断比较麻烦。可以根据要求设置。而c、f两个参数是由前面的ax+by和dx+ey来确定的,属于因变量,需要人工设置。 对于x、y值的选择,也有三种不同的方法。 (1)预设数据库的方法 (2)随机数的方法 (3)天干地支的方法 这三种方法中,第一种最死板,第二种最灵活,第三种最有趣。 第一种方法是笨人的方法,把解一组一组地录入进数据库内。x和y的值一一对应,想要一百组解就要有一百组数据,累死人不偿命,VF的优势没有发挥出来。 第二种其实根本控制不了解的组成,技术上不难,不过没有趣而已。 第三种是很有意思的,其原理有点象中国古代记年用的天干地支的方式。用极少的x和y的值生成相当多的不重复的数组,各个数组的值相对可控。比如,设置11个不同的x值和13个不同的y值,就可以生成143组不同的二维数组,这个工作量比手工录入小得多,数值可控性也大大地增强了。 但是,在使用方法3的时候,还要动一点脑筋。不能设置成内外两层循环。这样出来的方程组的解第一个数总是连续重复10多个方程组,有点缺少乐趣。所以还是要多多体会天干地支的方法! 另外,方法3一定要注意停止条件的设置,否则会死循环。
|