Python Append -Funktion fehlfunktionierenPython

Python-Programme
Anonymous
 Python Append -Funktion fehlfunktionieren

Post by Anonymous »

Ich benutze Grinkte.io, eine Online -IDE für Python3. Ich habe derzeit keinen Zugriff auf andere IDES zum Download. Ich versuche, ein Numpy -Array mit zahlreichen iterativen und bedingten Aussagen zu erstellen. Wenn ich jede Liste drucke, erhalte ich die richtigen Ergebnisse, die ich erwarte, aber wenn ich sie dem Array angehängt habe, führt ich zu sehr seltsamen Ergebnissen. < /P>
Dies ist mein Code: < /p>

Code: Select all

import numpy as np
import matplotlib.pyplot as plt
from sympy import *

x = Symbol('x')
y = Function('f')(x)

#Equation is ay_(n-1) + by_n + cy_(n+1) = d
a = 3
b = 4
c = 6
d = 4

#Final row equation: ey_(n-2)+fy_(n-1)+gy_(n) = d
e = 5
f = 3
g = 7
#Timestep
h = 0.2

#Initialize variables
y_0 = 0
final_point = 1

array = []
row = []
i = 1
array_row_size = int(final_point / h)
array_column_size = array_row_size + 1

for i in range(1,array_row_size+1):
row.clear()
if i == 1:
row.append(b)
row.append(c)
for j in range(2, array_column_size-1):
row.append(0)
row.append(d)
elif i == 2:
row.append(a)
row.append(b)
row.append(c)
for j in range(3, array_column_size-1):
row.append(0)
row.append(d)
elif i < (array_column_size - 1) and i>2:
for j in range(2,i):
row.append(0)
row.append(a)
row.append(b)
row.append(c)
for j in range(i+1, array_column_size-1):
row.append(0)
row.append(d)
else:
for j in range(1, array_column_size-3):
row.append(0)
row.append(e)
row.append(f)
row.append(g)
row.append(d)
array.append(row)
print("Row:", row)
print("Array", array)

i += 1

#print(array)
< /code>
Und dies sind die Ergebnisse: < /p>
Row: [4, 6, 0, 0, 0, 4]
Array [[4, 6, 0, 0, 0, 4]]
Row: [3, 4, 6, 0, 0, 4]
Array [[3, 4, 6, 0, 0, 4], [3, 4, 6, 0, 0, 4]]
Row: [0, 3, 4, 6, 0, 4]
Array [[0, 3, 4, 6, 0, 4], [0, 3, 4, 6, 0, 4], [0, 3, 4, 6, 0, 4]]
Row: [0, 0, 3, 4, 6, 4]
Array [[0, 0, 3, 4, 6, 4], [0, 0, 3, 4, 6, 4], [0, 0, 3, 4, 6, 4], [0, 0, 3, 4, 6, 4]]
Row: [0, 0, 5, 3, 7, 4]
Array [[0, 0, 5, 3, 7, 4], [0, 0, 5, 3, 7, 4], [0, 0, 5, 3, 7, 4], [0, 0, 5, 3, 7, 4], [0, 0, 5, 3, 7, 4]]
Dies ist offensichtlich sehr unterschiedlich als erwartet, da ich erwarten würde, dass jede Zeile im Array unterschiedlich ist, während in jeder Iteration alle Zeilen aktualisiert werden und sie sind gleich.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post