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

Plotverschiebung - denselben Zeitpunkt bei allen Verläufen

 

mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2017, 15:51     Titel:
  Antworten mit Zitat      
Am Ende möchte ich quasi mehrere Verläufe auf einen Startpunkt bringen. Das ist echt bestimmt einfach, nur leider weiß ich so gar nicht Bescheid.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.11.2017, 16:17     Titel:
  Antworten mit Zitat      
Hallo,

es ist nicht sinnvoll, dass du time überschreibst (Zeile 22). Zudem solltest du für jedes Signal so ein time anlegen (Zeile 19). Zur Fehlermeldung: die Variable, die du verwenden möchtest, gibt es nicht im Workspace.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 11:17     Titel:
  Antworten mit Zitat      
Hallo Harald,

der Code funktioniert super. Ich habe jetzt quasi das Ergebnis, dass ich die Verschiebung in Form des Startwertes bekomme. Meinetwegen liegt der Startwert wie in dem Testbeispiel jetzt bei 11980.

Um diesen Startwert muss ich jetzt einen anderen Verlauf auch korrigieren. Hast du da eine Idee?

Gruß Anabelle

Code:
clear all;
clc;

O25P101_rpm = linspace(1, 1, 163840);

load('O25P1-1.mat','Channel_7_Data');
O25P101_rpm=Channel_7_Data;

time = linspace(1, 163840, 163840)';

schwellwert = 0.3;
start = find(abs(O25P101_rpm) > schwellwert, 1);

time(1:start-1) = [];
O25P101_rpm(1:start-1) = [];

figure
plot(time, O25P101_rpm);
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2017, 11:40     Titel:
  Antworten mit Zitat      
Hallo,

du kannst jedes andere Signal um den gleichen Startwert (willst du das wirklich?) oder einen anderen Startwert korrigieren:
Code:
anderesSignal(1:start-1) = [];


oder
Code:
start2 = find(abs(anderesSignal) > schwellwert, 1);

time2(1:start2-1) = [];
anderesSignal(1:start2-1) = [];


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 12:22     Titel:
  Antworten mit Zitat      
Harald,

du bist ein Schatz :-*

Da funktioniert prima.

Jetzt ist es einfach eine Fleißarbeit.

Ich bin noch nicht so gut in Matlabprogrammierung, daher sieht es noch recht viel aus.

Code:
clear all;
clc;

O25P101_rpm = linspace(1, 1, 163840);
O25P102_rpm = linspace(1, 1, 163840);
O25P103_rpm = linspace(1, 1, 163840);
O25P104_rpm = linspace(1, 1, 163840);
O25P105_rpm = linspace(1, 1, 163840);
O25P106_rpm = linspace(1, 1, 163840);
O25P107_rpm = linspace(1, 1, 163840);
O25P108_rpm = linspace(1, 1, 163840);
O25P109_rpm = linspace(1, 1, 163840);
O25P110_rpm = linspace(1, 1, 163840);

O50P101_rpm = linspace(1, 1, 163840);
O50P102_rpm = linspace(1, 1, 163840);
O50P103_rpm = linspace(1, 1, 163840);
O50P104_rpm = linspace(1, 1, 163840);
O50P105_rpm = linspace(1, 1, 163840);
O50P106_rpm = linspace(1, 1, 163840);
O50P107_rpm = linspace(1, 1, 163840);
O50P108_rpm = linspace(1, 1, 163840);
O50P109_rpm = linspace(1, 1, 163840);
O50P110_rpm = linspace(1, 1, 163840);

V25P101_rpm = linspace(1, 1, 163840);
V25P102_rpm = linspace(1, 1, 163840);
V25P103_rpm = linspace(1, 1, 163840);
V25P104_rpm = linspace(1, 1, 163840);
V25P105_rpm = linspace(1, 1, 163840);
V25P106_rpm = linspace(1, 1, 163840);
V25P107_rpm = linspace(1, 1, 163840);
V25P108_rpm = linspace(1, 1, 163840);
V25P109_rpm = linspace(1, 1, 163840);
V25P110_rpm = linspace(1, 1, 163840);

