hardy cross programa
DownloadTélécharger
Actions
Vote :
ScreenshotAperçu

Informations
Catégorie :Category: nCreator TI-Nspire
Auteur Author: salva06
Type : Classeur 3.0.1
Page(s) : 1
Taille Size: 2.44 Ko KB
Mis en ligne Uploaded: 30/07/2025 - 00:43:04
Uploadeur Uploader: salva06 (Profil)
Téléchargements Downloads: 1
Visibilité Visibility: Archive publique
Shortlink : https://tipla.net/a4813582
Type : Classeur 3.0.1
Page(s) : 1
Taille Size: 2.44 Ko KB
Mis en ligne Uploaded: 30/07/2025 - 00:43:04
Uploadeur Uploader: salva06 (Profil)
Téléchargements Downloads: 1
Visibilité Visibility: Archive publique
Shortlink : https://tipla.net/a4813582
Description
Fichier Nspire généré sur TI-Planet.org.
Compatible OS 3.0 et ultérieurs.
<<
Define hardyCross() Prgm Local n, i, j, loops, maxIter, err, deltaQ, Q, K, loopQ, loopK Local iterList, loopList, pipeList, qList, hfList iterList := {} loopList := {} pipeList := {} qList := {} hfList := {} Request "Número de lazos:", n Request "Máximo iteraciones:", maxIter Request "Error máximo permitido:", err Q := {} K := {} For i, 1, n Request "Tuberías en lazo "&string(i)&":", loops Local loopQi := {} Local loopKi := {} For j, 1, loops Request "Q inicial tubo "&string(j)&" (lazo "&string(i)&"):", deltaQ loopQi := augment(loopQi, {deltaQ}) Request "K para tubo "&string(j)&" (lazo "&string(i)&"):", deltaQ loopKi := augment(loopKi, {deltaQ}) EndFor Q := augment(Q, {loopQi}) K := augment(K, {loopKi}) EndFor Local k, hf, sumH, sumHder, convergióntotal, qij, kij, hfij For k, 1, maxIter convergióntotal := 1 Disp "=== Iteración ", k, " ===" For i, 1, n hf := {} sumH := 0 sumHder := 0 Disp "Lazo ", i For j, 1, dim(Q[i]) qij := Q[i][j] kij := K[i][j] hfij := kij * qij * abs(qij) sumH := sumH + hfij sumHder := sumHder + 2 * kij * abs(qij) // Mostrar tabla y guardar resultados (solo primeras 4 iteraciones) If k d 4 Then Disp "Tubería ", j, ": Q=", qij, " hf=", hfij iterList := augment(iterList, {k}) loopList := augment(loopList, {i}) pipeList := augment(pipeList, {j}) qList := augment(qList, {qij}) hfList := augment(hfList, {hfij}) EndIf EndFor deltaQ := -sumH / sumHder If abs(deltaQ) > err Then convergióntotal := 0 EndIf // Actualizar flujos For j, 1, dim(Q[i]) Q[i][j] := Q[i][j] + deltaQ EndFor EndFor If convergióntotal = 1 Then Disp "Convergencia alcanzada en iteración ", k Goto MostrarResultados EndIf EndFor Disp "No convergió tras ", maxIter, " iteraciones" Lbl MostrarResultados: For i, 1, n Disp "Flujos finales del lazo ", i, ":" Disp Q[i] EndFor // Guardar resultados en listas de datos globales Define iterList := iterList Define loopList := loopList Define pipeList := pipeList Define qList := qList Define hfList := hfList Disp "Resultados exportados a listas." EndPrgm Made with nCreator - tiplanet.org
>>
Compatible OS 3.0 et ultérieurs.
<<
Define hardyCross() Prgm Local n, i, j, loops, maxIter, err, deltaQ, Q, K, loopQ, loopK Local iterList, loopList, pipeList, qList, hfList iterList := {} loopList := {} pipeList := {} qList := {} hfList := {} Request "Número de lazos:", n Request "Máximo iteraciones:", maxIter Request "Error máximo permitido:", err Q := {} K := {} For i, 1, n Request "Tuberías en lazo "&string(i)&":", loops Local loopQi := {} Local loopKi := {} For j, 1, loops Request "Q inicial tubo "&string(j)&" (lazo "&string(i)&"):", deltaQ loopQi := augment(loopQi, {deltaQ}) Request "K para tubo "&string(j)&" (lazo "&string(i)&"):", deltaQ loopKi := augment(loopKi, {deltaQ}) EndFor Q := augment(Q, {loopQi}) K := augment(K, {loopKi}) EndFor Local k, hf, sumH, sumHder, convergióntotal, qij, kij, hfij For k, 1, maxIter convergióntotal := 1 Disp "=== Iteración ", k, " ===" For i, 1, n hf := {} sumH := 0 sumHder := 0 Disp "Lazo ", i For j, 1, dim(Q[i]) qij := Q[i][j] kij := K[i][j] hfij := kij * qij * abs(qij) sumH := sumH + hfij sumHder := sumHder + 2 * kij * abs(qij) // Mostrar tabla y guardar resultados (solo primeras 4 iteraciones) If k d 4 Then Disp "Tubería ", j, ": Q=", qij, " hf=", hfij iterList := augment(iterList, {k}) loopList := augment(loopList, {i}) pipeList := augment(pipeList, {j}) qList := augment(qList, {qij}) hfList := augment(hfList, {hfij}) EndIf EndFor deltaQ := -sumH / sumHder If abs(deltaQ) > err Then convergióntotal := 0 EndIf // Actualizar flujos For j, 1, dim(Q[i]) Q[i][j] := Q[i][j] + deltaQ EndFor EndFor If convergióntotal = 1 Then Disp "Convergencia alcanzada en iteración ", k Goto MostrarResultados EndIf EndFor Disp "No convergió tras ", maxIter, " iteraciones" Lbl MostrarResultados: For i, 1, n Disp "Flujos finales del lazo ", i, ":" Disp Q[i] EndFor // Guardar resultados en listas de datos globales Define iterList := iterList Define loopList := loopList Define pipeList := pipeList Define qList := qList Define hfList := hfList Disp "Resultados exportados a listas." EndPrgm Made with nCreator - tiplanet.org
>>