声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1043|回复: 2

[编程技巧] 利用fzero循环求解出错

[复制链接]
发表于 2007-11-25 13:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
不知道为什么,前两天发了帖子按照版主指点试了一下,还有问题啊,

y=tan(y)在整个数轴上有无穷解,我只要求[0;60*pi]区间上的

下面是我的程序:
>>a=0.01;
>>for i=0:59;
>>X=fzero(@(y) y-tan(y),a);
>>a=X+pi;
>>t(i+1)=X;
>>end

不知道什么原因,只能求出3个解,到7.多时马上回到1.5几,下面是我的结果
-0.000000006571222    4.493409457909064    7.725251836937707
1.570796326794896    4.712388980384688    7.725251836937707
1.570796326794896    4.712388980384688…………

1.5几是pi/2,为啥就算到他了呢?
而且第二个解和后面的4.7几不一样,为什么会这样,tan(4.712388980384688)=5.1019e+014也不等于4.712388980384688啊

请指教,提示一下
回复
分享到:

使用道具 举报

发表于 2007-11-25 16:01 | 显示全部楼层

回复 #1 bjb05 的帖子

fh=@(y) y-tan(y);
for m=1:59;
    t(m)=fzero(fh,[m*pi (m+1/2-1/1000)*pi]);
end
t=[0 t];

评分

1

查看全部评分

 楼主| 发表于 2007-11-25 16:15 | 显示全部楼层
谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-21 00:23 , Processed in 0.080942 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表