|
|
labeling einer logarithmischen achse |
|
elcachon |

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 08.06.2011, 20:28
Titel: labeling einer logarithmischen achse
|
 |
Hallo leute,
Folgender Sachverhalt: csv-file einlesen und plotten und anschließend wird fft davon in eigener axis dargestellt.
Die Skalierung der x-achse ist logarithmisch(im fft-plot).
jetzt steht da immer 10^3,usw. würde gerne aber entsprechend der potenz z.B 1k für 10^3, 1M für 10^6 dastehen habe.
Ich weiß es würde darüber scho viel diskutiert nur komme ich nicht so recht voran. als ob ich ein brett vorm kopf hätte.
hab scho mit xticklabel und xtick rumgespielt, nur funktionieren tuts nicht wie es soll!
PS: Kann programmbeispiel erst morgen früh anfügen, da ich meine Dateien nicht zu Hause hab!
Bin für Anregungen dankbar!
|
|
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 21.06.2011, 11:59
Titel:
|
 |
weiß denn wirklich gar keiner eine antwort??
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.06.2011, 12:50
Titel: labeling
|
 |
Hi elcachon,
Es funktioniert schon mit xticklabel.
Probier mal folgendes:
Die Anzahl Werte in der Zelle {} muss natürlich den Anzahl XTicks entsprechen.
Gruss, Georg
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 21.06.2011, 14:48
Titel:
|
 |
hallo georg,
danke erstmal für deine antwort!
So etwas ähnliches hab ich mir schon gebastelt, wenn ich ehrlich bin hab ich mein problem ein bißchen unsauber formuliert.
Bei deinem beispiel leg ich einmal meine Skalierung fest. Mein Problem, oder Herrausforderung: Ich lese datan verschiedener Größe ein und mache einen FFT plot daraus.
Da es sich bei den Daten um Signale unterschiedlicher Frequenz handelt, muss sich natürlich auch die Skalierung an der x-Achse ändern, um dass nicht immer von Hand machen zu müssen, probier ich schon seit Tagen, da irgendwie eine Funktion, die mir meine x-achse nach der größe des eingelesenen Signals anpasst.
Noch eine Idee??
Lg elcachon!
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.06.2011, 21:29
Titel: loglabel
|
 |
Hi elcachon,
Meines Wissens gibt es keine solche Funktion in Matlab. Also bleibt nur, es selbst zu programmieren:
Hier ist mein Vorschlag. Du musst dann nur noch alle möglichen Zehnerpotzenzen ergänzen. Ich hab jetzt die Bandbreite von 1 Hz bis 1 MHz abgedeckt.
Gruss, Georg
% Input: h_ax = handle der Achse, welche neu beschriftet werden soll (in der
% Regel ist das die aktuelle Achse gca)
% Aufruf z.B. mit loglabel(gca)
function f = loglabel(h_ax)
xtlab = get(gca,'xticklabel');
lab_str =[];
for iii = 1:length(xtlab)
if strcmpi(xtlab(iii),'0') % 10^0
s = '1';
elseif strcmpi(xtlab(iii),'1') % 10^1
s = '10';
elseif strcmpi(xtlab(iii),'2') % 10^2
s = '100';
elseif strcmpi(xtlab(iii),'3') % 10^3
s = '1k';
elseif strcmpi(xtlab(iii),'4') % 10^4
s = '10k';
elseif strcmpi(xtlab(iii),'5') % 10^5
s = '100k';
elseif strcmpi(xtlab(iii),'6') % 10^6
s = '1M';
end
lab_str =[lab_str; {s}];
end
set(gca,'xticklabel',lab_str)
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 08:02
Titel:
|
 |
Guten Morgen Georg,
Vielen Dank für deine Hilfe, werd ich gleich mal ausprobieren!!
Ach es wär schön wenn es bei mir auch so leicht von der Hand gehen würde! Ich vergess (oder weiß einfach noch nicht) einfach so schnell die einzelnen Befehle, muss mir da unbedingt ein System zurechtlegen, kann ja nicht immer auf euch zurückgreifen!!
Schönen Tag noch
elcachon
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 08:10
Titel:
|
 |
Hallo georg nochmal kurz ich,,
was ist der Unterschied zwischen:
hab grad in der Hilfe nachgeschaut, aber was bedeutet..... TF = STRCMPI(S1,S2) compares the strings S1 and S2 and returns logical 1
(true) if they are the same except for case,........besonders der letzte teil, except for case!
Vielleicht ist es einfach noch zu früh am morgen!
Danke schon mal!
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 12:10
Titel:
|
 |
Hallo Georg,
ich hoffe du kommst nochmal zurück!
Dein Beispiel funktioniert super, danke nochmal. Hab mein beispiel gleich über den Haufen geworfen, habs viel zu kompliziert gelöst.
Folgendes:
Wenn ich jetzt in meinen plot hineinzoome, dann reihen sich die xticklabels aneinnander und zeigen mir dadurch ein falsches Ergebniss an der x-achse an.
welche Möglichkeit gibt es, dass sich beim zoomen die x-Achse automatisch anpasst und nicht die Inhalte des Cell-Arrays aneinanderreiht!
Vielen Dank schon mal
Lg elcachon
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 12:17
Titel: strcmpi
|
 |
Hi elcachon,
strcmpi steht für "strings compare insensitive", also werden zwei strings verglichen, ohne auf die Gross- und Kleinschreibung (englisch "case") zu achten. Wenn beide strings exakt dieselben Buchstaben enthalten gibt die Funktion den Wert 1 (also TRUE) zurück. Damit wäre die IF-Bedingung erfüllt.
Noch ein Tipp: Du kannst
im command promt eingeben, um schnell eine Hilfe zur Funktion zu bekommen. Wenn du mehr wissen willst, schreibe einfach
. Damit öffnet sich eine ausführliche Beschreibung, in der meistens auch Beispiele sind.
Viel Spass mit Matlab!
Georg
|
|
|
Georg J |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 12:27
Titel: zoom
|
 |
Ja, das kann beim zoomen Probleme geben. Daran hatte ich nicht gedacht.
Ergänze in der Funktion ganz unten
Damit fixierst du die Beschriftung. Zwischen deinen Ticks wird kein Zahlenwert in der X-Achse angezeigt.
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 13:55
Titel:
|
 |
Hey Georg,
Ich steh in deiner Schuld!!
Vielen Dank, ich hoffe matlab geht mir von Zeit zu Zeit leichter von der Hand!
Lg elcachon
|
|
|
Georg J |

Forum-Century
|
 |
Beiträge: 113
|
 |
|
 |
Anmeldedatum: 22.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2008a
|
 |
|
|
 |
|
Verfasst am: 22.06.2011, 18:30
Titel:
|
 |
Gerne geschehen.
Und noch ein Tip: Wenn du wissen willst, was bei einer Figur oder einer Achse alles verändert werden kann, schreibe einfach
get(gca) für die Achse
bzw.
get(gcf) für die Figure
Das gibt dir ein Structure mit allen aktuellen Einstellungen.
Gruss, Georg
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|