How to plot vectors exactly on the edge of another graph?
Show older comments
The best I've got is expressed by the following:
clear
[u,v] = meshgrid(-2:0.2:2);
f = u.^2+v.^2-1;
[du,dv] = gradient(f);
hold all
g = @(a,b) a.^2+b.^2-1;
fimplicit(g)
D1 = u.^2+v.^2 >1;
D2 = u.^2+v.^2 <1.5;
v(~D1) = NaN;
u(~D2) = NaN;
norm = norm(gradient(f));
quiver(u,v,du./norm,dv./norm,'Color','r')
axis equal
However, the vectors are close to the edge, but not right originating from there. I can't think a straight way around it.
Accepted Answer
More Answers (0)
Categories
Find more on Vector Fields 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!
