quiver関数で描​く矢印の大きさを一定​にする方法はあります​か?

조회 수: 14 (최근 30일)
chisato hara
chisato hara 2020년 5월 22일
댓글: Kenta 2020년 5월 22일
quiver関数で矢印をプロットすると各ベクトルの大きさによって矢印の大きさが変わります。プロットするベクトルの最大値と最小値に開きがある場合、最小値のベクトルは小さく表示され、どちらに矢印が向いているかわかりません。そこで、矢印の大きさをベクトルの大きさによらず固定する方法があれば教えていただけないでしょうか? もしくは、‘MaxHeadSize'で矢印の大きさの最大値は設定できますが、矢印の大きさの最小値’MinHeadSize'のようなもので設定できないかと思っております。

채택된 답변

Kenta
Kenta 2020년 5월 22일
こんにちは、各所でのベクトルの大きさを計算し、その長さで割り算すれば同じ長さになると思うのですがいかがでしょうか。例えば下の例だと、何もしないのが左側の絵で、右側は各ポイントで、その点の長さでスケールを変えることで同じ長さにしています。
clear;clc;close all
[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);
headSize=sqrt(DX.^2+DY.^2);
figure
subplot(1,2,1)
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY)
hold off
subplot(1,2,2)
contour(X,Y,Z)
hold on
quiver(X,Y,DX./headSize,DY./headSize)
hold off
  댓글 수: 4
chisato hara
chisato hara 2020년 5월 22일
Kenta様
海外の方で同じ質問されている方がいました。以下のサイトに解決方法が示されていましたので試してみます。
親切に対応いただきまして、ありがとうございました。
Kenta
Kenta 2020년 5월 22일
教えていただきありがとうございます。確かにいろいろとアレンジできそうですね。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 ベクトル場에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!