Verfasst am: 06.11.2014, 15:18
Titel: Werte zwischen Intervallgrenzen ausgeben
Moin,
mein Problem ist folgendes:
Ich versuche gerade mir die Werte zwischen zwei Intervallgrenzen ausgeben zu lassen. Ich habe eine Matrix und der i-te Eintrag der ersten Spalte bildet die untere Grenze und der i-te Eintrag der zweiten Spalte die obere Grenze. Die Schrittweite soll 2,5 betragen.
Ich versuch's demnächst genauer zu schreiben
Ich habe zum Beispiel die Punkte P1 = 0 und P2 = 10. Diese Punkte sollten als Intervallgrenzen dienen. Ich wollte nun die Werte zwischen diesen Punkten haben, die 2,5 auseinanderliegen, also 0, 2.5, 5, 7.5 und 10.Ich bin jetzt schon ein bisschen weitergekommen. (In meinem Code ist die Schrittweite 0,5)
Ich brauche eine if Schleife, die folgendes macht. Wenn ein Wert aus dem Vektor Werte_zwischen_Grenzen einem Mittelwert entspricht, dann addiere zu x den j-ten Eintrag der dritten Spalte.
val = [012.557.57.681011];
low = 0;
high = 10;
index = low <= val & val <= high; % suche Werte innerhalb der Grenzen % entspricht: index = find(low <= val & val <= high);
val_limits = val(index); % Werte innerhalb von low und high
eqFactor = mod(val_limits,2.5); % teile durch 2.5, kein Rest = gesuchter Wert
index = find(eqFactor == 0); % suche alle Werte = 0
val_result = val_limits(index);
Nur scheinbar bin ich zu blöd das auf mein Problem umzumünzen oder es ist vielleicht nicht das, was ich suche. Ich dachte zwsichenzeitlich, dass mich dein Tipp mit modulo zumindest auf die richtige Straße führt :/
Ich probiere noch einmal mein Problem darzustellen:
Ich möchte erreichen, dass mein Zaehler um den j-ten Eintrag der dritten Spalte meiner Matrix_HS_komplett erhöht wird, wenn ein Wert_zwischen_Grenzen genau durch den jeweiligen Mittelwert teilbar, also 1 ergibt, ist. Und ich weiß, dass der Zaehler für i=1 und j=1 definitv einen Wert größer 0 ausspucken muss. Allerdings macht er das nicht. Mit dem Befehl find() komme ich nicht zurecht, entweder weil ich zu dämlich bin diesen zu verstehen und anzuwenden oder weil er nicht genau auf mein Problem passt.
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
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.