How can I draw hysteresis loop using matlab

I have velocity ,v, and discharge, q, vectors . I want to draw hysteresis plot between the two. I used plot_dir function but it can't allow me to have the plot with good view and resolution. Is there any way of plotting it?
I used this function but failed
plot_dir(v,q)
Thanks for your help.
Any function that give that shows the beginning and end of successive points with arrow is acceptable. Thanks again.

 Accepted Answer

José-Luis
José-Luis on 13 Feb 2013
Edited: José-Luis on 13 Feb 2013
x = rand(10,1);
y = rand(10,1);
quiver(x(1:end-1),y(1:end-1),diff(x),diff(y),0);
Please accept an answer if it helps you.

5 Comments

X = [-3:.2:3 3:-.2:-3];
Y = [tanh(X(1:length(X)/2)-1) tanh(X(length(X)/2+1:end)+1)];
patch(X,Y,[.5 1 .5]); hold on
quiver(X(1:end-1),Y(1:end-1),diff(X),diff(Y),0);
@ChristianW: showing off? :-)
Well, all I read were 2 words hysteresis and arrow. So I guess its a patch + a quiver whats needed.
Thanks all, You answered my questions . the arrow direction is not really distinguishable is there any way of improving it? it looks straight line rather than arrow...tnx

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!