【问题标题】:Ploting constant contours in the same color in matlab在matlab中以相同颜色绘制恒定轮廓
【发布时间】:2017-06-02 15:55:17
【问题描述】:
[x,y] = meshgrid(-10:1:10,-10:1:10); 
idx = (x~=0)&(y~=0);     
contour(x(idx)/(x(idx).^2+y(idx).^2).^(3/2),y(idx)/(x(idx).^‌2+y(idx).^2).^(3/2))‌​;

输出是白页!

【问题讨论】:

  • 试试minimal reproducible example。只需用约束定义 x,y,选择要绘制的内容,选择绘制 x=0,y=0
  • 我不知道如何选择不绘制 x=0 和 y=0 @AnderBiguri
  • 再次阅读我的第一条评论。照他说的做
  • 我做到了。你现在能帮帮我吗? @AnderBiguri
  • 不,因为您没有阅读我给您的链接。现在是最小的。你缺乏完整的和可验证的。我无法运行该代码,因为 x 和 y 未定义

标签: matlab matlab-figure


【解决方案1】:

“删除”你不想要的点:

[x,y] = meshgrid(-10:0.1:10,-10:0.1:10);
Idontwantthis = (x.^2+y.^2)<1;
data= x./(x.^2+y.^2).^(3/2)+y./(x.^2+y.^2).^(3/2);
data(Idontwantthis)=NaN;
contourf(data,20);

请注意,我将 / 替换为 ./

我还添加了更多点,因为您的网格很小。

如果您使用contourf 而不是contour,这就是结果的样子(同样的,更好看):

【讨论】:

  • 错误:输入字符在 MATLAB 语句或表达式中无效。这个错误出来 wgen 我运行你的代码
  • 它可以工作,但在 matlab 命令窗口中显示很多数字。当我放;在代码的第二行之后,输出中仍然有很多数字。如何更改代码以不显示它们?
  • @SoniaSohi 问题出在您定义的函数中,中间有一个昏迷。修复你的功能,然后我会修复我的
  • 输出中的颜色是什么意思?当我运行下面的代码时,右边的圆圈变成红色,左边的变成绿色:全部清除;关闭所有; %[x,y] = 网格(-10:0.1:10,-10:0.1:10); %Idontwantthis = (x.^2+y.^2)
  • 为什么在20:200的区间内输出?
猜你喜欢
  • 2019-05-11
  • 2014-05-22
  • 1970-01-01
  • 2021-02-01
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多