V50P101_rpm = linspace(1, 1, 163840);
V50P102_rpm = linspace(1, 1, 163840);
V50P103_rpm = linspace(1, 1, 163840);
V50P104_rpm = linspace(1, 1, 163840);
V50P105_rpm = linspace(1, 1, 163840);
V50P106_rpm = linspace(1, 1, 163840);
V50P107_rpm = linspace(1, 1, 163840);
V50P108_rpm = linspace(1, 1, 163840);
V50P109_rpm = linspace(1, 1, 163840);
V50P110_rpm = linspace(1, 1, 163840);

load('O25P1-1.mat','Channel_7_Data');
O25P101_rpm=Channel_7_Data;
load('O25P1-2.mat','Channel_7_Data');
O25P102_rpm=Channel_7_Data;
load('O25P1-3.mat','Channel_7_Data');
O25P103_rpm=Channel_7_Data;
load('O25P1-4.mat','Channel_7_Data');
O25P104_rpm=Channel_7_Data;
load('O25P1-5.mat','Channel_7_Data');
O25P105_rpm=Channel_7_Data;
load('O25P1-6.mat','Channel_7_Data');
O25P106_rpm=Channel_7_Data;
load('O25P1-7.mat','Channel_7_Data');
O25P107_rpm=Channel_7_Data;
load('O25P1-8.mat','Channel_7_Data');
O25P108_rpm=Channel_7_Data;
load('O25P1-9.mat','Channel_7_Data');
O25P109_rpm=Channel_7_Data;
load('O25P1-10.mat','Channel_7_Data');
O25P110_rpm=Channel_7_Data;

load('O50P1-1.mat','Channel_7_Data');
O50P101_rpm=Channel_7_Data;
load('O50P1-2.mat','Channel_7_Data');
O50P102_rpm=Channel_7_Data;
load('O50P1-3.mat','Channel_7_Data');
O50P103_rpm=Channel_7_Data;
load('O50P1-4.mat','Channel_7_Data');
O50P104_rpm=Channel_7_Data;
load('O50P1-5.mat','Channel_7_Data');
O50P105_rpm=Channel_7_Data;
load('O50P1-6.mat','Channel_7_Data');
O50P106_rpm=Channel_7_Data;
load('O50P1-7.mat','Channel_7_Data');
O50P107_rpm=Channel_7_Data;
load('O50P1-8.mat','Channel_7_Data');
O50P108_rpm=Channel_7_Data;
load('O50P1-9.mat','Channel_7_Data');
O50P109_rpm=Channel_7_Data;
load('O50P1-10.mat','Channel_7_Data');
O50P110_rpm=Channel_7_Data;

load('V25P1-1.mat','Channel_7_Data');
V25P101_rpm=Channel_7_Data;
load('V25P1-2.mat','Channel_7_Data');
V25P102_rpm=Channel_7_Data;
load('V25P1-3.mat','Channel_7_Data');
V25P103_rpm=Channel_7_Data;
load('V25P1-4.mat','Channel_7_Data');
V25P104_rpm=Channel_7_Data;
load('V25P1-5.mat','Channel_7_Data');
V25P105_rpm=Channel_7_Data;
load('V25P1-6.mat','Channel_7_Data');
V25P106_rpm=Channel_7_Data;
load('V25P1-7.mat','Channel_7_Data');
V25P107_rpm=Channel_7_Data;
load('V25P1-8.mat','Channel_7_Data');
V25P108_rpm=Channel_7_Data;
load('V25P1-9.mat','Channel_7_Data');
V25P109_rpm=Channel_7_Data;
load('V25P1-10.mat','Channel_7_Data');
V25P110_rpm=Channel_7_Data;

load('V50P1-1.mat','Channel_7_Data');
V50P101_rpm=Channel_7_Data;
load('V50P1-2.mat','Channel_7_Data');
V50P102_rpm=Channel_7_Data;
load('V50P1-3.mat','Channel_7_Data');
V50P103_rpm=Channel_7_Data;
load('V50P1-4.mat','Channel_7_Data');
V50P104_rpm=Channel_7_Data;
load('V50P1-5.mat','Channel_7_Data');
V50P105_rpm=Channel_7_Data;
load('V50P1-6.mat','Channel_7_Data');
V50P106_rpm=Channel_7_Data;
load('V50P1-7.mat','Channel_7_Data');
V50P107_rpm=Channel_7_Data;
load('V50P1-8.mat','Channel_7_Data');
V50P108_rpm=Channel_7_Data;
load('V50P1-9.mat','Channel_7_Data');
V50P109_rpm=Channel_7_Data;
load('V50P1-10.mat','Channel_7_Data');
V50P110_rpm=Channel_7_Data;



