Need help with "mirroring" function

23 views (last 30 days)
This is my code so far:
t=0:(20000/723/.05) % (20000/723/.05) represents the value of t when theta = 0
x= .05*t
theta = acos(.0723*x / 2)
plot(t, theta)
My goal is to take the plot of the function on this t interval and mirror it across t = 20000/723/.05. Then I want to mirror this mirrored image across t = 40000/723/.05, then mirror that mirrored image across t = 60000/723/.05, and so on. Not sure if this makes sense, so my drawing below shows what I have in blue, and what I want to add in red.
Essentially, as t goes to some number (finite, but I don't know what yet) I want the plot to keep mirroring. Does anyone know how I could do this?
  1 Comment
William Rose
William Rose on 2 Apr 2021
This works:
>> x=0:.01:1;
>> y=log(1+x);
>> plot([x,x(end)+x,2*x(end)+x,3*x(end)+x],[y,flip(y),y,flip(y)]);
See output plot.

Sign in to comment.

Accepted Answer

William Rose
William Rose on 2 Apr 2021
Using your equations and ranges, you would do:
>> x= .05*(0:(20000/723/.05));
>> theta = acos(.0723*x / 2);
>> plot([t,t(end)+t,2*t(end)+t,3*t(end)+t],[theta,flip(theta),theta,flip(theta)])
which produces the plot below. Extend it as much as you wish.
  3 Comments
Rosemaryl21
Rosemaryl21 on 3 Apr 2021
Edited: Rosemaryl21 on 3 Apr 2021
Thank you so much for the help! This is exactly what I was looking for. I really appreciate it.

Sign in to comment.

More Answers (1)

William Rose
William Rose on 2 Apr 2021
This works:
>> x=0:.01:1;
>> y=log(1+x);
>> plot([x,x(end)+x,2*x(end)+x,3*x(end)+x],[y,flip(y),y,flip(y)]);
See output plot.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!