INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

2dMatrix



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

07.08.2007, 16:40
Beitrag #1

ernie Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2004

8.20
2003
kA


Deutschland
2dMatrix
Hallo LVF-User!
..war lange nicht hier.
Ich wußte damals schon das dieses Forum sich rasch entwickeln wird.
aber nun zu meinem Problem:

Ich habe einen Meßzyklus, welcher innerhalb einer While-Schleife mit integrierter Casestruktur und For-Schleifen
abläuft und ein Meßgerät gibt nach jedem Durchlauf einen Wert heraus.
Nun soll aber als Bedingung nach jeweils N-Schritten(Durchläufen) an ein 1-D-Array ein zweites daruntergelegt werden,
aber: Werte sollen jetzt von rechts beginnend (also anders herum beginnend) eingetragen werden. ..und nach
wiederum N-Schritten ein3.Array, wo wieder von links nach rechts eingetragen wird.
...sorry für die etwas eigenartige Umschreibung meines Problems!

Ein gutes Beispiel wäre vielliecht: Elektronenstrahl einer Bildröhre ..der arbeitet ja auch eine Matrix ab.

Meine Matrix beträgt maximal 100x100Punkte und sollte dann als Matrixtabelle abgespeichert werden.

Es wäre nett wenn sich jemand dieses Problems annehmen könnte.

Gruß
ernie
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2007, 21:49
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
2dMatrix
Hi,

schau dir mal das hier an:


Sonstige .vi  test2darray.vi (Größe: 13,06 KB / Downloads: 279)