time01 = linspace(1, 163840, 163840)';
time02 = linspace(1, 163840, 163840)';
time03 = linspace(1, 163840, 163840)';
time04 = linspace(1, 163840, 163840)';
time05 = linspace(1, 163840, 163840)';
time06 = linspace(1, 163840, 163840)';
time07 = linspace(1, 163840, 163840)';
time08 = linspace(1, 163840, 163840)';
time09 = linspace(1, 163840, 163840)';
time10 = linspace(1, 163840, 163840)';

time11 = linspace(1, 163840, 163840)';
time12 = linspace(1, 163840, 163840)';
time13 = linspace(1, 163840, 163840)';
time14 = linspace(1, 163840, 163840)';
time15 = linspace(1, 163840, 163840)';
time16 = linspace(1, 163840, 163840)';
time17 = linspace(1, 163840, 163840)';
time18 = linspace(1, 163840, 163840)';
time19 = linspace(1, 163840, 163840)';
time20 = linspace(1, 163840, 163840)';

time21 = linspace(1, 163840, 163840)';
time22 = linspace(1, 163840, 163840)';
time23 = linspace(1, 163840, 163840)';
time24 = linspace(1, 163840, 163840)';
time25 = linspace(1, 163840, 163840)';
time26 = linspace(1, 163840, 163840)';
time27 = linspace(1, 163840, 163840)';
time28 = linspace(1, 163840, 163840)';
time29 = linspace(1, 163840, 163840)';
time30 = linspace(1, 163840, 163840)';

time31 = linspace(1, 163840, 163840)';
time32 = linspace(1, 163840, 163840)';
time33 = linspace(1, 163840, 163840)';
time34 = linspace(1, 163840, 163840)';
time35 = linspace(1, 163840, 163840)';
time36 = linspace(1, 163840, 163840)';
time37 = linspace(1, 163840, 163840)';
time38 = linspace(1, 163840, 163840)';
time39 = linspace(1, 163840, 163840)';
time40 = linspace(1, 163840, 163840)';

schwellwert = 0.3;

start01 = find(abs(O25P101_rpm) > schwellwert, 1);
start02 = find(abs(O25P102_rpm) > schwellwert, 1);
start03 = find(abs(O25P103_rpm) > schwellwert, 1);
start04 = find(abs(O25P104_rpm) > schwellwert, 1);
start05 = find(abs(O25P105_rpm) > schwellwert, 1);
start06 = find(abs(O25P106_rpm) > schwellwert, 1);
start07 = find(abs(O25P107_rpm) > schwellwert, 1);
start08 = find(abs(O25P108_rpm) > schwellwert, 1);
start09 = find(abs(O25P109_rpm) > schwellwert, 1);
start10 = find(abs(O25P110_rpm) > schwellwert, 1);

start11 = find(abs(O50P101_rpm) > schwellwert, 1);
start12 = find(abs(O50P102_rpm) > schwellwert, 1);
start13 = find(abs(O50P103_rpm) > schwellwert, 1);
start14 = find(abs(O50P104_rpm) > schwellwert, 1);
start15 = find(abs(O50P105_rpm) > schwellwert, 1);
start16 = find(abs(O50P106_rpm) > schwellwert, 1);
start17 = find(abs(O50P107_rpm) > schwellwert, 1);
start18 = find(abs(O50P108_rpm) > schwellwert, 1);
start19 = find(abs(O50P109_rpm) > schwellwert, 1);
start20 = find(abs(O50P110_rpm) > schwellwert, 1);

start21 = find(abs(V25P101_rpm) > schwellwert, 1);
start22 = find(abs(V25P102_rpm) > schwellwert, 1);
start23 = find(abs(V25P103_rpm) > schwellwert, 1);
start24 = find(abs(V25P104_rpm) > schwellwert, 1);
start25 = find(abs(V25P105_rpm) > schwellwert, 1);
start26 = find(abs(V25P106_rpm) > schwellwert, 1);
start27 = find(abs(V25P107_rpm) > schwellwert, 1);
start28 = find(abs(V25P108_rpm) > schwellwert, 1);
start29 = find(abs(V25P109_rpm) > schwellwert, 1);
start30 = find(abs(V25P110_rpm) > schwellwert, 1);

