声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1407|回复: 3

[综合讨论] fsolve初始值的问题

[复制链接]
发表于 2007-7-2 09:55 | 显示全部楼层 |阅读模式

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

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

x
解非线性方程的问题
代码如下:
clear;
clc;
m=3;               
ha=1;               
q2s=1/6;         
Ns=25;            
as=20*pi/180;           
r=Ns*m;            
rbs=r*cos(as);   
ra=(Ns+ha*m);      
rsm=r-m;
N2=Ns/q2s;         
os0=pi/(2*Ns)-inv(as);
opt=optimset;
opt.LargeScale='off';
opt.Tolfun=1e-100;
opt.Display='off';
rotate=fopen('rotateangle.dat','wt');
fprintf(rotate,'%s\n','  ans  Ns,    N2,    r,    wo,    w2,    ws');
j=1;
for y=-330:15:-210;
    fprintf(rotate,'%s %6.4f\n','when y =',y);
    for i=0:1:7
        os=0+5*i*pi/180;
        [email=f=@(ws)(subs(rbs*(sin(q2s*ws)*(sin(ws+os0+os)-os*cos(ws+os0+os))+cos(q2s*ws)/(q2s*cos(ws+os0+os)))+y]f=@(ws)(subs(rbs*(sin(q2s*ws)*(sin(ws+os0+os)-os*cos(ws+os0+os))+cos(q2s*ws)/(q2s*cos(ws+os0+os)))+y[/email]));
        ws=fsolve(f,0,opt);                     
        %ws=ws(imag(ws)==0&real(ws)>0);        %只要大于零的实根
        wo=subs(ws+os0+os);
        w2=subs(q2s*ws);
        equal=subs(rbs*(sin(q2s*ws)*(sin(ws+os0+os)-os*cos(ws+os0+os))+cos(q2s*ws)/(q2s*cos(ws+os0+os)))+y);
        fprintf(rotate,'   %6.4f %6.4f %6.4f %12.8f %12.8f %12.8f %12.8f\n',equal,Ns,N2,r,wo,w2,ws);
    end   
end
fclose(rotate);
%result = textread('rotateangle.dat','%s','delimiter','\n','whitespace','');
其中,equal等于才能代表方程解正确,试过好多个初值,结果都不对,按实际情况来分析,ws应该为大于零,且小于2*pi,不过得不到正确解,帮忙指点一下如何做,谢谢

[ 本帖最后由 zqllc 于 2007-7-2 10:00 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-7-2 13:40 | 显示全部楼层
推荐试一下1stOpt,不需初值,解方程能力及易用性都比Matlab等强。
 楼主| 发表于 2007-7-3 17:11 | 显示全部楼层

回复 #2 dingd 的帖子

呵呵,不过还要再重新学,然后又没有什么可用的版本,
 楼主| 发表于 2007-7-3 22:37 | 显示全部楼层
基本方程可以解了,虽然不是很符合实际情况,估计方程的问题吧。
具体方法是:
输入各个初始值
f=subs(rbs*(sin(q2s*ws)*(sin(ws+os0+os)-os*cos(ws+os0+os))+cos(q2s*ws)/(q2s*cos(ws+os0+os)))+y)
f=vpa(f,6)
ezplot(f,[0,2*pi])
可以看到函数的趋势,以及大概的零点,然后选用接近实际的零点附近的初始值,可以得到有效结果。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 22:45 , Processed in 0.058429 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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