|
楼主 |
发表于 2009-1-9 11:33
|
显示全部楼层
问题解决特此汇报,方便以后遇到类似问题的朋友!
程序修改后为:
temp2=phi/180*pi;
temp3=theta/180*pi;
[email=f=@(t)acos((t*sin(temp2)-1)/(t+1))-acos((t*sin(temp2)-1)/(t-1))-temp3]f=@(t)acos((t*sin(temp2)-1)/(t+1))-acos((t*sin(temp2)-1)/(t-1))-temp3[/email];
t=fzero(f,[4,5])
因为用solve函数时容易丢根,所以求解前可以先作图,然后指定解出某区间的的一个解
找了一个作图求解的例子,可以参考:
下面的程序作出了[0,10]上的图像,通过观察,指定解出了[2,3]内的一个解,注意fzero函数每次只能找到一个解
X=[0:.1:10];Y=zeros(1,length(X));
plot(X,1.5*sin(X)-sin(pi/3+X/3),X,Y,'r');
grid on
axis equal
f=@(X)1.5*sin(X)-sin(pi/3+X/3);
z=fzero(f,[2,3]) |
评分
-
1
查看全部评分
-
|