RegistrierenRegistrieren   LoginLogin   FAQFAQ    SuchenSuchen   
QtiPlot if(e1; e2; e3)?
 
Neue Frage »
Antworten »
    Foren-Übersicht -> Sonstiges
Autor Nachricht
4ndre



Anmeldungsdatum: 14.11.2013
Beiträge: 3

Beitrag 4ndre Verfasst am: 14. Nov 2013 19:49    Titel: QtiPlot if(e1; e2; e3)? Antworten mit Zitat

Hallo

Ich möchte mit qtiplot eine Matrix so bearbeiten das Werte die größer sind als z.B. 6 denn Wert 6 annehmen. Dazu gibt es in qtiplot "set values" und die Funktion "if(e1; e2; e3): if e1 then e2 else e3.". Nun habe ich den Befehl "if(cell(i, j)>6; cell(i, j)=6; cell(i, j)=cell(i, j))" eingegeben. Als Fehlermeldung kommt dann "Undefined token "; cell(i,j)=6..." found at position 15.".
Und jetzt versteh ich die Fehlermeldung nicht da er ja das Semikolon eigentlich kennt bzw. als trennung zwischen "if" "then" und "else" benutzt.

Ich hoffe jemand kennt sich mit qtiplot aus und kann mir helfen.

Viele Grüße,
Andre
Namenloser324
Gast





Beitrag Namenloser324 Verfasst am: 14. Nov 2013 22:45    Titel: Antworten mit Zitat

Kenne das Programm nicht, aber ist cell(i,j) ein L-Value, also quasi eine Größe der du einen Wert zuweisen kannst("darf links vom gleichheitszeichen stehen")?
as_string
Moderator


Anmeldungsdatum: 09.12.2005
Beiträge: 5789
Wohnort: Heidelberg

Beitrag as_string Verfasst am: 14. Nov 2013 23:49    Titel: Antworten mit Zitat

Ich kenns zwar auch nicht, aber sicher, dass das kein Komma sein muss im if() drin? So wie ich das gerade in der Doku wo gesehen hab, sind es zwei Kommata.

Allerdings hab ich eigentlich keine Ahnung...

Gruß
Marco
Namenloser324
Gast





Beitrag Namenloser324 Verfasst am: 15. Nov 2013 00:00    Titel: Antworten mit Zitat

Jo, da hat as_string scheinbar recht.
Wobei es auch mit den Kommatas nicht funktionieren wird, da cell(x,y) kein LValue ist.
4ndre



Anmeldungsdatum: 14.11.2013
Beiträge: 3

Beitrag 4ndre Verfasst am: 15. Nov 2013 08:13    Titel: Antworten mit Zitat

Danke fuer die Hilfestellungen.
Auch mit Komma funktioniert es nicht. Wenn ich nur "cell(i,j)=3" eingebe dann erscheint in jeder Zelle eine 3 also kann ich cell(i,j) einen Wert zuordnen.

Mir geht es auch nur darum Zahlen auf die oben beschriebene weise zu verändern. Falls das auch ohne qtiplot geht hab ich kein Problem damit solange es kostenlos bleibt..
as_string
Moderator


Anmeldungsdatum: 09.12.2005
Beiträge: 5789
Wohnort: Heidelberg

Beitrag as_string Verfasst am: 15. Nov 2013 08:41    Titel: Antworten mit Zitat

Hallo,

ich vermute, dass es vielleicht daran liegt, dass dieses "if()" gar keine Funktionsblöcke als Argumente erwartet, sondern nur evaluierbare Ausdrücke:
Ich würde mal probieren, nur das hier zu schreiben:
Code:
Cell(i,j) = if(cell(i,j) > 6, 6, cell(i,j))



Was meinst Du mit "Zahlen ändern". Ist das irgendeine Datei, die in irgendeinem Format vorliegt? Oder was machst Du genau?

Gruß
Marco
4ndre



Anmeldungsdatum: 14.11.2013
Beiträge: 3

Beitrag 4ndre Verfasst am: 15. Nov 2013 12:18    Titel: Antworten mit Zitat

Tanzen

Danke dein Code hat funktioniert.

Es ist eine .txt Datei mit Zahlen die in ein Bild umgewandelt werden sollen. Ich nutze qtiplot für Fourier Transformations Holographie.
Neue Frage »
Antworten »
    Foren-Übersicht -> Sonstiges