How to plot a line over a specific interval?

4 次查看(过去 30 天)
I am attempting to plot cubic splines for 5 points. I have 4 functions to match each segment, but I only want the interval of the line that applies to that segment to appear on my plot.
I have these four lines:
plot (x,g(1))
plot (x, g(2))
plot(x, g(3))
plot(x, g(4))
They appear as so:
This is correct, but i want g1 to ONLY show from -1 to -.5. g2 to ONLY show from -.5 to 0, etc.

采纳的回答

the cyclist
the cyclist 2020-6-29
编辑:the cyclist 2020-6-29
Can you upload the data? Specifically, it is unclear to me what sort of data type g is.
Instead of plotting x, you'll want to do something like plotting
x(x>-1 & x<-0.5); % for g1
but I can't tell how to handle g1 without more info.
Also, it was unclear to me if the intervals are meant to be on x, or on g.
  3 个评论
Alexander Horton
Alexander Horton 2020-6-30
I ended up figuring everything out. I ended up using fplot, which let me put in an interval to show as an input.
fplot (@(x) (a(2).*(x-z(2)).^3+b(2).*(x-z(2)).^2+c(2).*(x-z(2))+d(2)), [-1 -.5], '-.r','linewidth',2);
Im sure this isnt the most efficient way but it got the job done haha.

请先登录,再进行评论。

更多回答(1 个)

madhan ravi
madhan ravi 2020-6-29
ix = (g1 >= -1) & (g1 <= -.5); % follow the same for the rest
plot(x(ix), g1(ix))
  2 个评论
the cyclist
the cyclist 2020-6-29
The fact that OP wrote
g(1)
rather than
g1
made me hesitate to suggest this solution. We'll see.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Spline Postprocessing 的更多信息

Translated by