start31 = find(abs(V50P101_rpm) > schwellwert, 1);
start32 = find(abs(V50P102_rpm) > schwellwert, 1);
start33 = find(abs(V50P103_rpm) > schwellwert, 1);
start34 = find(abs(V50P104_rpm) > schwellwert, 1);
start35 = find(abs(V50P105_rpm) > schwellwert, 1);
start36 = find(abs(V50P106_rpm) > schwellwert, 1);
start37 = find(abs(V50P107_rpm) > schwellwert, 1);
start38 = find(abs(V50P108_rpm) > schwellwert, 1);
start39 = find(abs(V50P109_rpm) > schwellwert, 1);
start40 = find(abs(V50P110_rpm) > schwellwert, 1);

time01(1:start01-1) = [];
O25P101_rpm(1:start01-1) = [];
time02(1:start02-1) = [];
O25P102_rpm(1:start02-1) = [];
time03(1:start03-1) = [];
O25P103_rpm(1:start03-1) = [];
time04(1:start04-1) = [];
O25P104_rpm(1:start04-1) = [];
time05(1:start05-1) = [];
O25P105_rpm(1:start05-1) = [];
time06(1:start06-1) = [];
O25P106_rpm(1:start06-1) = [];
time07(1:start07-1) = [];
O25P107_rpm(1:start07-1) = [];
time08(1:start08-1) = [];
O25P108_rpm(1:start08-1) = [];
time09(1:start09-1) = [];
O25P109_rpm(1:start09-1) = [];
time10(1:start10-1) = [];
O25P110_rpm(1:start10-1) = [];

time11(1:start11-1) = [];
O50P101_rpm(1:start11-1) = [];
time12(1:start12-1) = [];
O50P102_rpm(1:start12-1) = [];
time13(1:start13-1) = [];
O50P103_rpm(1:start13-1) = [];
time14(1:start14-1) = [];
O50P104_rpm(1:start14-1) = [];
time15(1:start15-1) = [];
O50P105_rpm(1:start15-1) = [];
time16(1:start16-1) = [];
O50P106_rpm(1:start16-1) = [];
time17(1:start17-1) = [];
O50P107_rpm(1:start17-1) = [];
time18(1:start18-1) = [];
O50P108_rpm(1:start18-1) = [];
time19(1:start19-1) = [];
O50P109_rpm(1:start19-1) = [];
time20(1:start20-1) = [];
O50P110_rpm(1:start20-1) = [];

time21(1:start21-1) = [];
V25P101_rpm(1:start21-1) = [];
time22(1:start22-1) = [];
V25P102_rpm(1:start22-1) = [];
time23(1:start23-1) = [];
V25P103_rpm(1:start23-1) = [];
time24(1:start24-1) = [];
V25P104_rpm(1:start24-1) = [];
time25(1:start25-1) = [];
V25P105_rpm(1:start25-1) = [];
time26(1:start26-1) = [];
V25P106_rpm(1:start26-1) = [];
time27(1:start27-1) = [];
V25P107_rpm(1:start27-1) = [];
time28(1:start28-1) = [];
V25P108_rpm(1:start28-1) = [];
time29(1:start29-1) = [];
V25P109_rpm(1:start29-1) = [];
time30(1:start30-1) = [];
V25P110_rpm(1:start30-1) = [];

time31(1:start31-1) = [];
V50P101_rpm(1:start31-1) = [];
time32(1:start32-1) = [];
V50P102_rpm(1:start32-1) = [];
time33(1:start33-1) = [];
V50P103_rpm(1:start33-1) = [];
time34(1:start34-1) = [];
V50P104_rpm(1:start34-1) = [];
time35(1:start35-1) = [];
V50P105_rpm(1:start35-1) = [];
time36(1:start36-1) = [];
V50P106_rpm(1:start36-1) = [];
time37(1:start37-1) = [];
V50P107_rpm(1:start37-1) = [];
time38(1:start38-1) = [];
V50P108_rpm(1:start38-1) = [];
time39(1:start39-1) = [];
V50P109_rpm(1:start39-1) = [];
time40(1:start40-1) = [];
V50P110_rpm(1:start40-1) = [];

%figure
%hold on
%plot(time001, O25P101_rpm);
%plot(time002, O25P102_rpm);

