Iterazioni "multiple"

Lucio Demeio shared this question 2 years ago
Answered

Devo risolvere un problema del tipo

x_{n+1} = x_n + f_1(x_n,y_n,z_n)


y_{n+1} = y_n + f_2(x_n,y_n,z_n)


z_{n+1} = z_n + f_3(x_n,y_n,z_n)

e poi graficare le tre successioni individualmente. Cioè un problema iterativo ma in più variabili accoppiate. Pensavo che un uso appropriato di Iterazione, IterazioneLista e Successione potesse risolvere il problema, ma finisco sempre per scontrarmi con qualche operazione o istruzione non lecita in Geogebra. Ho trovato sul sito il file che allego dove si presenta un simile problema, anche se in dimensione 2. La soluzione che offrono è di scrivere le relazioni una ad una scalarmente "a mano", cioè, dopo i valori iniziali di x_1, y_1 e z_1,

x2 = x1 + f_1(x1,y1,z1)

y2 = y1 + f_2(x1,y1,z1)

z2 = z1 + f_3(x1,y1,z1)


x3 = x2 + f_1(x2,y2,z2)

y3 = y2 + f_2(x2,y2,z2)

z3 = z2 + f_3(x2,y2,z2)

e così via per .... 300 passi! Ovviamente, se uno ne vuol fare 10 mila o 10 milioni non è questo il modo. Se l'iterazione riguardasse una sola variabile sarebbe tutto risolto da Iterazione o IterazioneLista, ma con più equazioni accoppiate sembra che non funzioni. C'è un modo per risolvere la questione con un'iterazione simile al ciclo FOR o al DO loop dei linguaggi convenzionali, con un n massimo arbitrario?

Grazie.

Comments (6)

photo
2

no veo ninguna f definida en tu adjunto

te envío un ejemplo con f cualesquiera

selecciona A12 B12 C12 y arrastra hacia abajo el pequeño cuadradito azul abajo a la derecha de la caja de seleccion

Files: foro.ggb
photo
2

iterationlist() must work

photo
1

I thought so, but it doesn't. You cannot redefine elements of a list.

photo
photo
1

please give me f_1 f_2 and f_3 and x_1 y_1 z_1

photo
1

Well, I did it eventually, with IterationList. The description of the command on the manual is not very clear and I kept trying iterating lists, which is "illegal". As I understood that I had to iterate points the problem was solved. However, there is one point which I found very counterintuitive in the usage of IterationList. Namely, this form is allowed (it's in Italian, but should be clear enough)

IterazioneLista((x(C)+f1(x(C),y(C),z(C)),y(C)+f2(x(C),y(C),z(C)),z(C)+f3(x(C),y(C),z(C)),C,{(x0,y0,z0)},N)

but this one

IterazioneLista((a+f1(a,b,c),y(C)+f2(a,b,c),z(C)+f3(xa,b,c),(a,b,c),{(x0,y0,z0)},N)

is not, although a point is perfectly identified by the triple (a,b,c), i.e. C=(a,b,c). Anyhow, thanks a lot for your interest.

photo
photo
1

P=(a,b,c) no hace que x(P) sea identificable por el nombre a, sino que el valor de x(P) sea el valor de a

ni siquiera (a,b,c) será P aunque sus valores coincidirán

diríamos que P=(a,b,c) es correcto pero (a,b,c)=P no es correcto

creo que la primera sintaxis es la correcta

© 2023 International GeoGebra Institute