【问题标题】:How to quickly fill a list with a range of numbers如何用一系列数字快速填充列表
【发布时间】:2018-04-27 15:26:02
【问题描述】:

我有一个程序,其中有一个从 0:90 开始的列表,以及使用该列表在每个点计算的第二个列表。该方程不能写成一个可以很容易绘制的函数,所以我使用统计图在列表上绘制为 x,另一个绘制为 y

我想每次都定义 0-90 列表,但我找不到像另一种语言那样一次性定义整个列表的方法

(我想到了 MATLAB,我可以轻松地使用 L1=0:.1:90)

相反,我使用 for 循环一次定义每个值,尽管这很慢。

有没有办法像上面那样以 matlab 样式定义列表?如果没有,有什么方法可以加快速度吗?我还在 for 循环期间单独计算另一个列表的每个值,所以如果我可以快速定义第一个值,那么我想我可以在没有 for 循环的情况下快速计算第二个值

【问题讨论】:

    标签: optimization ti-basic


    【解决方案1】:

    是的,您可以对两个列表都执行此操作。要初始化第一个列表,您可以执行以下操作:

    seq(I,I,0,90→L1
    

    这会将列表{0 1 2 ... 89 90} 存储到L1 中。然后,您可以进行任何您喜欢的计算。例如,要按照您的意愿初始化第一个列表并执行 X2+1 之类的计算以获得第二个列表,您可以这样做:

    seq(I,I,0,90→L1
    L1²+1→L2
    

    这会将新列表{1 2 5 ... 7922 8101} 存储到L2 中。最后,您可以根据需要将它们组合起来:

    seq(I²+1,I,0,90
    

    这将生成与以前相同的列表{1 2 5 ... 7922 8101}。如果您有任何其他问题,请告诉我,我们很乐意为您澄清。

    【讨论】:

    • 感谢您的回答。它绝对更方便打字,虽然它没有那么快。我想我对计算器的期望太高了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    相关资源
    最近更新 更多