accO25P101 = linspace(1, 1, 163840);
accO25P102 = linspace(1, 1, 163840);
accO25P103 = linspace(1, 1, 163840);
accO25P104 = linspace(1, 1, 163840);
accO25P105 = linspace(1, 1, 163840);
accO25P106 = linspace(1, 1, 163840);
accO25P107 = linspace(1, 1, 163840);
accO25P108 = linspace(1, 1, 163840);
accO25P109 = linspace(1, 1, 163840);
accO25P110 = linspace(1, 1, 163840);

accO50P101 = linspace(1, 1, 163840);
accO50P102 = linspace(1, 1, 163840);
accO50P103 = linspace(1, 1, 163840);
accO50P104 = linspace(1, 1, 163840);
accO50P105 = linspace(1, 1, 163840);
accO50P106 = linspace(1, 1, 163840);
accO50P107 = linspace(1, 1, 163840);
accO50P108 = linspace(1, 1, 163840);
accO50P109 = linspace(1, 1, 163840);
accO50P110 = linspace(1, 1, 163840);

accV25P101 = linspace(1, 1, 163840);
accV25P102 = linspace(1, 1, 163840);
accV25P103 = linspace(1, 1, 163840);
accV25P104 = linspace(1, 1, 163840);
accV25P105 = linspace(1, 1, 163840);
accV25P106 = linspace(1, 1, 163840);
accV25P107 = linspace(1, 1, 163840);
accV25P108 = linspace(1, 1, 163840);
accV25P109 = linspace(1, 1, 163840);
accV25P110 = linspace(1, 1, 163840);

accV50P101 = linspace(1, 1, 163840);
accV50P102 = linspace(1, 1, 163840);
accV50P103 = linspace(1, 1, 163840);
accV50P104 = linspace(1, 1, 163840);
accV50P105 = linspace(1, 1, 163840);
accV50P106 = linspace(1, 1, 163840);
accV50P107 = linspace(1, 1, 163840);
accV50P108 = linspace(1, 1, 163840);
accV50P109 = linspace(1, 1, 163840);
accV50P110 = linspace(1, 1, 163840);

load('O25P1-1.mat','Channel_6_Data');
accO25P101=Channel_6_Data;
load('O25P1-2.mat','Channel_6_Data');
accO25P102=Channel_6_Data;
load('O25P1-3.mat','Channel_6_Data');
accO25P103=Channel_6_Data;
load('O25P1-4.mat','Channel_6_Data');
accO25P104=Channel_6_Data;
load('O25P1-5.mat','Channel_6_Data');
accO25P105=Channel_6_Data;
load('O25P1-6.mat','Channel_6_Data');
accO25P106=Channel_6_Data;
load('O25P1-7.mat','Channel_6_Data');
accO25P107=Channel_6_Data;
load('O25P1-8.mat','Channel_6_Data');
accO25P108=Channel_6_Data;
load('O25P1-9.mat','Channel_6_Data');
accO25P109=Channel_6_Data;
load('O25P1-10.mat','Channel_6_Data');
accO25P110=Channel_6_Data;

load('O50P1-1.mat','Channel_6_Data');
accO50P101=Channel_6_Data;
load('O50P1-2.mat','Channel_6_Data');
accO50P102=Channel_6_Data;
load('O50P1-3.mat','Channel_6_Data');
accO50P103=Channel_6_Data;
load('O50P1-4.mat','Channel_6_Data');
accO50P104=Channel_6_Data;
load('O50P1-5.mat','Channel_6_Data');
accO50P105=Channel_6_Data;
load('O50P1-6.mat','Channel_6_Data');
accO50P106=Channel_6_Data;
load('O50P1-7.mat','Channel_6_Data');
accO50P107=Channel_6_Data;
load('O50P1-8.mat','Channel_6_Data');
accO50P108=Channel_6_Data;
load('O50P1-9.mat','Channel_6_Data');
accO50P109=Channel_6_Data;
load('O50P1-10.mat','Channel_6_Data');
accO50P110=Channel_6_Data;

