在MATLAB中不准确的情节,没有显示正确的点

时间:2014-07-28 10:49:24

标签: matlab graph plot

我正在尝试在MATLAB中绘制一个函数,并用' x'标记根。我正在绘制的函数是

  y = (1+(sqrt(9-x.^2)/sqrt(4-x.^2))-sqrt(9-x.^2))  

这是我的代码:

x = 0:0.00001:2;
y =  1+(sqrt(9-x.^2)/sqrt(4-x.^2))-sqrt(9-x.^2);
x_marker = 1.2311;
y_marker = 0;
plot(x,y,'-',x_marker,y_marker,'x'),grid;

我的函数的根大约为x = 1.2311,但MATLAB图显示根大约为1.4。我不知道为什么会这样。 感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

问题是因为您使用的是矩阵除法/,而不是元素划分:./

y定义为

y =  1+(sqrt(9-x.^2)./sqrt(4-x.^2))-sqrt(9-x.^2);  %// note the . that has been added

您将获得您期望的图表。 (请注意,您应该将x的范围调整为大约1.5