matlab简单画图题

x=0:pi/10:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'-b','LineWidth',4);
hold on;
plot(x,y2,':r','LineWidth',4);
axis([0,2*pi,-1,1])
for i=0:2*pi
if y1(i)==y2(i)
text(i,y(i),'*');
end
end
这是我写的,但是没法标出来,而且还有错误%>_<%

clear;clc;
x=0:pi/10:2*pi;
X=fsolve(@(x)sin(x)-cos(x),[.5 1.5]*pi);
hold on;
plot(x,sin(x),'b','linewidth',4);
plot(x,cos(x),'r:',X,sin(X),'rp');

追问

字数超了,所以上图

追答

这两个交点是pi/4和和5pi/4,但你采样步长是pi/10,所以采样点上是不可能相交的

追问

步长改为pi/12那就可以了吗?o>_<o

追答

嗯,理论上可以,你可以试试。
如果还是没有的话,那估计是浮点运算的精度问题,你把y1(i)==y2(i)改为abs(y1(i)-y2(i))<某个很小的数再试试应该就可以了

追问

可以是可以,但是步长的限定,导致图像不理想

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-03
clear all
X=π*(0:0.01:2)

Warning: Invalid argument supplied for foreach() in /www/wwwroot/www.t2y.org3v3b34/skin/templets/default/contents.html on line 47
相似回答
大家正在搜