load('V25P1-1.mat','Channel_6_Data');
accV25P101=Channel_6_Data;
load('V25P1-2.mat','Channel_6_Data');
accV25P102=Channel_6_Data;
load('V25P1-3.mat','Channel_6_Data');
accV25P103=Channel_6_Data;
load('V25P1-4.mat','Channel_6_Data');
accV25P104=Channel_6_Data;
load('V25P1-5.mat','Channel_6_Data');
accV25P105=Channel_6_Data;
load('V25P1-6.mat','Channel_6_Data');
accV25P106=Channel_6_Data;
load('V25P1-7.mat','Channel_6_Data');
accV25P107=Channel_6_Data;
load('V25P1-8.mat','Channel_6_Data');
accV25P108=Channel_6_Data;
load('V25P1-9.mat','Channel_6_Data');
accV25P109=Channel_6_Data;
load('V25P1-10.mat','Channel_6_Data');
accV25P110=Channel_6_Data;

load('V50P1-1.mat','Channel_6_Data');
accV50P101=Channel_6_Data;
load('V50P1-2.mat','Channel_6_Data');
accV50P102=Channel_6_Data;
load('V50P1-3.mat','Channel_6_Data');
accV50P103=Channel_6_Data;
load('V50P1-4.mat','Channel_6_Data');
accV50P104=Channel_6_Data;
load('V50P1-5.mat','Channel_6_Data');
accV50P105=Channel_6_Data;
load('V50P1-6.mat','Channel_6_Data');
accV50P106=Channel_6_Data;
load('V50P1-7.mat','Channel_6_Data');
accV50P107=Channel_6_Data;
load('V50P1-8.mat','Channel_6_Data');
accV50P108=Channel_6_Data;
load('V50P1-9.mat','Channel_6_Data');
accV50P109=Channel_6_Data;
load('V50P1-10.mat','Channel_6_Data');
accV50P110=Channel_6_Data;

%Plot vorher
figure
hold on
plot(accO25P101);
plot(accO25P102);
plot(accO25P103);
plot(accO25P104);
plot(accO25P105);
plot(accO25P106);
plot(accO25P107);
plot(accO25P108);
plot(accO25P109);
plot(accO25P110);

plot(accO50P101);
plot(accO50P102);
plot(accO50P103);
plot(accO50P104);
plot(accO50P105);
plot(accO50P106);
plot(accO50P107);
plot(accO50P108);
plot(accO50P109);
plot(accO50P110);

plot(accV25P101);
plot(accV25P102);
plot(accV25P103);
plot(accV25P104);
plot(accV25P105);
plot(accV25P106);
plot(accV25P107);
plot(accV25P108);
plot(accV25P109);
plot(accV25P110);

plot(accV50P101);
plot(accV50P102);
plot(accV50P103);
plot(accV50P104);
plot(accV50P105);
plot(accV50P106);
plot(accV50P107);
plot(accV50P108);
plot(accV50P109);
plot(accV50P110);



accO25P101(1:start01-1) = [];
accO25P102(1:start02-1) = [];
accO25P103(1:start03-1) = [];
accO25P104(1:start04-1) = [];
accO25P105(1:start05-1) = [];
accO25P106(1:start06-1) = [];
accO25P107(1:start07-1) = [];
accO25P108(1:start08-1) = [];
accO25P109(1:start09-1) = [];
accO25P110(1:start10-1) = [];

accO50P101(1:start11-1) = [];
accO50P102(1:start12-1) = [];
accO50P103(1:start13-1) = [];
accO50P104(1:start14-1) = [];
accO50P105(1:start15-1) = [];
accO50P106(1:start16-1) = [];
accO50P107(1:start17-1) = [];
accO50P108(1:start18-1) = [];
accO50P109(1:start19-1) = [];
accO50P110(1:start20-1) = [];

accV25P101(1:start21-1) = [];
accV25P102(1:start22-1) = [];
accV25P103(1:start23-1) = [];
accV25P104(1:start24-1) = [];
accV25P105(1:start25-1) = [];
accV25P106(1:start26-1) = [];
accV25P107(1:start27-1) = [];
accV25P108(1:start28-1) = [];
accV25P109(1:start29-1) = [];
accV25P110(1:start30-1) = [];

accV50P101(1:start31-1) = [];
accV50P102(1:start32-1) = [];
accV50P103(1:start33-1) = [];
accV50P104(1:start34-1) = [];
accV50P105(1:start35-1) = [];
accV50P106(1:start36-1) = [];
accV50P107(1:start37-1) = [];
accV50P108(1:start38-1) = [];
accV50P109(1:start39-1) = [];
accV50P110(1:start40-1) = [];


