• 微课制作学习交流群:574769906、535602904、615477730
  • GeoGebra学习交流群:217440999
  • 如果你也想参加本网站的建设,请QQ联系我:1065114966

GeoGebra中的序列、迭代和映射

作为一个非数学专业的,有个不太成熟的想法,希望能够帮助大家理解对这三个指令的理解:

通过序列做出的是a_n与n相关的数列(点列、形列……);

通过映射做出的是a_n与b_n(或者是b_n和c_n甚至更多其他列表中的元素)相关的数列(点列、形列……);

通过迭代(迭代列表)做出的是a_n与a_(n-1)(或者是a_(n-1)和a_(n-2)甚至更多本列表之前的元素)相关的数列(点列、形列……)。

所以我们在做数列(点列、形列……)时,只要考虑你要做a_n和谁相关就可以了。

例1:我们做一个点列{(0,0),(1,1),(2,2),……(10,10)}

其实这种等差关系的列(不一定是数,姑且如此称呼)、等比关系的列,我们既可以用序列、也可以用迭代。

这里我们可以想到的就是数学我们学过的

等差通项公式:a_n=a_(n-1)+d(迭代用)或 a_n=a_1+d*(n-1)(序列用)

等差通项公式:a_n=a_(n-1)*q(迭代用)或 a_n=a_1*q^(n-1)(序列用)

这个例子如果我们用序列,那么和n的关系就是(n,n),(注:用GeoGebra做序列中n可以不从1开始,可以从0开始,所以这里不需要写成(n-1,n-1)。)确定出a_n与n的关系后,序列的做法也就有了:

序列[(n,n),n,0,10,1]

同样如果我们用迭代(列表),那么和a_(n-1)的关系就是a_(n-1)+(1,1),那么迭代的做法就是

迭代列表[s+(1,1),s,{(0,0)},10]

当然这是个简单的例子,那么我们再说复杂点的例子,如果我们想得到一个系列的正方形

例2:{多边形[(0,0),(1,0),4],多边形[(2,0),(3,0),4],多边形[(4,0),(5,0),4],……多边形[(8,0),(9,0),4]}

那我们先看看有没有通项公式可以找到,如果我们找和n的关系,应该可以写成“多边形[(n,0),(n+1,0),4]”。(注:用GeoGebra做序列间隔可以设置为2或任何值,所以也不用n=1的情况)。

序列的做法就是:

序列[多边形[(n,0),(n+1,0),4],n,0,8,2]

这个案例如果我们还想用迭代就没那么容易了,因为我们不能用形直接进行加减运算,只能进行几何变换,即平移、位似、旋转、对称、切变、伸缩(后两个只有线段类才有)。

此例子中,我们可以将这一系列的正方形理解为上一个正方形通过平移得到的,所以这里我们可以借助平移+迭代的方式做出来。

确定第一个图形是“多边形[(0,0),(1,0),4]”,平移的向量应该是(2,0),需要做出5个,需要迭代的次数应该是4。

那我们的迭代就可以写为:

迭代列表[平移[s,(2,0)],s,{多边形[(0,0),(1,0),4]},4]

对比这两个例子我们不难发现,迭代列表和序列一般情况下都可以做出等差、等比类的列,但序列指令较简单。

但是迭代却对于实现复杂的迭代效果却会更方便些。

如以下例子,

例3:一个正多边形(多边形1),将其缩小,然后做一定角度的旋转,依次迭代,得到如图所示的效果。

这里我们做简化后的正方形的例子

首先我们要考虑序列的画就没那么容易确定多层内部的多边形和最外面已知的多边形和n的关系,其实这里是一个等差的旋转、等比的缩放的关系。每层旋转的角度为α,第n层就是α*n,每层缩放比a,第n层就是a^n

注:如果想让下一层的顶点在上一层的边上有一个关系 a=1/(cot(α)+1)/sin(α)

第n层与第一层(多边形1)的关系应该是 旋转(位似(多边形1, a^n, 形心(多边形1)), α n, 形心(多边形1))

所以我们就可以写出序列:序列[旋转(位似(多边形1, a^i, 形心(多边形1)), α i, 形心(多边形1)),i,1,n]

在序列(序列( <表达式>, <变量>, <起始值>, <终止值> ))里我们一般使用的变量是i,终止值我们一般用一个参数n,这样我们就可以生成一个参数可变的序列,从1到n默认步长1,生成n个)

如果我们用迭代的方法这个例子就会特别简单了,下一层和上一层的关系:旋转[位似[s,a,形心[s]],α,形心[s]]

写出迭代就是:迭代列表[旋转[位似[s,a,形心[s]],α,形心[s]],s,{多边形1},n]

注:迭代列表(迭代列表( <表达式>, <变量>, <起始值>, <次数> ))中迭代n次会生成包含起始值在内的n+1个,如果序列中也想包含初始值,将起始值1改设置为0即可)

这个任意正多边形例子中需要重新计算旋转角度和缩放比之间的关系或者采用其他的迭代方法,在做这个例子的时候使用的是其他迭代方法,感兴趣的可以在下载课件自行学习。

例3

完整课件下载:https://pan.baidu.com/s/1TnRVLgYf81-O-_kqyz_rdg

在线课件访问: https://ggbm.at/xax9U3Sh

从这个例子中我们应该可以发现其实迭代会比序列要容易理解些,而且有时是没有和n相关的迭代,那就只可以用迭代而很难用序列了。如

例4:a_n=a_(n-1)+a_(n-2)

那我们只能用迭代的方法写为:迭代列表[a+b,a,b,{1,2},10]

当然对于著名的斐波那契数列是有通项公式的,你也可以用通向公式写,但如果没有前人推导出这个公式可能就没办法写出来了。

如你在这个基础上把其改为 a_n=2*a_(n-1)+3*a_(n-2),是否能用序列来写呢?

当然序列也有迭代无法取代的作用,如

例5:画出圆c的20条半径。

我们用序列可以很简单的写出 序列[线段[中心[c],点[c,i]],i,0,0.95,0.05]

当然这些点还是可以用旋转的方式迭代,但是相对序列要麻烦许多。在此不在赘述。

好,关于序列和迭代我们就对比到这里,我们最后来说下映射,其实映射应该是这三个中最容易理解的,

例6:有一个列表L_7={1,2,3,5,8,13,21,34,55,89,144},我们想得到其平方结果

就可以用 映射[s*s,s,L_7]

例7:我们有列表L_8 圆的20条半径  我们想画出每条半径的中垂线、相交切线

可以用 映射[中垂线[s],s,L_8]画出20条半径的相交的切线 映射(切线(顶点(s, 2), c), s, L_8)

最后附上本文涉及到的案例都已经放在里案例文件中,请大家自行下载。

案例文件地址:https://pan.baidu.com/s/1OkuqRA0zCKTkXsntzCJ9ww

其他GeoGebra课件案例:https://pan.baidu.com/s/1YwkZKRkztR4zayPlSXrPsw

欢迎大家学习本人的GeoGebra教程:

基础教程https://ke.qq.com/course/134786

3D绘图区教程https://ke.qq.com/course/229858

点赞 (13)分享 (0)

您必须 登录 才能发表评论!