Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Praktikum - Optische Verbrennungsdiagnostik von Zündsystemen mit MATLAB
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Berlin

Praktikant (w/m) Toolentwicklung Matlab
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Fellbach

Praktikum - Vergleich von MATLAB und Scilab
Branche: mehrere
IAV GmbH - Berlin, Chemnitz

Abschlussarbeit / Praktikum: Entwicklung Matlab (m/w)
Branche: Informationstechnologie, Elektrotechnik, Elektronik
GIGATRONIK Technologies GmbH - Ulm

Abschlussarbeit - Künstliche Intelligenz für die SCR-On-Board-Diagnose
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Berlin

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Anzahl von Bereichen ungleich 0 herausfinden.

 

newbie123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.02.2018, 14:52     Titel: Anzahl von Bereichen ungleich 0 herausfinden.
  Antworten mit Zitat      
Hi zusammen,

ich erstelle mir mit verschiedenen Loops die angehängte Grafik. Mich interessiert wieviele verschiedene blaue Linien ich für bestimmte Werte bekomme.
Wie kann ich das einfach aus dem Verktor den ich plotte rauslesen?
BTW der Vektor plottet den Imaginärteil, d.h. da wo man nichts sieht ist der imag=0.

D.h. ich möchte für verschiedene a0 und n/nc Werte einen Wert zwischen 0 und 3 bekommen.

Danke für eure Hilfe!

fig1.fig
 Beschreibung:

Download
 Dateiname:  fig1.fig
 Dateigröße:  416.76 KB
 Heruntergeladen:  46 mal


T16
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 31.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.02.2018, 15:55     Titel:
  Antworten mit Zitat      
Du hast also einen Vektor A=[ 1 4 5 2 0 0 0 1 2 3 1 4 0 0 1 4 0 0 1] und möchtest wissen wie viele Abschnitte mit Nullen es gibt? Also für A in dem Fall 3?
Code:

nullAbschnittFlag=false;
abschnittCounter=0;
for i=1:1:numel(A)
    if A(i)==0 && nullAbschnittFlag==false
        nullAbschnittFlag=true;
        abschnittCounter=abschnittCounter+1;
    elseif A(i)~=0
        nullAbschnittFlag=false;      
    end
end
disp(abschnittCounter);
 


Ich wühle mich hier Element für Element durch den Vektor. Immer wenn ich ein Nullelement erwische setze ich nullAbschnittFlag auf true, erkenne damit dass ich mich bereits in einem Nullabschnitt befinde und somit bei der nächsten Null den Zähler nicht weiter erhöhen muss. Treffe ich auf ein Element ungleich 0, dann wird nullAbschnittFlag auf true zurückgesetzt und das nächste Nullelement zählt wieder als neuer Abschnitt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.526
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 13.02.2018, 18:06     Titel:
  Antworten mit Zitat      
Code:

A=[ 1 4 5 2 0 0 0 1 2 3 1 4 0 0 1 4 0 0 1];
A=A>0; % Entfernen unnötiger Informationen
S=A(1:(end-1))-A(2:end); % Identifiziert Sprünge
n=sum(S>0); Zählt aufsteigende Flanken
 


Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
newbie123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2018, 10:44     Titel:
  Antworten mit Zitat      
Vielen Dank! Ich habe das etwas aufwändiger gemacht mit ner for-Schleife und da kamen leider ein paar Fehler rein. Danke dir vielmals!
 
newbie123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2018, 15:32     Titel:
  Antworten mit Zitat      
Allerdings habe ich noch
Code:
S=A(2:end) - A(1:(end-1));

und ein ~= 0 statt >0 gesetzt , da nicht sichergestellt ist dass die Bereiche komplett im Plot liegen.
 
newbie123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.03.2018, 16:27     Titel: Problem aufgetaucht
  Antworten mit Zitat      
Hi zusammen,
mir ist leider erst jetzt ein Fehler aufgefallen:

Ich konvertiere meine Werte in ein logisches Array:
[ 1 0 0 1 1 1 0 1 1 0 1]
und von dem will ich die Anzahl der Bereiche ungleich 0 herausfinden, also 4.

Mit den oben angegebenen Methoden finde ich aber leider die erste oder die letzte Lösung nicht...

LG
 
Neues Thema eröffnen Neue Antwort erstellen



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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.