% Plot hinterher
figure
hold on
plot(accO25P101);
plot(accO25P102);
plot(accO25P103);
plot(accO25P104);
plot(accO25P105);
plot(accO25P106);
plot(accO25P107);
plot(accO25P108);
plot(accO25P109);
plot(accO25P110);

plot(accO50P101);
plot(accO50P102);
plot(accO50P103);
plot(accO50P104);
plot(accO50P105);
plot(accO50P106);
plot(accO50P107);
plot(accO50P108);
plot(accO50P109);
plot(accO50P110);

plot(accV25P101);
plot(accV25P102);
plot(accV25P103);
plot(accV25P104);
plot(accV25P105);
plot(accV25P106);
plot(accV25P107);
plot(accV25P108);
plot(accV25P109);
plot(accV25P110);

plot(accV50P101);
plot(accV50P102);
plot(accV50P103);
plot(accV50P104);
plot(accV50P105);
plot(accV50P106);
plot(accV50P107);
plot(accV50P108);
plot(accV50P109);
plot(accV50P110);
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 12:33     Titel:
  Antworten mit Zitat      
Harald,

ich habe ein neues Problem:

geht sicherlich auch irgendwie.

Auf dem Screenshot habe ich mal die ersten 10 Variablen markiert

accO25P101 bis accO25P110

aus diesen 10 Variablen möchte ich jetzt eine Mittelung durchführen. Ich würde erst eine Variable draus machen:

Code:
accO25P1 = [accO25P101 accO25P102 accO25P103 accO25P104 accO25P105 accO25P106 accO25P107 accO25P108 accO25P109 accO25P110];


und dann mitteln:

Code:
O25P1_ave = mean(accO25P1,2);


leider sind die Variablen ja jetzt nicht mehr gleich lang

Die Fehlermeldung sieht man im Command Window

Hast du hierfür auch eine Lösung?

Anabelle

test.jpg
 Beschreibung:
Screenshot

Download
 Dateiname:  test.jpg
 Dateigröße:  489.88 KB
 Heruntergeladen:  268 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2017, 13:03     Titel:
  Antworten mit Zitat      
Hallo,

durchnummerierte Variablennamen führen zu länglichem Code. Wenn du beispielsweise ein Cell Array verwendest, dann kannst du eine Schleife erstellen.

Code:
O25P101_rpm = linspace(1, 1, 163840);
O25P102_rpm = linspace(1, 1, 163840);
O25P103_rpm = linspace(1, 1, 163840);
O25P104_rpm = linspace(1, 1, 163840);
O25P105_rpm = linspace(1, 1, 163840);
O25P106_rpm = linspace(1, 1, 163840);
O25P107_rpm = linspace(1, 1, 163840);
O25P108_rpm = linspace(1, 1, 163840);
O25P109_rpm = linspace(1, 1, 163840);
O25P110_rpm = linspace(1, 1, 163840);


wird dann beispielsweise zu
Code:
for k = 1:10
O25P_rpm{k} = linspace(1, 1, 163840);
end


Für die Mittelung musst du die Signale auf die gleiche Länge bringen. Das kann beispielsweise durch Abschneiden von Werten oder durch Interpolation passieren. Welche Vorgehensweise du verwenden möchtest, solltest du da entscheiden. Wir können dann ggf. bei der Implementierung helfen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 14:03     Titel:
  Antworten mit Zitat      
Hallo, dann wäre das 'Abschneiden' das mittel der Wahl.
Wie lässt sich das realisieren? Am Ende sind die Signale ohnehin am Ausklingen. Wie bekomme ich das hin?
Ich müsste ja herausfinden, welches Signal das Kürzeste ist und dann alle anderen Signale auf diese Länge dann auch trimmen oder?!

Geuß Anabelle

Ps. danke für die Vereinfachung Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2017, 14:45     Titel:
  Antworten mit Zitat      
Hallo,

wenn du ein Cell Array von Signalen hast (Umsetzung des Vorschlags):

Code:
laengen = cellfun(@length, O25P_rpm);
minLaenge = min(laengen);
O25P_rpm = cellfun(@(x) x(1:minLaenge), O25P_rpm, 'UniformOutput', false);


Mit cell2mat kannst du das dann wieder in eine Matrix umwandeln, bei der jede Spalte ein Signal ist, damit du weiter damit rechnen kannst.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 15:33     Titel:
  Antworten mit Zitat      
