2017-02-09 27 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