How to reflect a graph
19 次查看(过去 30 天)
显示 更早的评论
I am trying to reflect the graph closest to the origin. The reflection should start where the graph ends. I have not achieved this. Please see figure1. Any ideas? much appreciated
for n = 1:5;
v = v(n);
i;
d=z1/cosd(i); %calculate diagonal distance
h(n)=z1*sind(i); %calculate horizontal distance
t(n) = d/v;
v = [3:7];
depth(n)=z1
sini = ((sind(i)*(v+1))/v);
i= asind(sini)
z1=z1+2;
end
N=cumsum(h);
plot(h,depth)
hold on
grid on
B=cumsum(h)+N(:,end)
C=flip(depth)
plot(B,C)
axis ij
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/147724/image.jpeg)
采纳的回答
Michael Haderlein
2015-3-11
I guess you want something like this:
>> x=1:10;y=x.^2.*rand(size(x));
>> figure, plot(x,y), hold all
>> reflectionx=8;
>> plot(2*reflectionx-x,y)
3 个评论
Michael Haderlein
2015-3-11
same color -> use "hold on" instead of "hold all" or set the color explicitly (see the plot documentation)
reflection point -> "reflectionx=x(end);" in case that x is monotonically increasing or "reflectionx=max(x);" in case that the order of x is arbitrary.
implement into your own code -> I don't fully understand your code but I see you have two plots. Also I don't know which of them you want to reflect, but in both cases you have x-values and y-values ((h,depth) resp. (B,C)). In case you want to reflect the first one, use my code and replace x with h and y with depth. Same procedure with the second plot, respectively.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Title 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!