编写振幅型双缝物体函数时遇到输出图形与理想图形不符问题
function[t] =sf(a,b)
t=[];
for x=linspace(-1e-3,1e-3,101)
if -(a+b)/2<=x<=-(b-a)/2
t=[t 1];
else if (b-a)/2<=x<=(b+a)/2
t=[t 1];
else
t=[t 0];
end
end
end
end
运行结果如下
这个图形上的输出图形显然与实际函数所对应的不符
1.
改成这样试试
function[t] =sf(a,b)
t=[];
for x=linspace(-(a+b),(a+b),101)
if (-(a+b)/2)<=x&&x<=(-(b-a)/2)
t=[t 1];
else if ((b-a)/2)<=x&&(x<=(b+a)/2)
t=[t 1];
else
t=[t 0];
end
end
end
end
clear all
a=100;b=200;
x=linspace(-(a+b),(a+b),101);
t=sf(a,b);
plot(x,t,'r');
ylim([0 1.2]);