www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - zweite x-Achse
zweite x-Achse < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

zweite x-Achse: Tipp
Status: (Frage) überfällig Status 
Datum: 22:58 Do 27.09.2007
Autor: flow1981

Hallo,

ich will mit Matlab einen Datensatz mit 2 x-Achsen plotten, also eine standardmässig unter dem Graph und eine zweite darüber.

Das Problem ist, dass der y-Datensatz jeweils der Gleiche ist und wenn ich das dann plotte so wie in der Matlab Hilfe angegeben (allerdings für verschiedene x/y Datensätze), sind die Graphen gegeneinander verschoben.

In der Hilfe steht:
**********************
Using Multiple X- and Y-Axes


The XAxisLocation and YAxisLocation properties specify on which side of the graph to place the x- and y-axes. You can create graphs with two different x-axes and y-axes by superimposing two axes objects and using XAxisLocation and YAxisLocation to position each axis on a different side of the graph. This technique is useful to plot different sets of data with different scaling in the same graph.

Example -- Double Axis Graphs


This example creates a graph to display two separate sets of data using the bottom and left sides as the x- and y-axis for one, and the top and right sides as the x- and y-axis for the other.

Suppose you have two sets of data having different x- and y-ranges:
x1 = [0:.1:40];
y1 = 4.*cos(x1)./(x1+2);
x2 = [1:.2:20];
y2 = x2.^2./x2.^3;

.....

*************


Wie löse ich das Problem am Besten?

Es würde mir schon reichen, wenn ich die XTicks der zweiten Achse automatisch umbenennen könnte mit einer Art Skalierungsfaktor.


Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
zweite x-Achse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:27 Do 27.09.2007
Autor: Martin243

Hallo und [willkommenmr],

mir ist das Problem nicht ganz klar. Kannst du vielleicht einen kleinen Beispieldatensatz zeigen und grob umschreiben skizzieren, wie der Plot am Ende auszusehen hat? Mir fehlt noch ein kleines bisschen zum *KLICK*.


Gruß
Martin

Bezug
                
Bezug
zweite x-Achse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:28 Sa 29.09.2007
Autor: flow1981

Hi,

der Graph soll etwa so aussehen.

[Dateianhang nicht öffentlich]

Die untere x-Achse stimmt.
Jetzt möchte ich oben noch eine zweite, wo der zweite Parameter entlang läuft. Ich möchte also den gleichen Datensatz in Abhängigkeit von zwei Parametern plotten.

Das Problem ist, wenn ich die zweite Achse erzeuge mit dem zweiten Parameter, dann plottet er den zweiten Graphen nicht direkt über den ersten, sondern versetzt.

[Dateianhang nicht öffentlich]

Wie kann ich das verhindern?


Dateianhänge:
Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
Anhang Nr. 2 (Typ: jpg) [nicht öffentlich]
Bezug
                        
Bezug
zweite x-Achse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:38 Sa 29.09.2007
Autor: dormant

Hi!

Du sollst den zweiten Datensatz von 280 bis 380 (und nicht bis 400) laufen lassen. Oder den ersten bis 400 erweitern.

Gruß,
dormant

Bezug
                                
Bezug
zweite x-Achse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:34 Sa 29.09.2007
Autor: flow1981

Ihr versteht mein Problem irgendwie nicht...
Die x-Achse unten soll so bleiben von 280-380.

Die zweite x-Achse soll von 1.5-2.5 laufen.

Der Graph soll dabei der gleiche sein.

Wenn ich das beides dann sozusagen hintereinander in einen Graphen plotte, kriegt matlab das nicht gebacken und verschiebt einen Graphen.

Bezug
                                        
Bezug
zweite x-Achse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:48 Sa 29.09.2007
Autor: nschlange

Häng doch mal das m-File an, mit dem Du arbeitest.
Man sieht ja nicht, was Du machst.

Man könnte ja einfach das Beispiel aus der Hilfe so anpassen:
1: x1 = [0:.1:40];
2: y1 = 4.*cos(x1)./(x1+2);
3: x2 = [0:.1:20];
4: y2 = 4.*cos(2*x2)./(2*x2+2);

D.h. die Argumente der 2. Funktion entsprechend der 2. X-Achse so anpassen,
dass die Grafen übereinander liegen.

Bezug
                                                
Bezug
zweite x-Achse: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:06 So 30.09.2007
Autor: flow1981

Mein m-file sieht folgendermassen aus:

clear all;
close all;

load file;

h = planck
b = bmagn
v = 9.557E9;

figure(1)
neu = plot(file(:,1),file(:,2));

x1 = file(:,1);
y1 = file(:,2);
x2 = (h*v)./(b*file(:,1)*1E-3);
y2 = file(:,2);


hl1 = line(x1,y1,'Color','k');
ax1 = gca;
set(ax1,'XColor','k','YColor','k')
xlabel('test')

ax2 = axes('Position',get(ax1,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','r','YColor','r');

xlimits = get(ax1,'XLim');
ylimits = get(ax1,'YLim');
xinc = (xlimits(2)-xlimits(1))/5;
%yinc = (ylimits(2)-ylimits(1))/5;

set(ax1,'XTick',[xlimits(1):xinc:xlimits(2)],'YTick',[])

hl2 = line(x2,y2,'Color','k','Parent',ax2);
x2 = (h*v)./(b*file(:,1)*1E-3)

xlimitsa = get(ax2,'XLim');
ylimitsa = get(ax2,'YLim');
xinc = (xlimitsa(2)-xlimitsa(1))/5;
yinc = (ylimitsa(2)-ylimitsa(1))/5;

set(ax2,'XTick',[xlimitsa(1):xinc:xlimitsa(2)],'YTick',[])
xlabel('g value')

Bezug
        
Bezug
zweite x-Achse: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:20 Fr 12.10.2007
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]