Auswertungen in Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo, ich bin Anfänger in Matlab und habe ein paar Probleme.
Ich habe eine File die ungefähr so aussieht
Nr WertA WertB WertC WertD
001 530 520 523 524
002 529 525 520 520
003 532 519 525 519
004 530 520 523 524
....
2000 ..... ..... .... .....
es sind bis zu 2000 Datensätze in der File
Nun werden alle Datensätze umgerechnet.
Aus den Werten in WERTA wird ein Spannungswert z.b. 530 ist dann 2,568978 (Volt)
Aus WertB wird ein Winkelwert 520 ist dann 10 (Grad)
usw
Nun sollen die ersten beispielsweise 50 ausgerechnet Werte jeder Spalte als Basiswert hergenommen werden
Also die ersten 50 Werte pro Spalte nehm ich und rechne sie zusammen und teile Sie wieder durch 50. Damit habe ich einen mittleren Basiswert
=> 4 Basiswerte
Diesen Basiswert benötige ich, da ein Hintergrundrauschen damit herausgefiltert werden soll
Den jeweiligen Basiswert ziehe ich dann jeweils von den Werten der Spalte/Zeile also Werte 51-2000 ab und speicher die Werte zurück in die jeweiligen Variablen
Wie kann ich das machen....
also Mittelwert müsste ja so gehen
anzahl = max(Nr);
rausch1=0;
for k = 1:50
rausch1 = rausch1 + WertA[k:1];
end;
rausch1 = rausch1 / 50;
% jetzt zieh den Basiswert von den Eingangswerten ab
for L = 51:2000
WertA[L:1] = WertA[L:1] - rausch1;
end;
Zur Anzeige dachte ich es geht dann soo
figure
plot(Nr,WertA)
meine Frage nun, kann das Funktionieren und wo finde ich nee gute Anleitung für solche Probleme??
Weil irgendwie zeigt er nur Müll an.
danke UFO
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Die Summierung geht einfacher: WertA[1:50] ist ja ein Vektor. Es gibt direkt einen Befehl alle Werte des Vektors zu summieren. Sieh mal in der Matlab-hilfe nach Zeilensumme bzw. ist es dort zum thema normierung verlinkt. Auf diese Weise sparst Du die umständliche For-schleife. Der Rest sollte funktionieren.
|
|
|
|