Domanda

Ho creato una serie di programmi per calcolare l'area sotto un grafico utilizzando vari metodi di approssimazione (punto medio, trapezoidali, Simpson) per la mia classe di Calcolo.

Ecco un esempio di uno dei miei programmi (punto medio):

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

Invece di applicare queste regole di approssimazione a una funzione (Y1), vorrei applicarli a una lista di dati (L1). Come faccio a scorrere un elenco? Avrei bisogno di essere in grado di ottenere l'ultimo indice della lista in ordine per un "Ciclo For" essere nulla di buono. Non posso fare niente di simile L1.length come avrei fatto in Java.

È stato utile?

Soluzione

È possibile ottenere la lunghezza della lista usando dim(). Che si possono trovare in 2nd->LIST->OPS->dim(. Basta fare in modo di utilizzare una variabile di lista altrimenti dim() si lamenta perché il tipo. Si potrebbe quindi indice della lista con un indice.

per es.,

{1, 2, 3, 4} -> L1
For (X, 1, dim(L1), 1)
Disp L1(X)
End

Altri suggerimenti

Il ciclo for è il modo più semplice per iterare su una lista in TI-base, come lo è in molte lingue. Jeff Mercado già coperto che, quindi mi citare alcune tecniche che sono potenti strumenti in situazione specializzata.

Mapping sulle liste

TI-Basic supporta semplice operazione di mappatura sulle liste che hanno lo stesso effetto di una funzione di mappa in qualsiasi altra lingua. supporto TI-base per questo si estende per più funzioni aritmetiche di base, e la selezione di altre funzioni.

La sintassi non potrebbe essere più semplice. Se si desidera aggiungere qualche numero X per ogni elemento in qualche lista L1 si digita X+L1→L1.

seguenti (

La maggior parte dei cicli for oltre a liste a TI-Basic può essere sostituito da comando seq( sapientemente costruito che sovraperformare il ciclo for in tempo e la memoria. Le eccezioni a questa regola sono i cicli che contengono le variabili di I / O o di stoccaggio.

La sintassi per questo comando può essere molto confusa, quindi vi consiglio di leggere oltre questa documentazione prima di usandolo. Nel caso in cui collegamento muore, ecco le informazioni più rilevanti.

Riepilogo dei comandi

Crea un elenco valutando una formula con una presa variabile su una intervallo di valori, eventualmente saltando da una fase specificata.

sintassi dei comandi

seq (formula, variabile, start-value, valore finale [, step])

Menu Posizione

Durante la modifica di un programma, premere:

2 ° LIST per accedere al menu LIST DESTRA per accedere alle OPS sottomenu 5 a scegliere seguenti (o utilizzare le frecce.

Calcolatrice Compatibilità

TI-83/84 / + / SE

Moneta Size

1 byte

La documentazione dovrebbe fare un buon lavoro che spiega la sintassi per seq(, quindi mi limiterò a fornire un caso d'uso del campione.

Se si desidera che il quadrato di ogni numero compreso tra 1 e 100 si potrebbe fare questo

Per Loop

DelVar L1100→dim(L1
for(A,1,100
A²→L1(A
End

o, questo

ss

seq(A²,A,1,100→L1

Lo svantaggio di seq( è che non si può fare qualsiasi I / O o memorizzare tutte le variabili all'interno dell'espressione.

predefiniti funzione elenco di iterazione

Vai al menu LIST e controllare tutte le operazioni di cui OPS e MATH. Questi funzione predefinita sono sempre sarà più veloce di una per i loop o addirittura un'espressione seq( progettato per fare la stessa cosa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top