2017-02-09 4 views
0

Ich möchte eine Funktion in Matlab, so dass wenn ich einen bestimmten Wert von X erreichen, möchte ich die Funktion konstant werden, wobei der Wert der Funktion bei diesem Wert von X. Also für dieses Diagramm zum Beispiel möchte ich, dass es normal bis x = 60 und von x = 60 bis x = 180 gezeichnet wird. Ich möchte, dass es den Wert von f (60) annimmt, also wird es wie a "L" -förmige Funktion. Ist das möglich?Plot eine Funktion dann plotten einen konstanten Wert dieser Funktion

Ich habe versucht, die Einheit Schrittfunktion zu verwenden, das hat nicht funktioniert, und kombinieren Sie auch 2 Vektoren, das war chaotisch und hat auch nicht funktioniert. enter image description here

clear all 
clc 



X=0:0.001:180; 

S_f=1-4*(sind(X)).^(2); 

plot(X,S_f) 

Antwort

2

Ihre Frage ist ein wenig unklar, aber ich denke, was Sie Ihren unabhängigen Variable tun müssen, ist zu ändern, wenn S_f Berechnung.

X=0:0.001:180; 

S_f=1-4*(sind(min(X,60))).^(2); 

plot(X,S_f) 

können Sie sehen, ich verwendet min(X,60) statt X hier, aber Sie können das ändern, wie gewünscht.

2

können Sie einstellen, nur den mittleren Teil der Funktion auf den Wert, den Sie möchten. Sie können die logische Indexierung verwenden, um den mittleren Bereich von S_f auszuwählen.

S_f(X >= 60 & X <= 180) = 1-4*(sind(60)).^(2); 
plot(X, S_f) 
+0

Vorsicht, dies funktioniert nur, wenn 'X'' 60' enthält. (Es tut in diesem Fall, aber das funktioniert im Allgemeinen nicht) – rlbond

Verwandte Themen