Evtl. hab ich aber auch zu kompliziert gedachtTongue...ich hab den Verdacht, dass der "alte Logiker" :idee:Lucki da auch noch was vorschlagen könnte...

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2007, 09:50 (Dieser Beitrag wurde zuletzt bearbeitet: 08.08.2007 09:56 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
2dMatrix
' schrieb:P ...ich hab den Verdacht, dass der "alte Logiker" :idee:Lucki da auch noch was vorschlagen könnte...
So direkt angesprochen, muß ich ja wohl...

Ganz klar ist die Fragestellung nicht, z.B was den "Case" betrifft. Auch wird nicht gesagt, ob die Zeilen immer gleich lang sind oder nicht und was die Abbruchbedingung der While-Schleife ist.
Ich nehme mal einfach eine For-Schleife.
Möglichkeit 1: Mit 2 verschachtelten Schleifen (Bild links)
(Der Code dient einfach zur Erzeugung fortlaufender Zahlen)
Möglichkeit zwei: Gar nichts machen, hinterher den Array umformen (Bild rechts)
   
Entschuldige Achim, daß ich Dein VI jetzt noch gar nicht getestet habe...
Nachtrag: Sollte die Anzahl Messwerte in jeder Zeile unterschiedlich sen, dann ist das Ergebnis nicht als Matrix darstellbar. Dann müßte man Cluster ins Spiel bringen.


Angehängte Datei(en)
Sonstige .vi  2d.vi (Größe: 11,18 KB / Downloads: 201)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2007, 10:23 (Dieser Beitrag wurde zuletzt bearbeitet: 08.08.2007 21:55 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
2dMatrix
Jetzt habe ich Achims VI angesehen. Ich habe nur den Satz vom Elektronenstrahl der Bildröhre für Ernst genommen, der Vergleich ist aber falsch. Besser wäre der Vergleich mit einem vor- rückwärts druckendem Drucker gewesen.
Man müßte dann die VIs so modifizieren:

   
(Mit der Ganzzahldivision wird geprüft, ob i gerade oder ungerade ist)
Das Vi von Achim hat die Eigenschaft, daß jeder einzelne Messwert sofort in der Matrix eingetragen wird. Bei mir wird die Matrix hingegen immer zeilenweise aktualisiert. (Wenn auf die Resultate erst am Ende des gesamten Messzyklus zugegriffen wird, ist der Unterscheid egal)
Etwas Genaueres könnte man vorschlagen, wenn der Sinn der Worte "...innerhalb einer While-Schleife mit integrierter Casestruktur und For-Schleifen..." nicht so rätselhaft wäre...


Angehängte Datei(en)
Sonstige .vi  2dm.vi (Größe: 14,98 KB / Downloads: 266)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2007, 21:17
Beitrag #5

ernie Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2004

8.20
2003
kA


Deutschland
2dMatrix
Hallo Achim und Lucki;
Achim ..ja, genau so meinte ich das mit der Art und Weise des Aufbaus der Matrix.
Lucki .. ja, in jeder Zeile, nenne sie mal x-richtung, wird die gleiche Anzahl von Messpunkten eingetragen.
Die Größe der Matrix(n x m = x*y)) wird vorher im Menü abgefragt und dann durchgereicht.
Natürlich war der Vergleich mit der Braunröhre nicht korrekt; sorry.
AchimsModell macht aber das ganze schon richtig.
Mein Problem jetzt: dei Messdaten werden in einer Stapelsequenz erzeugt, welche von einer For-Schleife umgeben ist und dann noch von einer Whileschleife.
Bis jetzt habe ich aber nur ein 1-D-Array, welches ich herausführen kann.
Es wäre natürlich schön, wenn ich, so wie in Achims Modell den Aufbau der Matrix mitverfolgen könnte; ..ist ja dann auch irgendwie ein Indikator für die Restdauer des Ablaufs.
Dies widerspricht natürlich dem Vorschlag ..erst am Ende das 1-D-Array entsprechend zu zerlegen und dann jede 2.Zeile "umzukehren".
Wie kann ich das denn realisieren?
(schaue mir jetzt gleich erst mal die zwei vi`s von Achim an)

Gruß
ernie
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2007, 22:54
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
2dMatrix
1. Ich glaube du kannst auch in der While-Schleife(also nicht nur in der For-Schleife) Indexing mit dem Rechtsklick einschalten. (wenn ich dein letztes Problem richtig verstanden habe, wirst du dann statt 1D Array ein 2D Array erhalten).
2. Zu den Lösungen von Achim und Lucki und zur Fragestellung:
wenn es wichtig ist nicht nach gerade/ungerade, sondern beliebige Zeile-eine Richtung, nächste Zeile-andere Richtung zu haben, dann würde ich es in einem boolschen Schieberegister mit Negation in jeder Iteration lösen und nicht mit dem Remainder.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2007, 23:38
Beitrag #7

ernie Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2004

8.20
2003
kA


Deutschland
2dMatrix
hi eq,
ich schicke dir am besten mal ein snapshot des betreffenden teils.
vielleicht erklärt dies das problem treffender.
wenn ich den datenfluss weiter herausführe (mit indexing), so gibt dies einen fehler ..nach außen (wg. typ).
das mit dem boelschen schieberegister klingt sehr interessant!
...vielleicht kann man dann, wenn du mein snapshot gesehen hast, nochmals darauf eingehen.
insbesondere wäre es auch interessant zu wissen wie es sich verhält, wenn man mal so einfach 10.ooo werte hat und ein 1-D-array rausschiebt (wie schon angesprochen).


gruß
ernie
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.08.2007, 23:40
Beitrag #8

ernie Offline
LVF-Grünschnabel
*


Beiträge: 18
Registriert seit: Aug 2004

8.20
2003
kA


Deutschland
2dMatrix
bmp ..wollte er wohl nicht (1,92mb)

jetzt als jpg


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2007, 08:09 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2007 08:12 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
2dMatrix
' schrieb:wenn es wichtig ist nicht nach gerade/ungerade, sondern beliebige Zeile-eine Richtung, nächste Zeile-andere Richtung zu haben, dann würde ich es in einem boolschen Schieberegister mit Negation in jeder Iteration lösen und nicht mit dem Remainder.
Mit dem Remainder ist nicht optimal. Aber ein dritte Methode wäre auch gut: Test der Einerstelle von i, siehe Bild:    
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2007, 08:55
Beitrag #10

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
2dMatrix
' schrieb:Mit dem Remainder ist nicht optimal. Aber ein dritte Methode wäre auch gut: Test der Einerstelle von i

Hm, was habt ihr damit für ein Problem? Gerade/ungerade ist doch sofort getauscht...und das geht ja auch während der Laufzeit, z.B. mit nem vorangestellten Select oder Case...

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: