WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

vektoren dynamisch erzeugen

 

elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 09.08.2011, 14:56     Titel:
  Antworten mit Zitat      
ich dank dir für deine Unterstützung! Very Happy

Nein so ist es genau richtig!
am anfang gilt die blaue kennlinie und dann bis zum schluss die rote, genau so wie du es programmiert hast!

Es geht ja ums Minimum und den punkt 0.53 ist die rote Kennlinie kleiner als die blaue, genau so sollte es sein, nur noch ohne schrägen!! Smile
Private Nachricht senden Benutzer-Profile anzeigen


elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 09.08.2011, 15:17     Titel:
  Antworten mit Zitat      
Nein stopp du hast recht; du machst ja nur immer eine Abfrage nach dem kleinsten x-Wert von der roten kennlinie, aber dieser x-Wert verschiebt sich ja mit jedem schleifendurchlauf nach rechts, d.h ich muss immer abfragen welcher x - werte gerade kleiner ist als der andere und der muss auch geplottet werden!

Einfach noch zu kompliziert für mich! Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 09.08.2011, 15:55     Titel:
  Antworten mit Zitat      
Eigentlich sollte es so aussehen!
ist mit worten ein bißchen schwer zu erklären!

untitled.zip
 Beschreibung:

Download
 Dateiname:  untitled.zip
 Dateigröße:  2.48 KB
 Heruntergeladen:  268 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 11.08.2011, 11:47     Titel:
  Antworten mit Zitat      
War es eigentlich beabsichtigt, dass in Limits auch Kennlinien mit gemeinsamem Frequenzbereich und dbV-Wert liegen? Die sind nämlich ein echtes Problem, da dadurch bereits ermittelte Abschnitte in der Gesamtkennlinie überschrieben werden. Diese Fälle müsste man nun extra abfangen und da fällt mir momentan auch noch keine Lösung für ein, wie ich dann den gültigen Bereich auf die doppelte Kennlinie übertrage.

Die Anordnung wie auf dem Bild funktioniert so nicht, was ich dir aber bereits erklärt habe. Z.B. der Verlauf der Gesamtkennl. über der zweiten Kennlinie. K2 hat nur 2 Punkte, soll aber zwsichen diesen Punkten zur dritten Kennlinie wechseln. Das geht nicht...deshalb gibt es nämlich auch die Schrägen. Ich habe jetzt erstmal Punkte in jeder Kennlinie interpoliert, so dass auch Punkte innerhalb der bereits vorhandenen Freq.abschnitten liegen.
Private Nachricht senden Benutzer-Profile anzeigen
 
elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 14.08.2011, 10:57     Titel:
  Antworten mit Zitat      
Hallo DSP,

Ja ich weiß das ist leider ein Problem. Jedoch kann es in einem Limit immer wieder mal vorkommen, dass sich die Werte wiederholen leider!Sad

Zitat:
Die Anordnung wie auf dem Bild funktioniert so nicht, was ich dir aber bereits erklärt habe. Z.B. der Verlauf der Gesamtkennl. über der zweiten Kennlinie. K2 hat nur 2 Punkte, soll aber zwsichen diesen Punkten zur dritten Kennlinie wechseln. Das geht nicht...


Das stimmt, aber die Gesamtkennlinie, muss am Ende leider so aussehen! Man müsste halt die y-Werte bei einem sprung jedesmal übernehmen , wobei das auch hinsichtlich der Programmierung Problem gibt, da es einfach sehr viel zu beachtende Fälle gibt!

Interpolation war auch schon ein Gedanke, jedoch ist dann genau der Frequenzwert nicht vorhanden, den man benötigen würde oder!

Häng dir mal ein Limit File im ursprünglichen Zustand an!!
Danke übrigens, dass du mich nicht hängen lässt!!

Limit1.zip
 Beschreibung:

Download
 Dateiname:  Limit1.zip
 Dateigröße:  241 Bytes
 Heruntergeladen:  268 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.08.2011, 11:33     Titel:
  Antworten mit Zitat      
Da die doppelten Kennlinien (Kopie) aber keinen zusätzlichen Betrag für die Gesamtkennlinie liefern, könnte man sie doch auch zunächst bei der Erstellung der Gesamtk. außen vor lassen. Am Ende übertrage ich dann einfach den gültigen Bereich des Originals auf die Kopie. Das sollte sich lösen lassen Wink.

Ich hänge aber momentan an einem ganz anderen Problem. Folgende Kennlinien...

K.n ____________
K.n+1 _____
K.n+2 .............__________ (Punkte nicht beachten)

Für K.n und K.n+1 kann ich die Gesamtkennlinie bestimmen. Ich habe ja bisher immer zwei aufeinanderfolgende Kennlinien betrachtet. Für K.n+2 darf ich nun aber nicht K.n+1 nehmen, sondern K.n da es ein höheres Freq.-max. hat. Das abarbeiten der sortierten Reihenfolge geht halt nicht immer und hier liegt der Knackpunkt. Im Moment suche ich da nach einer Lösung...
Private Nachricht senden Benutzer-Profile anzeigen
 
elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 14.08.2011, 12:43     Titel:
  Antworten mit Zitat      
Genau so ist es!

Deswegen hab ich mir gedacht jede Kennlinie einzeln zuerst auf Überlappungen zu überprüfen!
Denn

K.n ________
K.n..........________

ja auch vorkommt!

Wenn man dies bei jeder Kennlinie zuerst überprüft und die Wert anpasst und in ein neues Array hineinschreibt müsste es mit der sortierten Reihenfolge wieder funktionieren....häng da aber auch...war ein Gedanke von vielen!
Private Nachricht senden Benutzer-Profile anzeigen
 
elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 16.08.2011, 10:32     Titel:
  Antworten mit Zitat      
Hallo DSP,

kannst du mir vielleicht sagen, wie du interpoliert hast? Denn über eine gesamte Kennlinie hinweg zu interpolieren wäre ja falsch, weil dann ja Punkte vorhanden wären, in denen gar kein Limit existiert, oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.08.2011, 10:37     Titel:
  Antworten mit Zitat      
So hier...

Code:

% Anzahl der Kennlinien ermitteln
anzahl_k = length({Kennlinie.name});

% Werte innerhalb der Kennlinie interpolieren
for i=1:anzahl_k
    interp_freq = interp1([1:length(Kennlinie(i).frequenz)],Kennlinie(i).frequenz,[1:0.01:length(Kennlinie(i).frequenz)]);
    Kennlinie(i).frequenz = interp_freq;
    Kennlinie(i).dbV(1:length(interp_freq)) = Kennlinie(i).dbV(1);
end
 


Das habe ich innerhalb der Funktion load_and_sort() gemacht. Aber warte mal ab, ich sitze gerade noch an einer Lösung, wodurch man auch auf das Interpolieren verzichten kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 16.08.2011, 11:07     Titel:
  Antworten mit Zitat      
Ah Ok!

Sieht eigentlich ganz gut aus, nur werden die dbV Werte nicht übernommen, aber das hast du bestimmt auch schon bemerkt! Sind immer die des Anfangswertes!

Hast du eine Idee wie du vorgehst? Ich versuch momentan alles mit If Abfragen zu lösen, jedoch mit noch vielen Fehlern und Fragezeichen!
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.08.2011, 11:15     Titel:
  Antworten mit Zitat      
Ja, habe ich...aber eine Erklärung wäre mir jetzt zu viel Schreibarbeit. So bald ich was lauffähiges habe, poste ich es.

Die Funktion load_and_sort habe ich mittlerweile schon umgeschrieben. Ich lade nun alles in eine Kennlinie, was in Limits die gleichen dBV Werte in Reihe hat. Daher kann ich hier auch einfach den 1. dbV Wert der Kennlinie benutzen, da innerhalb dieser Kennlinie der dbV gleich ist.

load_and_sort.m
 Beschreibung:

Download
 Dateiname:  load_and_sort.m
 Dateigröße:  2.72 KB
 Heruntergeladen:  291 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
elcachon
Themenstarter

Forum-Century

Forum-Century


Beiträge: 190
Anmeldedatum: 03.05.11
Wohnort: ---
Version: 7.6.0(R2008a), 7.8.0(R2009a)
     Beitrag Verfasst am: 16.08.2011, 11:24     Titel:
  Antworten mit Zitat      
Ah OK!

eine gute Idee, ich kuck mir dein Programm gleich mal an!!

Danke schon mal!

Lg elcachon
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.