1

コマンド quiver3(X,Y,Z,M,N,O) を使用して、すべての行列が実際のエントリを持つ 10x10x10 配列であるベクトル フィールドを取得します。今、私はそれをプロットしたかったのですが、予想される 1000 ではなく 4 つのベクトルしか得られませんでした。さらに情報が必要な場合は、コメントをお待ちしています。

4

1 に答える 1

3

Inf(やなどの許可されていない数値を表示しようとするのではなく) データを表示しようとしたときに問題が発生すると仮定すると、問題NaNはベクトルのノルムの範囲であり、4 つしか表示されないと思います。

次の例に示すように、座標系の範囲に対するベクトルのノルムの重要性は重要です。

ここでは、10 個のランダム ベクトルがすべて表示されます。

Na = 10;
[X Y Z M N O] = deal(rand(Na,1),rand(Na,1),rand(Na,1),rand(Na,1),rand(Na,1),rand(Na,1)); 
quiver3(X,Y,Z,M,N,O)

ここに画像の説明を入力

しかし、ベクトルの一部を 100 倍大きくすると、小さいものだけが表示されます。

mul = 1e+3;
[X Y Z M N O] = deal(rand(Na,1),rand(Na,1),rand(Na,1),...
    [mul*rand(Na/2,1);rand(Na/2,1)],...
    [mul*rand(Na/2,1);rand(Na/2,1)],...
    [mul*rand(Na/2,1);rand(Na/2,1)]);
quiver3(X,Y,Z,M,N,O)

ここに画像の説明を入力

同様に、一部のベクトルが小さすぎると、表示されません。

mul = 1e-3;
[X Y Z M N O] = deal(rand(Na,1),rand(Na,1),rand(Na,1),...
    [mul*rand(Na/2,1);rand(Na/2,1)],...
    [mul*rand(Na/2,1);rand(Na/2,1)],...
    [mul*rand(Na/2,1);rand(Na/2,1)]);
quiver3(X,Y,Z,M,N,O)

ここに画像の説明を入力

軸に対して大きすぎたり小さすぎたりするベクトルは、まったく表示されません。

スケーリングに問題がある場合は、関数を調べて、ベクトルの値の範囲が狭くなるように x、y、z の範囲を狭める方法を確認するか、スケール (対数?) を変更してすべてのデータを 1 つの図に表示できます。

編集

データの表示方法に関する質問の代わりに、 の使用を検討することをお勧めしますisosurfaces。以下に例を示します。各赤い球は、球状ポテンシャルの異なる等値面を表しています。

ここに画像の説明を入力

于 2013-08-08T12:53:53.377 に答える