![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176726/image.png)
How can I hide a part of my function?
5 次查看(过去 30 天)
显示 更早的评论
Hi guys,
i want to hide some parts of three functions, shown in the attachement
The red line should stay as it is, but the other three should stop displaying after x=60
x=(0:0.01:70).';
y1=(0.02049/0.4)*x;
y2=(0.3*60./(1+(1.331./(sqrt(0.0631*x./(60-x))).^3)));
y3=(0.3*60./(1+(1.331./(sqrt(0.0631*x./(60-x))).^3)))-(0.02049/0.4)*x;
y4=(0.02049/0.4)*x-(0.3*60./(1+(1.331./(sqrt(0.0631*x./(60-x))).^3)));
plot(x,y1,'r','LineWidth',3)
hold on
plot(x,y2,'Color',[0.9 0.5 0],'LineWidth',3)
plot(x,y3,'Color',[0 0.5 0],'LineWidth',3)
plot(x,y4,'k','LineWidth',3)
axis([0 70 0 4])
thank you very much!
0 个评论
采纳的回答
Stephen23
2017-1-17
编辑:Stephen23
2017-1-17
NaN values are not plotted, so you can simply replace any values that you do not want to see with NaN:
x=(0:0.01:70).';
y1=(0.02049/0.4)*x;
y2=(0.3*60./(1+(1.331./(sqrt(0.0631*x./(60-x))).^3)));
y3=(0.3*60./(1+(1.331./(sqrt(0.0631*x./(60-x))).^3)))-(0.02049/0.4)*x;
y4=(0.02049/0.4)*x-(0.3*60./(1+(1.331./(sqrt(0.0631*x./(60-x))).^3)));
% new code here:
idx = x>60;
y2(idx) = NaN;
y3(idx) = NaN;
y4(idx) = NaN;
% new code ends
plot(x,y1,'r','LineWidth',3)
hold on
plot(x,y2,'Color',[0.9 0.5 0],'LineWidth',3)
plot(x,y3,'Color',[0 0.5 0],'LineWidth',3)
plot(x,y4,'k','LineWidth',3)
axis([0 70 0 4])
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176726/image.png)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!