我创建了一组程序,使用各种近似方法(中点,梯形,辛普森)为我的微积分类计算图形下的面积。
以下是我的某个程序(中点)的示例:
Prompt A,B,N
(A-B)/N->D
Input "Y1=", Y1
0->X
0->E
For(X,A+D/2,b-D/2,D)
Y1(x)+E->E
End
Disp E*D
我不想将这些近似规则应用于函数(Y1),而是将它们应用于数据列表(L1)。如何遍历列表?我需要能够获得列表中的最后一个索引,以便“For循环”有任何好处。我不能像在Java中那样做L1.length这样的事情。
答案 0 :(得分:5)
您可以使用dim()
获取列表的长度。这可以在2nd->LIST->OPS->dim(
中找到。只需确保使用列表变量,否则dim()
会抱怨该类型。然后,您可以使用下标索引到列表中。
如,
{1, 2, 3, 4} -> L1
For (X, 1, dim(L1), 1)
Disp L1(X)
End
答案 1 :(得分:3)
for循环是迭代TI-Basic中列表的最简单方法,因为它在许多语言中。 Jeff Mercado已经涵盖了这一点,因此我将提到一些在特殊情况下是强大工具的技术。
TI-Basic支持对与任何其他语言的地图功能具有相同效果的列表进行简单的映射操作。 TI-Basic对此的支持扩展到大多数基本算术功能和其他功能的选择。
语法不可能更简单。如果您想为某个列表X
中的每个元素添加一些数字L1
,请键入X+L1→L1
。
TI-Basic中列表上的大多数for循环可以由巧妙构造的seq(
命令替换,该命令将在时间和内存方面优于for循环。此规则的例外是包含I / O或存储变量的循环。
此命令的语法可能非常混乱,因此我建议在使用之前阅读this documentation。如果链接死亡,这里是最相关的信息。
命令摘要
通过评估一个带有一个变量的公式来创建一个列表 值范围,可选择按指定步骤跳过。
命令语法
seq(公式,变量,起始值,结束值[,步骤])
菜单位置
编辑程序时,按:
第二个LIST进入LIST菜单RIGHT进入OPS子菜单5到 选择seq(或使用箭头。
计算器兼容性
TI-83/84 / + / SE
令牌大小
1个字节
文档应该很好地解释seq(
的语法,所以我只提供一个示例用例。
如果你想要1到100之间的每个数字的平方,你可以这样做
For Loop
DelVar L1100→dim(L1
for(A,1,100
A²→L1(A
End
或者,这个
SEQ
seq(A²,A,1,100→L1
seq(
的缺点是您不能执行任何I / O或在表达式中存储任何变量。
转到LIST
菜单,查看OPS
和MATH
下的所有操作。这些预定义的函数总是比for循环更快,甚至是seq(
表达式来设计同样的东西。