Forum: PC-Programmierung x-Achsenskalierung in MATLAB, Multiplikation der Achsenwerte mit einer Konstanten


von Mark M. (mom-jovi)


Lesenswert?

Ersmal hoff ich, dass ich das richtige Forum für das Thema getroffen 
hab...

Ich habe folgendendes Problem bei der Darstellung der Hysteresekurve 
einer Spule:

Die B-Werte (y-Werte) sind in einem Spaltenvektor gespeichert. Das 
Intervall entspricht 16kSamples. Wenn ich diesen Vektor nun einfach mit
1
plot(B)
plotte, dann entspricht die x-Achse der Zeitachse mit Schritten von 
1/16000 Sekunden. Hier möchte ich aber die Feldstärke H stehen haben. 
Glücklicherweise besteht in meinem Fall ein linearer Zusammenhang 
zwischen Zeit t und H. Nehmt das einfach so, die Herleitung ist hier zu 
viel... sagen wir einfach H = C*t mit der Konstanten C.
Wie bekomm ich jetzt die Werte auf der t-Achse alle mit diesem C 
multipliziert?

von Thomas B. (detritus)


Lesenswert?

plot(C*t, B)

von Mark M. (mom-jovi)


Lesenswert?

Thomas B. schrieb:
> plot(C*t, B)

Hab ich jetzt noch nicht ausprobiert, aber muss ich dazu nicht erst t 
als x-Variable definieren? Wenn ich das so eintippe, dann sagt mir 
MATLAB garantiert, dass es t nicht kennt.

von Thomas B. (detritus)


Lesenswert?

Naja, dann wird

dt=1/16000;
tmax=length(B)*dt;
t=[0:dt:tmax-dt];

gefolgt von

plot(C*t, B)

wohl tun. Vorausgesetzt, du kennst C ;-)

von Mark M. (mom-jovi)


Lesenswert?

Thomas B. schrieb:
> Naja, dann wird
>
> dt=1/16000;
> tmax=length(B)*dt;
> t=[0:dt:tmax-dt];
>
> gefolgt von
>
> plot(C*t, B)
>
> wohl tun. Vorausgesetzt, du kennst C ;-)

Ja, so gehts. Bin selber drauf gekommen. Aber trotzdem danke :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.