我正在尝试在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。我不知道为什么会这样。
感谢任何帮助。谢谢。
答案 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
)