In Quiver Function Error: " index must be a positive integer or logical."

Hey,
I get the error
??? Attempted to access quiver(2.76604,2.17365,-0.123257,0.81116); index must be a positive integer or logical.
and can't imagine why, because if I type quiver(2.76604,2.17365,-0.123257,0.81116) in the Command Window it works well.
Here is the Code:
for k=1:n
for l=1:n
if E(k,l) >= 1
x1=2+cos(2*pi/n*k); x2=2+cos(2*pi/n*l); y1=2+sin(2*pi/n*k); y2=2+sin(2*pi/n*l);
u=y1-x1; v=y2-x2;
quiver(x1,x2,u,v);%,'Color',color,'LineWidth',2);
end
end
end
with n=length(E) and E(i,j) = 1 if there excists an arrow between i and j
Thank You Daniel

3 件のコメント

David Sanchez
David Sanchez 2013 年 8 月 13 日
I run the following code and it worked for me:
n=3;
for k=1:n
for l=1:n
x1=2+cos(2*pi/n*k);
x2=2+cos(2*pi/n*l);
y1=2+sin(2*pi/n*k);
y2=2+sin(2*pi/n*l);
u=y1-x1;
v=y2-x2;
quiver(x1,x2,u,v);
end
end
Is the code you presented the one that yields the error?
Daniel
Daniel 2013 年 8 月 13 日
Hmm this is weird because if I run exactly your modification of the code I get the error:
??? Attempted to access quiver(1.5,1.5,1.36603,1.36603); index must be a positive integer or logical.
Error in paintgraph at 23
quiver(x1,x2,u,v);
I can't imagine why. Yes the code I presented yields the error.
Daniel
Daniel 2013 年 8 月 13 日
Got the solution. I accidantly set quiver=1 earlier.
Thank you very much.

サインインしてコメントする。

 採用された回答

Sajid Khan
Sajid Khan 2013 年 8 月 13 日

0 投票

use clear all before executing your code.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeScope Variables and Generate Names についてさらに検索

製品

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by