voneinander abhängige Listen < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Hallo,
ich habe mein Problem stark vereinfacht, damit es anschaulicher wird. Ich würde mir gerne folgendes von Mathematica berechnen lassen:
x = Table[y[ [i] ]*4 + 20, {i, 1, 10}]
y = FoldList[#1 - #2/100 &, 11, z]
z = Table[5 + 8*x[ [i] ], {i, 1, 10}]
Wie muss ich das eingeben, damit Mathematica damit umgehen kann?
Ich habe hier zwischen den beiden eckigen Klammern [[ Leerzeichen eingefügt, da es sonst nicht anzeigbar war, in Mathematica habe ich es natürlich ohne Leerzeichen eingegeben.
Vielen Dank im Voraus
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo Barbara,
wenn ich das richtig verstehe, soll das ganze so eine Art Iterationsschritt werden, in dem bei der Berechnung aller neuen x,y,z-Werte, die alten Listen verwendt werden?
Dann würde ich es so machen:
Falls x,y,z noch keine Werte zugewiesen wurden:
{x,y,z}=Table[0.0,{3},{10}];
und dann - wie bei dieser Zuweisung - {x,y,z} auf einmal die neuen Werte geben (wie gesagt vermute ich, dass das Ganze einer Iteration dienen soll):
iter[]:={x,y,z}={4y+20.,Rest[FoldList[#1-#2/100.0&,11.0,z]],8x+5.}
"Rest" habe ich hinzugefügt, weil die Liste sonst immer länger würde.
Wie Du siehst, ist es überflüssig, mit "Table" zu arbeiten, wenn die Liste als Ganzes verarbeitet wird, sofern die Funktion, die darauf los gelassen werden soll das Attribut "Listable" hat:
1: | In[3]:= Attributes[Times]
| 2: | Out[3]= {Flat,Listable,NumericFunction,OneIdentity,Orderless,Protected} |
und jetzt kannst Du ganz einfach beispielsweise fünf mal diese parameterlose Funktion aufrufen ("Column" dient bloß der schöneren Ausgabe):
1: | Do[Print[iter[]//Column,"\n"],{5}]
| 2: |
| 3: | {20.,20.,20.,20.,20.,20.,20.,20.,20.,20.}
| 4: | {11.,11.,11.,11.,11.,11.,11.,11.,11.,11.}
| 5: | {5.,5.,5.,5.,5.,5.,5.,5.,5.,5.}
| 6: |
| 7: | {64.,64.,64.,64.,64.,64.,64.,64.,64.,64.}
| 8: | {10.95,10.9,10.85,10.8,10.75,10.7,10.65,10.6,10.55,10.5}
| 9: | {165.,165.,165.,165.,165.,165.,165.,165.,165.,165.}
| 10: |
| 11: | {63.8,63.6,63.4,63.2,63.,62.8,62.6,62.4,62.2,62.}
| 12: | {9.35,7.7,6.05,4.4,2.75,1.1,-0.55,-2.2,-3.85,-5.5}
| 13: | {517.,517.,517.,517.,517.,517.,517.,517.,517.,517.}
| 14: |
| 15: | {57.4,50.8,44.2,37.6,31.,24.4,17.8,11.2,4.6,-2.}
| 16: | {5.83,0.66,-4.51,-9.68,-14.85,-20.02,-25.19,-30.36,-35.53,-40.7}
| 17: | {515.4,513.8,512.2,510.6,509.,507.4,505.8,504.2,502.6,501.}
| 18: |
| 19: | {43.32,22.64,1.96,-18.72,-39.4,-60.08,-80.76,-101.44,-122.12,-142.8}
| 20: | {5.846,0.708,-4.414,-9.52,-14.61,-19.684,-24.742,-29.784,-34.81,-39.82}
| 21: | {464.2,411.4,358.6,305.8,253.,200.2,147.4,94.6,41.8,-11.} |
Gruß,
Peter
|
|
|
|