浅谈迭代列表
geogebra吧
全部回复
仅看楼主
level 11
GeoGebra中生成集合可以用序列、映射、迭代列表。
其中映射最好理解,从一个列表,通过运算到另一个列表,元素是一一对应关系,如列表l1={A,B,C,D,E,F},用这5个点画5个单位圆:
映射(圆周(m,1),m,l1)
它的使用是不需要元素序数参与计算时非常简捷。
再来说序列,这是GeoGebra中用的最多的命令,需要元素序数参与计算时,就用使用“列表”命令了,如不使用折线命令的情况下,把l1={A,B,C,D,E,F}五个点用线段连起来:
序列(线段(l1(m),l1(m+1)),m,1,长度(l1)-1)
这里用来元素的序数了,因此用上了"序列"命令。
最不好理解或者不易掌握的是迭代列表,生成元素与上一个元素或者上几个元素有关时,用迭代列表,这个几句话也说不清,先举个迭代中最常用的斐不拉其数列:
l3 = 迭代列表(a + b, a, b, {1, 1}, 10)
其结果是:
{1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89}
前两元素相加,得后一元素,依此类推,其中a+b为表达式,a,b为变量,{1,1}为a、b初始取值,必须是列表形式给出,10为迭代次数。
当然,GeoGebra不仅可以对数值进行迭代,它可以是其它几何对象,如下有A、B两点,从A点出发,求出AB中点C后,用C代替A,继续求CB中点,一直重复6次。
l4 = 迭代列表(中点(m, B), m, {A}, 6)
这里的变量m不再是数值,而是点,请注意的是你要生成的东西,和变量初始值必须是同一类东西才行。
下边相对复杂一点了,正方形迭代图:
A = (2, 2)
B = (-2, 2)
f = 线段(A, B)
k = 0.08
n = 16
l1 = 迭代列表(线段(描点(m, k), 描点(线段(顶点(m, 2), 顶点(m, 2) + 法向量(m)), k)), m, {f}, n)
l2 = 映射(多边形(顶点(m, 1), 顶点(m, 2), 4), m, l1)
在这个l1中,迭代变得复杂点,主要是我们把若干命令整理到一个表达式中了,它是这么一个过程:
C = 描点(f, k)
g = 线段(B, B + 法向量(f))
D = 描点(g, k)
h = 线段(C, D)
E = 描点(h, k)
..........................................
上述命令除最后一条,组合在一起,就是迭代列表中的表达式了,只是把变量,有明确名称的点换成通用表达。
当然,在使用迭代列表时,我们有时候要迭代出来的东西,不太可能整合成一个表达式,这个时候可以使用自定义工具来协助了,如下勾股树的生成,我们先定义一个自定义工具,取名叫“生成元”:
这个工具输入参数是a和poly3,输出为lst2
然后我们用迭代列表来生成勾股树:
a = 0.6
n = 4
poly1 = 多边形((1, 0), (3, 0), 4)
L = 合并(迭代列表(合并(映射(生成元(p, a), p, lst)), lst, {{poly1}}, n))
2021年04月12日 05点04分 1
level 11
迭代在GeoGebra中不仅可以用来作图,还可以用逼近法求值,如求切点、求最值等等,在我的贴子《最不要脸的求两曲线上最近距离点的方法》中,就用到了迭代逼近法求两曲线最近距离点:
f: x² - 3x + 3 - y = 0
g: x² + 3y² - 2 = 0
k = 25
I = 迭代(最近点(f, 最近点(g, m)), m, {H}, k)
J = 最近点(g, I)
先在一条曲线上随便描一点H,然后找另一曲线上与这个点最近的点C,找到后,再用C找第一条曲线上的最近点,如此反复,最多20几次,找到的点就不再动了,说明两个最近点我们找到了。H点描的哪都无所谓,基本不太影响迭代结果。
2021年04月12日 08点04分 2
level 1
请问楼主能用迭代做数列的递推吗,然后用点在坐标系里面画出来
2021年08月19日 03点08分 3
还需要这个数列地推吗?我有这个
2023年09月17日 04点09分
level 1
感觉比几何画板的迭代复杂多了
2022年07月27日 09点07分 4
level 1
好
2022年11月27日 22点11分 5
1