matlab 绘制任意箭头,颤动没有绘制箭头只是很多蓝色,matlab

有人可以告诉我我做什么错误的颤抖绘图功能,当我没有真正得到箭头,它只是充满了空间有很多蓝色。查看下面的图片,然后看看我的代码。颤动没有绘制箭头只是很多蓝色,matlab

这只是我的轮廓的一部分,因为如果我尝试绘制更大的图像,这会消耗更多的能量。但是我的功能,轮廓和其他一切都起作用,这只是我遇到麻烦的颤抖。

04eeb30d67b1ce7da19589e04953e59c.png

interval = -100:100;

[X Y] = meshgrid(interval, interval);

h = figure;

contour(X, Y, Z);

hold on;

[FX,FY] = gradient(-Z);

quiver(X, Y, FX, FY);

hold off;

如果我让我的矩阵更稀疏,例如“interval = linspace(-800,1600,1200);”结果将如下所示:

c785b54cfa054ef1acf69e90c1114f8c.png

编辑: 我需要的是这样的轮廓线,但箭头应该与他们一起流动。现在这些只是看起来像点,即使我进一步放大。如果我缩小整个窗口将是蓝色的。

这是脚本的全部内容,如果有人想玩它来弄清楚这一点。

m1 = 1;

m2 = 0.4;

r1 = [1167 0 0];

r2 = [-467 0 0];

G = 9.82;

w = sqrt(G*(m1+m2)/norm(r1-r2)^3);

interval = linspace(-800, 1600, 1200);

% Element-wise 2-norm

ewnorm = @(x,y) (x.^2 + y.^2).^(1/2);

% Element-wise cross squared

ewcross2 = @(w,x,y) w^2.*(x.*x + y.*y);

[X Y] = meshgrid(interval, interval);

Z = - G*m1 ./ ewnorm(X-r1(1), Y-r1(2)) - G*m2 ./ ewnorm(X-r2(1), Y-r2(2)) - 1/2*ewcross2(w,X,Y);

h = figure;

contour(Z);

daspect([1 1 1]);

saveas(h, 'star1', 'eps');

hold on;

[FX,FY] = gradient(-Z);

quiver(X, Y, FX,FY);

hold off;

2011-09-15

C. E.

+0

什么是Z的定义? –

+0

只是一个公式,因为我得到预期的轮廓。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值