2017-02-09 55 views
0

我想在matlab中繪製一個函數,所以當我達到某個X值時,我希望該函數變成常量,將該函數的值設爲該值X.因此,對於這個圖例如,我希望它一直繪製到x = 60,從x = 60到x = 180,我希望它取f(60)的值,所以它變得像一個「L」形功能。這可能嗎?繪製一個函數,然後繪製該函數的常量值

我試圖使用單位步驟功能,沒有工作,也結合了2個向量,這是凌亂和沒有工作。 enter image description here

clear all 
clc 



X=0:0.001:180; 

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

plot(X,S_f) 

回答

2

你的問題是有點不清楚,但我認爲你需要做的是修改自變量計算什麼時候S_f

X=0:0.001:180; 

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

plot(X,S_f) 

你可以看到我用min(X,60)代替X這裏,但你可以改變達到目標。

2

你可以只開啓該功能,你希望值的中間部分。您可以使用邏輯索引來選擇S_f的中間區域。

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

小心,這隻適用於'X'包含'60'。 (它確實在這種情況下,但這通常不起作用) – rlbond