24小时热门版块排行榜    

查看: 3109  |  回复: 3

sunarising

铜虫 (小有名气)

[交流] 【求助】非线性方程组求解 已有2人参与

用matlab自带的fsolve函数和拟牛顿法等一系列优化算法求解结果都不理想。方程组形式和系数矩阵算法如下。请教如何求解这个复杂的非线性方程组。


系数矩阵算法如下:
function g=g_matrix()

global rate n

topsize=rate*n*32e-9;
basesize=n*32e-9;
dtop=rate*32e-9;
dbase=32e-9;
toploc=[-topsize/2+dtop/2:dtop:topsize/2-dtop/2];
baseloc=[-basesize/2+dbase/2:dbase:basesize/2-dbase/2];

E1=2e4;
a0=5e-9;
xinf1=rate*2000*32e-9;
xinf2=2000*32e-9;
c1=-(xinf1+a0)*log((xinf1+a0)^2/(a0)^2)+(xinf1-a0)*log((xinf1-a0)^2/(a0)^2);
c2=-(xinf2+a0)*log((xinf2+a0)^2/(a0)^2)+(xinf2-a0)*log((xinf2-a0)^2/(a0)^2);

g=zeros(n,n);

for i=1:n
    for j=1:n
        if (j==i)
            g(i,j)=-(2*a0*log(4)+c1)/(2*pi*E1*a0*dtop)-(2*a0*log(4)+c2)/(2*pi*E1*(1+0*baseloc(i))*a0*dbase);
        else
            g(i,j)=2*(log(abs(xinf1))-log(abs(toploc(i)-toploc(j))))/(pi*E1*dtop)+...
                2*(log(abs(xinf2))-log(abs(baseloc(i)-baseloc(j))))/(pi*E1*dbase*(1+0*baseloc(i)));
        end
    end
end


function x=x_vector()

global n rate


topsize=rate*n*32e-9;
basesize=n*32e-9;
dtop=rate*32e-9;
dbase=32e-9;
toploc=[-topsize/2+dtop/2:dtop:topsize/2-dtop/2];
baseloc=[-basesize/2+dbase/2:dbase:basesize/2-dbase/2];

x=zeros(n,1);

for i=1:n
    x(i)=toploc(i)-baseloc(i);
    x(i)=1e9*x(i);
end



请教各位大虫帮帮忙。谢谢啦。

[ Last edited by sunarising on 2010-7-5 at 10:42 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anyuezhiji

银虫 (正式写手)

星空行者

内容已删除
暗月下没有留下风的痕迹,但它已经寂然飘逝。。By<暗月之寂>:tiger38:
2楼2010-07-05 16:34:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sunarising

铜虫 (小有名气)

结果应该是递减的,好像还是有些问题。有时间我加你QQ向你请教吧。谢谢啦。
3楼2010-07-05 18:30:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anyuezhiji

银虫 (正式写手)

星空行者

sunarising(金币+30): 2010-07-06 08:41:52
引用回帖:
Originally posted by sunarising at 2010-07-05 18:30:49:
结果应该是递减的,好像还是有些问题。有时间我加你QQ向你请教吧。谢谢啦。

增加遗传代数试试

或许是精度还不够

继续算很多代以后看看结果是否合适


另外

f=f+((li(ii)^2+(x(ii)+u)^2)*(li(ii)-Fi(ii)/k)^2-li(ii)^2*l^2)^2*100;

f=f+sum((x+u)./li.*Fi)^2*100;

后面都乘了100

可以把现在的程序下求出的解代入这两组表达式
如果对这俩组约束方程的重视程度相当的话
应该在后面乘上合适的权重 使他们的值大致相当
当然也可以根据实际情况调整权重,侧重某组约束
暗月下没有留下风的痕迹,但它已经寂然飘逝。。By<暗月之寂>:tiger38:
4楼2010-07-05 18:47:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sunarising 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见