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

Verhältnis von zwei messgroessen

 

Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 24.03.2013, 15:41     Titel:
  Antworten mit Zitat      
Hallo,

die Indizes musst du vermutlich aus dem R Vektor direkt auslesen. Dafür gibt es den find():

Code:
[werte, indices] = find(R<1.5 |R > 1.4)

Die Indices kannst du dann in eine Datei schreiben.

Wie auch immer, das liefert bei den gegeben Beispielvektoren A und B alle Indices, wie schon von Tusor angesprochen.

Viele Grüße,
Nras.
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2013, 15:49     Titel:
  Antworten mit Zitat      
Zuvor hatten wir jetzt nun

Code:
Filter=R<1.5 | R>1.4;  %ist das wirklich sinnvoll, oder müssten die Relationszeichen umgekehrt sein?
 A_select=A(Filter);
 B_select=B(Filter);


jetzt haben wir this

Code:
[werte, indices] = find(R<1.5 |R > 1.4)



könntest du mir vielleicht ein vorschlag code geben, ich bin bissl verwirrt

Code:
A = [- 1 2 3 4.5 4.5 4.5 4.5 4.5 3 2 10 5 40];
 B = [ 9 10 12 14 13.5 8.5 6.5 0.5 9.5 7 8 4 6 29];
 R=A./B;
Filter=R<1.5 | R>1.4;  %ist das wirklich sinnvoll, oder müssten die Relationszeichen umgekehrt sein?
 A_select=A(Filter);
 B_select=B(Filter);


und wie müsste jetzt mein
Code:
aussehen?
Danke.
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 24.03.2013, 16:02     Titel:
  Antworten mit Zitat      
Kannst du ein mal ganz klar sagen, was du in die Datei schreiben willst und wie die Datei aussehen soll? Sollen da die Indices und die Werte für A und B rein? Das ist mir noch nicht klar.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2013, 16:05     Titel:
  Antworten mit Zitat      
Ich möchte alle Werte, die nicht unterhalb 1,5 und oberhalb von 1,4 liegen mir merken,

dabei brauche ich die position im Array A und B und anschließend den verhältnis von den beiden
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 24.03.2013, 16:19     Titel:
  Antworten mit Zitat      
Code:

A = [- 1 2 3 4.5 4.5 4.5 4.5 4.5 3 2 10 5 40];
B = [ 9 10 12 14 13.5 8.5 6.5 0.5 9.5 7 8 4 6];
R=A./B;
[~, idx] = find(R>1.5 | R<1.4);

fileID = fopen('ext.txt','w');
fprintf(fileID,'%f \t%f \n',[idx;R(idx)]);
fclose(fileID);

 


Liefert das das gewünschte Ergebnis?

P.S.: In deinem Beispiel ist KEIN Verhältnis zwischen 1.4 und 1.5, daher betrifft das alle indices. Die Relationen sind nun anders herum.

Viele Grüße,
Nras
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 18:52     Titel:
  Antworten mit Zitat      
das mit der tilge habe ich es nicht verstanden (~), kannst du mal kruz erläutern wie das funktioniert
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.03.2013, 20:27     Titel:
  Antworten mit Zitat      
Hallo,

Nach der Funktion der Tilde kannst Du zunächst in der Dokumentation suchen. Dort findest Du, dass eine Tilde statt eines Outputs einer Funktion verwendet werden kann, wobei dieser Output dann ignoriert wird. Alternative:
Code:
[dummy, idx] = find(R>1.5 | R<1.4);
clear('dummy')

Ok?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
peterlec

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.03.2013, 01:23     Titel:
  Antworten mit Zitat      
Eine Frage zu dem Code:


Wie ermittele ich die Anzahl der eingetroffenen Werte von

Code:
[~, idx] = find(R>1.5 | R<1.4);
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 30.03.2013, 01:36     Titel:
  Antworten mit Zitat      
Hallo, ist
Code:

das, was du suchst?

Viele Grüße,
Nras.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.03.2013, 10:56     Titel:
  Antworten mit Zitat      
Hallo,

wenn es nur um die Anzahl der Werte geht, ist
Code:
sum(R>1.5 | R<1.4)

einfacher.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.04.2013, 13:21     Titel:
  Antworten mit Zitat      
Hallo peterlec,
Zitat:
Wie ermittele ich die Anzahl der eingetroffenen Werte von...

Bitte beschränke Dich auf eine Frage per Thread. Andernfalls kannst Du den "beantwortet"-Status nicht mehr sinnvoll setzen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.