Forum: Digitale Signalverarbeitung / DSP / Machine Learning Zeitfunktion


von Jonny (Gast)


Lesenswert?

Hi Matlabfreunde,

Ich habe eine , so denke ich, einfache Frage.

Ich will eine Zeitfunktion Plotten, die von t=0:0.01:5 den Wert x=4 hat 
und t=5:0.01:10 den Wert x=2. (X ist in Wirklichkeit eine etwas längere 
Funktion). Mit Schleifen bekomme ich das nicht hin und eine andere 
Möglichkeit kenne ich nicht.

mit
x=0:0.01:10;
if (x<=5)
       y=4;
    end;

    if(x>5)
       y=2;
     end;

plot(x,y)

... hat es auch nicht funktioniert. Ich denke die Lösung ist einfach und 
ich bin einfach zu blöd.

Kann jemand helfen?
Danke schon mal im Voraus....

von gast (Gast)


Lesenswert?

Hallo

> x=[linspace(4,4,5) linspace(2,2,5)]

linspace(start,ende,anzahl punkte)

von Unit* (Gast)


Lesenswert?

Schleifen sind MATLAB sein Tod...
1
t1 = 0:0.01:10;
2
t2 = 0:0.01:10;
3
x1 = 4;
4
x2 = 2;
5
t = [t1 t2];
6
x = [x1*ones(size(t1)) x2*ones(size(t2))];
7
plot(t,x)

von Jonny (Gast)


Lesenswert?

Alles klar, danke!

von Unit* (Gast)


Lesenswert?

Khm. Sorry, aber ich hab Mist gebaut. Der richtige Code lautet:
1
t1 = 0:0.01:5;
2
t2 = 5.01:0.01:10;
3
x1 = 4;
4
x2 = 2;
5
t = [t1 t2];
6
x = [x1*ones(size(t1)) x2*ones(size(t2))];
7
plot(t,x)

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.