Ich bin ein Matlab-Code in Fortran 90 zu übersetzen und ich versuche, das folgende Stück Code zu übersetzen:Wie Anweisung Funktionen mit Arrays in Fortran verwendet 90
func= inline('x+ y+ z', 'x', 'y', 'z')
x(1)= 1, y(1)= 1, z(1)= 1
for n= 1:5
output= 5+ func(x(n), y(n), z(n))
x(n+ 1)= x(n)+ 1
y(n+ 1)= y(n)+ 1
z(n+ 1)= z(n)+ 1
end
In Fortran ich die Aussage verwenden (Inline) Funktion als func (x, y, z) = x + y + z, ich bin jedoch nicht in der Lage, den Array-Teil in die Funktion einzufügen.
Wie kann ich die Abhängigkeit von 'n' in der Anweisungsfunktion aushandeln? Ich versuche so etwas wie das Folgende, bin aber noch nicht ganz da.
func(x, y, z)= x+ y+ z
x(1)= 1, y(1)= 1, z(1)= 1
do n= 1, 5
func(x(n), y(n), z(n))= x(n)+ y(n)+ z(n)
end
Jede Hilfe würde sehr geschätzt werden.
Beachten Sie den ganzen Zweck von diesem ist, das gleiche Format für kompliziertere Funktionen zu verwenden, die ein Schmerz sind, um millionenmal zu schreiben. –