想对一个函数求零点,知道可以采用fsolve的方法,但是想用这个代码试一试,请问大家这个代码哪里有问题?
clear
l=-10:0.01:10;
y=l*2-2; %%%%寻根对象%%%%
LD=[ ];
for k=1:(length(l)-1)
if y(k)*y(k+1)<0
h=interp1(y(k:k+1),l(k:k+1),0);
LD=[LD,h];
end
end
l=LD((LD>-10)&(LD<10));
clear
R0=17.5;
alpha0=30;
alpha0=alpha0/180*pi;
R2=62.5;
l=0:0.005:100;
y=l.^2+(l+R0).^2-2*l.*(l+R0).*cos(pi-alpha0-asin(l.*sin(alpha0)/(R0+l)))-R2.^2; %%%%寻根对象%%%%
LD=[];
for k=1:(length(l)-1)
if y(k)*y(k+1)<0
h=interp1(y(k:k+1),l(k:k+1),0);
LD=[LD,h];
end
end
l=LD((LD>0)&(LD<40));
这个程序就能求出零点,很迷
clear
l=-10:0.01:10;
y=l.*2-1; %%%%寻根对象%%%%
LD=[];
for k=1:(length(l)-1)%!!!!
if y(k)*y(k+1)==0
h=interp1(y(k:k+1),l(k:k+1),0);
LD=[h];
end
end
l=LD((LD>-10)&(LD<10));
已解决