Plotting two functions with ranges in one plot

15 次查看(过去 30 天)
Hello, I have trouble finding out how to put seperate ranges on my plot.
As of right now this is my code:
x=[0: 1: 6]
M1=9.*x-3.*x.^2
M2=-1.*(3.*(6-x).^2);
figure
plot(x, M1, x, M2)
grid
The first function's (M1) variable "x" should have ranges from 0 to 4 (x >= 0 and x < 4)
The second function's (M2) variable "x" should have ranges from 4 to 6 (x >= 4 and x < 6)
Anyways I need my plot to look like this:
  2 个评论
Catalytic
Catalytic 2019-9-28
If you don't know how to generate "This", how did you obtain the left-hand plot above?
Wouter Eppink
Wouter Eppink 2019-9-28
The eraser tool from an amazing piece of software called ms paint.

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2019-9-28
编辑:Matt J 2019-9-28
x1=0:4;
x2=4:6;
M1=9.*x1-3.*x1.^2;
M2=-1.*(3.*(6-x2).^2);
figure
plot(x1, M1, x2, M2);
ylim([-120,20]);
grid

更多回答(2 个)

Catalytic
Catalytic 2019-9-28
You could also edit away the data points you don't want
h=plot(x, M1, x, M2); ylim([-120,20]);
h(1).XData(6:7)=[]; h(1).YData(6:7)=[];
h(2).XData(1:4)=[]; h(2).YData(1:4)=[];

Wouter Eppink
Wouter Eppink 2019-9-28
However the awnser works fine for now. However when I'm putting more than two functions in one graph this way, I'd like to find a way to incorporate the range into the function in order to decrease the amount of extra variables

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by