|
|
vektoren dynamisch erzeugen |
|
elcachon |

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 03.08.2011, 16:26
Titel: vektoren dynamisch erzeugen
|
 |
hallo, habe folgenden code
solange keine 0 in MyStruct(1,1).xval zu finden ist, sollen die werte in newVektor reingeschrieben werden!
hier wird der vektor natürlich die ganze zeit überschrieben und es stehen nur die letzten werte drin.
Ich möchte jedoch, jedes mal wenn eine 0 gefunden ist, dass die nachfolgenden Werte in einen neuen newVektor geschrieben werden.
soll mal so aussehen:
newVektor0 = [.......]
newVektor1 = [.......] usw.
hab schon gelesen, dass man das irgendwie über indexe und struct - arrays machen soll, aber wie??
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 03.08.2011, 17:53
Titel:
|
 |
Hallo
mir ist deine Idee nicht klar, vielleicht anhand eines Beispiels beschreiben.
meinst du so:
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 03.08.2011, 18:24
Titel:
|
 |
Hallo denny
So sieht der Inhalt einer meiner Struct Variablen aus
und ich würde den Inhalt gerne so separieren.
newVektor0 = [ 0.5300 1.7100]
bewVektor1 = [ 62.5000 88.1000] usw.
also alle die Werte, die durch eine NULL getrennt sind sollen auch in einen neuen Vektor geschrieben werden!
Lg elcachon
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.08.2011, 00:09
Titel:
|
 |
Hallo elcachon,
"newVector1", "newVector2" etc ist eine schlechte Idee. Man bräuchte später komplizierte Methoden um wieder auf diese dynamisch erzeugten Variablen zugreifen zu können. Ein CELL Vektor ist viel besser.
Du musst noch abfangen, ob die Daten mit einer Null beginnen und/oder enden.
Gruß, Jan
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 04.08.2011, 08:01
Titel:
|
 |
Guten morgen Jan,
Danke für deine Nachricht! Ich weiß das das eine schlechte Idee ist, hab mir schon deine unzähligen posts darüber durchgelesen, aber tut mir leid ich konnte mir einfach nichts zusammenbauen, was für meine Anwendung passt.
Und ich dachte mir vielleicht ist es auch nicht so gut, da meine Daten schon in einem struct stecken und nun schreibe ich sie wieder in ein cell array-->zu umständlich??
Werd dein Beispiel gleich mal durchgehen.
Danke schon mal
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 04.08.2011, 08:53
Titel:
|
 |
Hier gehts doch bestimmt noch um die Kennlinien
Was sind das denn für Daten, die du gepostet hast...Frequenzbereiche der gesamten Kennlinie? Sonst beschreibe doch mal was du vor hast...evtl. kann man dir ja auch mit der Datenstruktur weiterhelfen, anstatt nun zum Cellarray zu wechseln.
Gruß DSP
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 04.08.2011, 08:56
Titel:
|
 |
Hallo Jan,
du noch eine frage:
In b sind aber jetzt nur zwei Felder belegt, die ersten beiden werte von data und die letzten beiden werte, werden nich reingeschrieben!!
Warum???
Wie könnte man das noch anpassen??
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 04.08.2011, 09:23
Titel:
|
 |
Guten morgen DSP,
dich hab ich vorher voll überlesen, sorry:)
ja genau es handelt sich um Kennlinien. Das was ich gepostet habe ist die Frequenz in MHz
ich übergebe die daten an meine funktion testlimit schon als cell array und ornde sie dann als struct, damit ich
1. weiß wieviele Kennlinien sich darin verbergen und
2. ich die daten nach freqeuenz(.xval) und dBµV(.yval) schon sortiert hab
alle werte durch NULL getrennt sollen nun ein eigener vektor sein, am besten wäre hier natürlich ein neuer struct oder cell indem ich gleich die freqeunz und dBµV - paare einsortieren kann
denn die null in MyStruct(ii,1).xval ist an der selben Stelle wie in MyStruct(ii,1).yval = data{ii}(:,2);
hoffentlich kann mir jemand folgen!
Sitze seit anfang der woche dran und bin schon fast dabei das Handtuch zu schmeißen
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 05.08.2011, 10:19
Titel:
|
 |
Kann dir noch nicht ganz folgen...
Deine erste Aufgabe ist ja vor der Bestimmung der Gesamtkennlinie, die Struktur mit den Daten der einzelnen Kennlinien zu füllen. Ich nehme mal an, darum geht es hier gerade.
Die Daten
usw. sollen wie in die Struktur geladen werden? Null als Trennung...so etwa?
Was ist mit den y-Werten? Falls die Daten anders in dem Cellarray stehen, bitte genauer beschreiben.
Ich würde der Struktur ja gleich noch einen besseren Namen verpassen...
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 10:51
Titel:
|
 |
