2016-07-11 1 views
1

Irgendwelche Ideen, wie kann ich dies erreichen? Ich bin sehr neu in Mathematica ...Benötigen Plot mehrere Sätze von Daten, aber ich muss sie "verschieben", so dass sie alle den gleichen anfänglichen y-Wert haben, wenn t = 0

Mein erster Gedanke war, die Daten von Excel in. CSV zu importieren und den maximalen y-Wert in allen Datensätzen zu bestimmen, und verschieben Sie den Rest der anfänglichen y-Werte zu dieser Wert. Auch muss ich die Zeitwerte unverändert lassen, und es muss für N # von Listen arbeiten.

Ich habe keine Idee, wie dies zu tun ist, oder wenn es eine einfachere Lösung gibt. Vielen Dank!

Beispiel:

List # 1-> {{8,0}, {6,1}, {4,2}}, List # 2-> {{7,0}, {6, 1}, {2,2}}

Liste # 1-> {{8,0}, {6,1}, {4,2}}, Liste # 2-> {{8,0}, {7,1}, {3,2}}

Alle y-Werte in Liste 2 wurden um eins nach oben verschoben.

+0

Es ist nicht klar, was Sie fragen. –

+0

siehe 'Map',' Part', 'Maximum' – agentp

Antwort

0

Er hat diese Frage an mindestens einem anderen Ort gestellt. Er scheint einen Offset zu jedem Paar in einer Liste hinzufügen zu wollen, so dass die erste der ersten aller Listen gleich wird, die ersten jedes Paares im Rest jeder Liste denselben Offset und die jeweils zweite addiert Das Paar ist unverändert und er möchte, dass dies auf einer relativ beliebigen Anzahl von Listen funktioniert.

Versuchen Sie, diese anzupassen und sehen, ob es für Sie

list1 = {{8, 0}, {6, 1}, {4, 2}}; 
list2 = {{7, 0}, {6, 1}, {2, 2}}; 
list3 = {{5, 0}, {7, 1}, {5, 2}}; 
list4 = {{9, 0}, {4, 1}, {1, 2}}; 
f[v_] := Map[# + {list1[[1, 1]] - v[[1, 1]], 0} &, v]; 
{list2, list3, list4} = Map[f, {list2, list3, list4}] 

Werke, die zuweisen soll {{8,0}, {7,1}, {3,2}} List2, {{8 , 0}, {10,1}, {8,2}} zu Liste3 und {{8,0}, {3,1}, {0,2}} zu Liste4.

Verwandte Themen