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

rheinfolge von Stufen finden .

 

heshamali
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2016, 15:48     Titel: rheinfolge von Stufen finden .
  Antworten mit Zitat      
hallo alle zusammen,
ich habe hier eine frage,und zwar wie ich meine Signal bearbeiten kann,in dem die gesamte signal gleich aussehen sein muss ,durch die folgende aufgabe:
1.Stufen Finden
2.übergänge zwischen Stufen finden und unterscheiden
3.Rheinfolge von Stufen finden
4.Fehlerhaft Rheinfolge finden
5.finden und lösen,die die Rheinfolge falsch macht.
Code:
close all
a = [ones(1,10),5,10*ones(1,6),5*ones(1,8)];
b = [ones(1,5),8*ones(1,4),ones(1,5),8*ones(1,4),fliplr(a)];
d =[b,2*fliplr(b)];
a_korrektur_2=fliplr(d);

i=1;
 while i <= 1:3


 singleVals= find(diff(a_korrektur_2(1:end-1)) ~= 0 & diff(a_korrektur_2(2:end)) ~= 0)+1;
 a_korrektur_2(singleVals) = a_korrektur_2(singleVals+1);
 i=i+1;

end
figure


plot(a_korrektur_2)


 

vielen danke
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: 22.03.2016, 17:12     Titel:
  Antworten mit Zitat      
Hallo,

das ist mittlerweile der dritte Thread zu diesem Thema.
Wieder geht es um Stufen. Ich habe dich in deinem ersten Thread wiederholt gebeten zu klären, nach welchen Kriterien du etwas als Stufe ansiehst, und leider keine klare Antwort erhalten.

Bei dieser neuen Aufgabenformulierung ist mir lediglich der erste Schritt klar (abgesehen von der weiter bestehenden Frage, was denn nun eine Stufe ist).

Zu den anderen Fragen:
2. nach welchen Kriterien soll unterschieden werden?
3. was meinst du damit?
4. was soll an der Reihenfolge fehlerhaft sein?

Falls es dir leichter fällt, die Problemstellungen auf Englisch zu formulieren, ist vielleicht ein englischsprachiges Forum wie MATLAB Answers eine Alternative.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
heshamali
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 26.02.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2016, 17:57     Titel:
  Antworten mit Zitat      
Hallo Harald ,
danke für deine Antwort.nein besser auf deutsche .ich versuche jetzt alles richtig zu beschreiben.
im diagramm habe ich die Stufen von 1 bis 6, und die Stufen wiederholen nach der 6. stufe.ich möchte jetzt das so,wenn die zweiten 6 stufen sich wiederholen,dass sie genau wie die ersten 6 stufen aus sehen,weil wie du im Diagramm sieht,bei der zweiten Stufen fingt bei 1 ,2 dann 3 dann wieder 3 wieder 2 .
hier ist der genau code von meine Signalen.
Code:
clear all
close all
[EMGfilename EMGpathname] = uigetfile('*.mat','Select EMG Data File','P:\OttoBock_Dyneva\Daten_EMG\RPE\Bewegungsgesunde Probanden\AlSufyaniHesham');
pathToFileEMG = fullfile(EMGpathname, EMGfilename);

fsample=1500;
% Laden des signal
[EMG_RawSignal ] = importdata([EMGpathname EMGfilename]); %EMG Ruhsignal wird für alle Signalen aufgerufen
size_vec = size(EMG_RawSignal.Data{1,10}); %  size_vektor ist von 1 bis 10 Date gleich ,deswegen wird nur das erste size_vec vom ersten Signal für alle Singalen benutzt.

time_vector = 0:1/fsample:((size_vec(1)-1)/fsample);%time_vector ist für alle Signal gleich .

Stand_Arc_Stairs_Chair = EMG_RawSignal.Data{1,10};





Stand_Arc_Stairs_Chair_korrigiert(find(Stand_Arc_Stairs_Chair<=240))=0;
Stand_Arc_Stairs_Chair_korrigiert(find(240<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=700))=500;
Stand_Arc_Stairs_Chair_korrigiert(find(700<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=1160))=1000;
Stand_Arc_Stairs_Chair_korrigiert(find(1160<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=1650))=1500;
Stand_Arc_Stairs_Chair_korrigiert(find(1650<Stand_Arc_Stairs_Chair&Stand_Arc_Stairs_Chair<=2500))=2000;
Stand_Arc_Stairs_Chair_korrigiert(find(2500<=Stand_Arc_Stairs_Chair))=3000;    


a_korrektur=Stand_Arc_Stairs_Chair_korrigiert;

single = find(diff(a_korrektur(1:end-1)) ~= 0 & diff(a_korrektur(2:end)) ~= 0)+1;
while single >0
    single = find(diff(a_korrektur(1:end-1)) ~= 0 & diff(a_korrektur(2:end)) ~= 0)+1;
    a_korrektur(single) = a_korrektur(single+1);
end

figure
plot(Stand_Arc_Stairs_Chair_korrigiert,'b')
hold all
plot(a_korrektur,'r')
grid on


Erklären.png
 Beschreibung:

Download
 Dateiname:  Erklären.png
 Dateigröße:  142.09 KB
 Heruntergeladen:  290 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
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
.





 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.