Frage bezüglich MAPLE < Maple < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:55 Mi 14.01.2004 | Autor: | rahul |
möchte eine liste gefüllt mit "plots" mit display wiedergeben.
kann mir einer sagen, wo mein fehler ist???
bin am verzweifeln...
-----------------------------------------------------
with(plots):
liste:=[]:
[mm] test1:=implicitplot([x^2+1*y^2=1],x=-3..3,y=-3..3,scaling=CONSTRAINED):
[/mm]
[mm] test2:=implicitplot([x^2+0*y^2=1],x=-3..3,y=-3..3,scaling=CONSTRAINED):
[/mm]
[mm] test3:=implicitplot([x^2-1*y^2=1],x=-3..3,y=-3..3, [/mm] scaling=CONSTRAINED):
liste:=[op(liste),[test1,test2,test3]]:
display(liste, insequence=true);
-----------------------------------------------------
für jegliche hilfe bin ich dankbar
mfg
fabian
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:24 Mi 14.01.2004 | Autor: | Marc |
Hallo Fabian,
willkommen im MatheRaum !
Leider kenne ich Maple nicht aus eigener Erfahrung, ich habe mir nur gerade was im Netz dazu durchgelesen.
Funktioniert das denn:
with(plots):
[mm] test1:=implicitplot([x^2+1*y^2=1],x=-3..3,y=-3..3,scaling=CONSTRAINED):
[/mm]
[mm] test2:=implicitplot([x^2+0*y^2=1],x=-3..3,y=-3..3,scaling=CONSTRAINED):
[/mm]
[mm] test3:=implicitplot([x^2-1*y^2=1],x=-3..3,y=-3..3, [/mm] scaling=CONSTRAINED):
display({test1,test2,test3});
Ansonsten wäre bei deiner Frage ganz hilfreich was denn eigentlich bei deinem "Programm" nicht funktioniert bzw. was genau die Fehlermeldung ist.
Ich hoffe, jemand anderes kennt sich mit Maple aus und wird dir hier noch antworten.
Alles Gute,
Marc.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:48 Mi 14.01.2004 | Autor: | rahul |
hallo,
display({test1,test2,test3}); <--- das geht
ich habe nicht nur test1..3 sondern mehrere, diese sollen mittels einer schleife in eine liste geschrieben werden.
ich verstehe einfach nicht, dass ich test1..n gesondert (also so wie oben) mit display ausgeben kann, aber meine liste, wo ja das gleiche drin steht nicht...
also:
liste:=[op(liste),[test1,test2,test3]]:
display(liste, insequence=true);
fehlermeldung:
Error, (in display) first argument must be a plot structure or list, set or array of plot structures
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:26 Mi 14.01.2004 | Autor: | Marc |
Hallo Fabian,
> display({test1,test2,test3}); <--- das geht
>
> ich habe nicht nur test1..3 sondern mehrere, diese sollen
> mittels einer schleife in eine liste geschrieben werden.
>
> ich verstehe einfach nicht, dass ich test1..n gesondert
> (also so wie oben) mit display ausgeben kann, aber meine
> liste, wo ja das gleiche drin steht nicht...
>
> also:
> liste:=[op(liste),[test1,test2,test3]]:
Was bedeutet denn hier "op(liste)"?
Dieser Definition nach zu urteilen, ist diese Liste doch zwei Elemente lang, das erste ist "op(liste)" und das zweite Elemente die Liste der Plots.
> display(liste, insequence=true);
Funktioniert denn
display([test1,test2,test3]);
Viele Grüße,
Marc.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:16 Mi 14.01.2004 | Autor: | rahul |
hallo, danke erstmal für deine mühe!!!
>Was bedeutet denn hier "op(liste)"?
liste:=[op(liste),[test1,test2,test3]]:
das bedeutet( oder soll beduetn), dass er "liste" [test1,test2,test3] hinzufügt...
gleichbedeutend mit:
liste:=[op(liste),[test1]]:
liste:=[op(liste),[test2]]:
liste:=[op(liste),[test3]]:
was ich nicht verstehe, wenn ich der liste (die ja leer ist)nur 2 elemente hinzufüge, funktioniert es :-(
kennst du noch eine möglichkeit, wie ich elemente einer liste hinzufüge ohne dieses OP? ich vermute mein problem liegt daran...
vielen dank für deine mühe
mfg
fabian
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:29 Mi 14.01.2004 | Autor: | Marc |
Hallo Fabian,
> kennst du noch eine möglichkeit, wie ich elemente einer
> liste hinzufüge ohne dieses OP? ich vermute mein problem
> liegt daran...
Naiverweise --wie gesagt, ich habe keine Ahnung-- würde ich das mal versuchen:
liste := liste + [test3]:
Das Konstrukt mit dem "op(liste)" wandelt glaube ich die Liste in eine Folge, also hättest du mit
liste:=[op(liste),[el1,el2,el2]]:
eine Liste aus einer Folge und einer anderen Liste konstruiert.
Viel Erfolg,
Marc.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:50 Mi 14.01.2004 | Autor: | rahul |
liste := liste + [test3]:
das habe ich auch schon probiert...
ich gebs echt bald auf...
wenn ich das ganze mit mengen mache, funktioniert es, nur die reihenfolge stimmt dann halt nicht :-(
mfg
fabian
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:37 Mi 14.01.2004 | Autor: | Marc |
Hallo Fabian,
ich weiß jetzt, wie es geht
Du warst schon gar nicht so weit entfernt.
Zunächst muß die liste mit op in eine Folge verwandelt werden:
folge := op(liste):
Dann kann man dort nämlich einfach Elemente anhängen:
folge := folge, element1:
Wahrscheinlich geht auch:
folge := folge, element1, element2:
Mit "[...]" wandelst du die Folge wieder in eine Liste um:
liste := [ folge ];
Es müßte also folgendes funktionieren:
liste := []:
liste := [op(liste), test1]:
liste := [op(liste), test2]:
liste := [op(liste), test3]:
Gib' mal Bescheid, ob wir das Problem geknackt haben
Alles Gute,
Marc.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:30 Do 15.01.2004 | Autor: | rahul |
hallo marc,
also erstmal, ich habs auch grad zum laufen gebracht!!!
hab deine lösung gerade eben getestet, funktioniert auch!!!
ich habs jetzt so gemacht:
2 listen:
ablauf:=[]:
bild_einzeln:=[]:
dann das "einzufügende element" in bild_einzeln:
bild_einzeln:=[test1]:
und dann zu "ablauf" hinzugefügt:
ablauf:=(ablauf,op(bild_einzeln)):
so kann ich jetzt die elemente (test1..n) erst in bild_einzeln und dann in den "ablauf" bringen...
ist zwar etwas kompliziert aber das ist mir jetzt WURSCHT!!!
hauptsache es funktioniert jetzt...
zusammenhängend sieht das ganze dann so aus:
------------------------
with(plots):
ablauf:=[]:
bild_einzeln:=[]:
a:=(-1):
teil:=2/20:
for schleife from 1 to 20 by 1 do
[mm] bild:=implicitplot([x^2+a*y^2=1], [/mm] x=-3..3, y=-3..3, scaling=CONSTRAINED):
bild_einzeln:=[bild]:
ablauf:=(ablauf,op(bild_einzeln)):
a:=a+teil:
end do:
display(ablauf, insequence=true);
------------------------
ob schlechter stil oder was weiss ich...
es geht, und ich bin sehr erleichtert
nochmals vielen dank für deine mühe!!!
mfg
fabian
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:33 Do 15.01.2004 | Autor: | Marc |
Hallo Fabian,
alles klar, das freut mich
(Die Syntax mit den runden Klammern sind wahrscheinlich arrays, das hatte display ja auch akzeptiert.)
Bis bald mal,
Marc.
|
|
|
|