Exceltabellen in Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo zusammen,
ich bin gerade dabei meine Facharbeit zu schreiben, und würde dazu gerne Graphen mit hilfe von Matlab erstellen. Ich hab eine Videoanalyse gemacht, und dadurch lange Tabellen erhalten. Mit Excel will ich nicht die Graphen zeichnen, weil mir diese ganzen Windoofprogramme zu umständlich und unfelxibel sind*G*(deswegen schreib ich die Facharbeit auch mit TEX*G*)
Wäre super, wenn ihr mir da weiterhelfen könntet.
Gruß Fabian
p.s. Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hi,
und was ist jetzt Deine Frage?
Jedenfalls kannst Du mit xlsread Daten aus Excel-Tabellen in
Matlab importieren.
Viele Grüße
nschlange
|
|
|
|
|
hallo,
ich hätte gerne tipps, wie ich z.b. ein Diagramm aus einer Ecxeltabelle "test.xls"erstelle. Ich bräuchte z.b. Spalte A von 1-4000 und Spalte B von 1-4000 als x-y Diagramm sozusagen. das 1-4000 erreich ich mit 1:4000 wenn ich mich recht erinnere, aber vom rest hab ich noch nicht so den Plan*g*
Gruß Fabian
|
|
|
|
|
Hi,
das ist relativ einfach:
1: | clear all;
| 2: | clc;
| 3: |
| 4: | daten=xlsread('test.xls');
| 5: | plot(daten(1:10,1),daten(1:10,2));
|
Damit lädst Du die Datei test.xls aus dem aktuellen Verzeichnis.
daten(1:10,1) sind die Einträge der Zeilen 1 bis 10 aus Spalte 1.
Ggfs. musst Du xlsread als Option noch einen Tabellennamen mitgeben.
Das erste Argument von plot sind die x-Werte, das zweite die y-Werte.
Viele Grüße
nschlange
|
|
|
|
|
Super, danke! hat schonmal wunderbar funktioniert, hab auch schon bisserl mehr rumgespielt damit, klappt.
Nun hätt ich aber noch nen "gleitenden Durchschnitt" wie es bei Excel heißt, und das er mir Runde Graphen zeichnet, und nicht nur gerade linien von Punkt zu Punkt.
Gruß Fabian
p.s. sorry wenn ich euch hier nerv, aber ich find sonst nix dazu:(
|
|
|
|
|
Hi,
mit 'gleitender Durchschnitt' meint Excel glaube ich eine Trendlinie. Du bekommst eine Kurve, die nicht durch die Stützpunkte geht.
Du kannst aber auch an Stellen zwischen den Stützpunkten interpolieren,
dann wird die Kurve auch glatt.
Dazu wählst Du in Excel im Diagrammassistenten Punkt(xy) mit
interpolierten Linien.
In Matlab kannst Du mit interp1 interpolieren.
Einen gleitenden Mittelwert müsstest Du mit
1: | clear all;
| 2: | clc;
| 3: | daten=xlsread('test.xls');
| 4: | x=daten(:,1);
| 5: | y=daten(:,2);
| 6: | mv_y=filter([1 1]/2,1,y);
| 7: | plot(x,y,'o',x,mv_y);
|
bekommen.
Das kann man aber auch anders programmieren.
Google mal nach 'moving average'.
Viele Grüße
nschlange
|
|
|
|
|
hmm jetzt hat er mir irgendwelche blauen Kreise in mein Diagramm gezeichnet*g* Aber der eigentliche Graph ist immernoch von Punkt zu Punkt mit geraden Linien verbunden. Hab jetzt auch mal in google gesucht, aber nichts brauchbares gefunden. Hast du vllt nochmal nen tipp?
Was mich auch noch interessieren würde, wie bekomm ich meine Axen die mitte meines diagramms, im Moment sind sie an den Kanten außen.
Gruß Fabian
|
|
|
|
|
Die blauen Kreise kommen von der 'o' Option im Plot-Kommando,
das kannst Du in der (ausführlichen) Hilfe nachlesen.
Du musst diesen Mittelwertfilter auf Deine Daten anwenden.
Wenn Du die Curve Fitting Toolbox hast kannst Du auch mal
in der Hilfe nach 'smooth' gucken.
Oder halt eine Interpolation (z.B mit interp1)
Das mit den Achsen muss ich auch erst rauskriegen.
|
|
|
|