Guten Morgen DSP
Zitat: |
Die Daten usw. sollen wie in die Struktur geladen werden? Null als Trennung
|
Nein! Die Daten stehen mir folgendermaßen zur Verfügung!--Als Cell-Array!
Den Inhalt des Cell-Arrays data lese ich nun in MyStruct ein, um zu erfahren wieviele unterschiedliche Datensätze(z.B 1x2 cell-Array = 2 verschiedene Datensätze, usw.)
Nun möchte ich die Daten( am besten x-undy-werte) in ein neues cell-array ablegen, aber nur immer bis zur nächsten null, dann werden die nächsten daten unter neuen fieldindex ins gleiche cell array abgelegt, z.B so
Die Null wird weggelassen und übersprungen.
Mein Ziel: Ich möchte die sortierten x-yWertepaare später sortieren, und zwar nach dem kleinsten x-Wert.
Danach möchte ich in einem plot das geimeinsame Minimum der in diesem Beispiel vorhandenen Daten
darstellen.
ach schwere geburt, ich hoffe du verstehst mich a bissal.
Weiß nur nicht ob es möglich ist die fieldinhalte nach absteigenden x-Werten zu sortieren!
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 11:35
Titel:
|
 |
Ehrlich gesagt verstehe ich nun auch nicht viel mehr...
Aber mal der Reihe nach:
1. Hast du die Daten selbst in den Cell-array gepackt? Ich finde das so nämlich ganz schon umständlich...
2. In data{1,1}...1. Spalte sind die Hz und die 2. Spalte die dBu Werte...aber was bedeutet nun die Nulltrennung. Ist das dann Kennlinie 1, 2...usw.? Was ist dann data{1,2}? Ich denke die Anordnung deiner Daten hätte man auch geschickter aufbauen können.
3. Warum lädst du die Daten von cell arrays in struct und nachher wieder zurück? Das ist doch vollkommen überflüssig. Wenn du lieber mit Cell arbeiten möchtest, bleib doch gleich in dem Format. Übrigens kann man auch eine Cell-Struktur aufbauen. Schau mal in der Doku unter 'Cell Arrays of Structures'.
Edit: Ist die Aufteilung immer 2 Werte und dann Null...oder variiert das?
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 13:25
Titel:
|
 |
hallo,
also zu deinen fragen:
1. Die Daten habe ich in ein Cell-Array geschrieben. Sie befinden sich in einem Textfile und werden von einem kleinen Programm interpretiert; Die 0 steht für einen Text anstatt Zahlen im file!z.B sieht ein Teil meines Files so aus
0.53 30
1.71 30
- % wird als 0 interpretiert
62.5 12
88.1 12
-
2. data{1,1} ist gleich erste Kennlinie richtig und data{1,2} entspricht der zweiten Kennlinie
3. ich weiß tut mir leid, aber ich tu mich halt noch ziemlich schwer das in einen vernünftigen stil zu programmieren!
Das variiert leider, d.h es kann sein das auch mal zwei Nullen folgen und dann erst wieder ein Wertepaar!
Edit:
Ich will einfach die daten von den nullen trennen, damit ich die kennlinien anhand iheres kleinsten Frequenzwertes sortieren kann. Denn anhand der beiden Kennlinien möchte ich nämlich eine resultierende Kennlinie erzeugen, sich immer auf das jeweilige frequenzminimum der jeweiligen Kennlinien bezieht!
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 14:03
Titel:
|
 |
Ok...aber erkläre mir doch wie nun die Daten in data{1,1} sammenhängen. Gehört das alles zu einer Kennlinie...aus deinem Bsp: 0.53...109.1 Hz?
Hier geht es ja immer noch um das Laden...wäre es da nicht sinnvoller die Daten gleich in Mystruct zu laden, zu sortieren und dort bis zum Ende (=Gesamtkennlinie) zu lassen? Mal unabhängig davon, ob du mit Strukturen klar kommst. Hilfe bekommst du ja und du lernst gleich auch noch was mit. Ich würde mir hier auf jeden Fall gleich einen vernünftigen Aufbau/Anordnung der Daten überlegen, als zwischen drin immer wieder an den Formaten zu basteln
Sonst hänge doch mal deinen eingelesenen Datenfile hier als mat-file (gepackt) an.
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 14:40
Titel:
|
 |
Hey
ja die Daten in data{1,1} gehören zu einer Kennlinie und die Daten in Daten in data{1,2} gehören zur zweiten Kennlinie!
Zitat: |
..wäre es da nicht sinnvoller die Daten gleich in Mystruct zu laden, zu sortieren und dort bis zum Ende (=Gesamtkennlinie) zu lassen? |
das denke ich auch, leider happerts bei der Umsetzung, denn wenn ich sortiere, müssen ja zu denn sortierten x-werten auch die y-werte angepasst werden...ach gott es werden ja immer mehr baustellen!
mat-file ist hier verboten, wie kann ich die sonst anhängen??
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 08.08.2011, 14:42
Titel:
|
 |
ach habs denke so hast du das gemeint oder??
Beschreibung: |
|
 Download |
Dateiname: |
limit.zip |
Dateigröße: |
456 Bytes |
Heruntergeladen: |
337 mal |
|
|
|
|
Gehe zu Seite 1, 2, 3 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|