Hallo, um den Vorschlag umzusetzen, müsste ich dann auch folgenden Ausdruck irgendwie vereinfachen:

Code:
load('O25P1-1.mat','Channel_7_Data');
[b]O25P101_rpm[/b]=Channel_7_Data;
load('O25P1-2.mat','Channel_7_Data');
O25P102_rpm=Channel_7_Data;
load('O25P1-3.mat','Channel_7_Data');
O25P103_rpm=Channel_7_Data;
load('O25P1-4.mat','Channel_7_Data');
O25P104_rpm=Channel_7_Data;
load('O25P1-5.mat','Channel_7_Data');
O25P105_rpm=Channel_7_Data;
load('O25P1-6.mat','Channel_7_Data');
O25P106_rpm=Channel_7_Data;
load('O25P1-7.mat','Channel_7_Data');
O25P107_rpm=Channel_7_Data;
load('O25P1-8.mat','Channel_7_Data');
O25P108_rpm=Channel_7_Data;
load('O25P1-9.mat','Channel_7_Data');
O25P109_rpm=Channel_7_Data;
load('O25P1-10.mat','Channel_7_Data');
[b]O25P110_rpm[/b]=Channel_7_Data;


An Variablen O25P101_rpm bis O25P110_rpm komme ich sonst nicht heran oder?

Anabelle
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 15:50     Titel:
  Antworten mit Zitat      
die .mat - Dateien kann ich nicht in die Schleife implementieren oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2017, 16:03     Titel:
  Antworten mit Zitat      
Hallo,

so sollte es gehen:

Code:
for k = 1:10
load(['O25P1-', num2str(k), '.mat'],'Channel_7_Data');
O25P_rpm{k}=Channel_7_Data;
end


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 17:05     Titel:
  Antworten mit Zitat      
Hallo,

das funktioniert super. Vielen lieben Dank!!!

Eine letzte Frage, hoffentlich Wink

Ich habe 4 Arrays, die jede für sich aus 10 Variablen besteht. Nun lasse ich mit dem folgenden Code jedes Array für sich mitteln. Jedes Array für sich hat auch seine zuvor bestimmte Länge der 10 Variablen. Das heißt, die 4 Arrays unterscheiden sich hinsichtlich der EINEN Länge ihrer 10 Variablen. Ich möchte gern in einem letzten Schritt ein weiteres Mittel aus den 4 Arrays bilden. Dafür brauchen allerdings die 4 Arrays dieselbe Länge. Wie bewerkstellige ich dies?

Anabelle

Code:
accO25P1_ = [accO25P1{1, 1} accO25P1{1, 2} accO25P1{1, 3} accO25P1{1, 4} accO25P1{1, 5} accO25P1{1, 6} accO25P1{1, 7} accO25P1{1, 8} accO25P1{1, 9} accO25P1{1, 10}];
accO50P1_ = [accO50P1{1, 1} accO50P1{1, 2} accO50P1{1, 3} accO50P1{1, 4} accO50P1{1, 5} accO50P1{1, 6} accO50P1{1, 7} accO50P1{1, 8} accO50P1{1, 9} accO50P1{1, 10}];
accV25P1_ = [accV25P1{1, 1} accV25P1{1, 2} accV25P1{1, 3} accV25P1{1, 4} accV25P1{1, 5} accV25P1{1, 6} accV25P1{1, 7} accV25P1{1, 8} accV25P1{1, 9} accV25P1{1, 10}];
accV50P1_ = [accV50P1{1, 1} accV50P1{1, 2} accV50P1{1, 3} accV50P1{1, 4} accV50P1{1, 5} accV50P1{1, 6} accV50P1{1, 7} accV50P1{1, 8} accV50P1{1, 9} accV50P1{1, 10}];

O25P1_ave = mean(accO25P1_,2);
O50P1_ave = mean(accO50P1_,2);
V25P1_ave = mean(accV25P1_,2);
V50P1_ave = mean(accV50P1_,2);
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 17:09     Titel:
  Antworten mit Zitat      
Man müsste quasi wieder das Array mit der kürzesten Länge finden und die anderen 3 entsprechend beschneiden?

Anabelle
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2017, 17:09     Titel:
  Antworten mit Zitat      
Hallo,

du kannst das gleiche Prinzip anwenden wie im Beitrag von 14:45.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3  Weiter

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 - 2024 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.