matlab线性方程组求解解

&& 查看话题
【求助】非线性方程组求解
用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;
xinf1=rate*;
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 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
function x=x_vector()
global n rate
topsize=rate*n*32e-9;
basesize=n*32e-9;
dtop=rate*32e-9;
dbase=32e-9;
x=zeros(n,1);
& & x(i)=toploc(i)-baseloc(i);
& & x(i)=1e9*x(i);
请教各位大虫帮帮忙。谢谢啦。
可以考虑用智能算法,如下面即为为遗传算法求解该问题的代码:function fsolvewithga
global rate n g x k F
g=g_matrix();
x=x_vector();
%赋变量初始值
Fi=ones(1,n);
%=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)
%Display: 'off' | 'iter' | 'diagnose' | {'final'}
options = gaoptimset('Generations',1000,'InitialPopulation',sol0,'Display','diagnose',...
'PopulationSize',800,'TolFun',1e-24,'TolCon',1e-24,'MutationFcn',@mutationadaptfeasible );
LB=;&&%对应变量的下限
UB=;%对应变量的上限
= ga(@myfun,n+2,,,,,LB,UB,,options);
%fval 目标函数最优值显示
fprintf('找到的最小值fval:%.12e\n', fval);
Fi=sol(1,1:n);
tempF=F/2.*Fi(1,1:n/2)/sum(Fi(1,1:n/2));
% %若无对称性Fi的对应值由下式给出:
% Fi=F*Fi(1,1:n)/sum(Fi(1,1:n))
h=sol(n+1)
u=sol(n+2)
function f=myfun(sol)
global n g x k F
Fi=sol(1,1:n);
h=sol(n+1);
u=sol(n+2);
%考虑到sum(Fi)=F,输入的Fi只表示Fi(ii)在F*sum(Fi)中的比值
%确保sum(Fi)=F,这是处理的技巧所在
%若确定Fi向量有对称性,赋值时可以直接给赋予对称性
%下面是按Fi(ii)=F(n-ii)赋的值
tempF=F/2.*Fi(1,1:n/2)/sum(Fi(1,1:n/2));
% %若无对称性按以下处理:
%Fi=F*Fi(1,1:n)/sum(Fi(1,1:n));
%在g、Fi和h已知的前提下,li可以由表达式子得出,不用当做变量处理
li=zeros(1,n);
for ii=1:n
& & li(1,ii)=h-sum(g(ii,: ).*Fi);
for ii=1:n
& & 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;
function g=g_matrix()
global rate n
topsize=rate*n*32e-9;
basesize=n*32e-9;
dtop=rate*32e-9;
dbase=32e-9;
xinf1=rate*;
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 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
function x=x_vector()
global n rate
topsize=rate*n*32e-9;
basesize=n*32e-9;
dtop=rate*32e-9;
dbase=32e-9;
x=zeros(1,n);
& & x(i)=toploc(i)-baseloc(i);
& & x(i)=1e9*x(i);
end其运行结果如下:Diagnostic information.
& & & & Fitness function = @myfun
& & & & Number of variables = 22
& & & & 0 Inequality constraints
& & & & 0 Equality constraints
& & & & 0 Total number of linear constraints
Modified options:
& & & & options.PopulationSize = 800
& & & & options.Generations = 1000
& & & & options.TolFun = 1e-024
& & & & options.TolCon = 1e-024
& & & & options.InitialPopulation =
& & & & options.MutationFcn = @mutationadaptfeasible
& & & & options.Display = 'diagnose'
End of diagnostic information.
& && && && && && && && && && & Best& && && &&&Mean& && &Stall
Generation& && &f-count& && &&&f(x)& && && &&&f(x)& & Generations
&&991& && && &793600& && && &0.03951& && && &&&7.953& && & 10
&&992& && && &794400& && && &0.03951& && && &&&5.632& && & 11
&&993& && && &795200& && && & 0.0394& && && && &1.34& && &&&0
&&994& && && &796000& && && &0.03934& && && && &2.22& && &&&0
&&995& && && &796800& && && &0.03933& && && &&&7.365& && &&&0
&&996& && && &797600& && && &0.03933& && && &&&30.38& && &&&1
&&997& && && &798400& && && &0.03933& && && &&&20.33& && &&&2
&&998& && && &799200& && && & 0.0393& && && &&&13.35& && &&&0
&&999& && && &800000& && && & 0.0393& && && &&&13.87& && &&&1
1000& && && &800800& && && &0.03929& && && &&&9.558& && &&&0
Optimization terminated: maximum number of generations exceeded.
找到的最小值fval:3.e-002
&&1.0e-003 *
&&Columns 1 through 10
& & 0.8730& & 0.6817& & 0.3195& & 0.4057& & 0.3579& & 0.2268& & 0.3150& & 0.2802& & 0.2719& & 0.2683
&&Columns 11 through 20
& & 0.2683& & 0.2719& & 0.2802& & 0.3150& & 0.2268& & 0.3579& & 0.4057& & 0.3195& & 0.6817& & 0.8730
& &96.0050
& & 1.9025fval越小解越精确
适当增加遗传代数可以提高精度
'Generations',1000 这里设定遗传代数 结果应该是递减的,好像还是有些问题。有时间我加你QQ向你请教吧。谢谢啦。 Originally posted by sunarising at
结果应该是递减的,好像还是有些问题。有时间我加你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
可以把现在的程序下求出的解代入这两组表达式
如果对这俩组约束方程的重视程度相当的话
应该在后面乘上合适的权重 使他们的值大致相当
当然也可以根据实际情况调整权重,侧重某组约束
var cpro_id = 'u1216994';
欢迎监督和反馈:本帖内容由
提供,小木虫仅提供交流平台,不对该内容负责。欢迎协助我们监督管理,共同维护互联网健康,如果您对该内容有异议,请立即发邮件到
联系通知管理员,也可以通过QQ周知,我们的QQ号为:8835100
我们保证在1个工作日内给予处理和答复,谢谢您的监督。
小木虫,学术科研第一站,为中国学术科研研究提供免费动力
广告投放请联系QQ: &
违规贴举报删除请联系邮箱: 或者 QQ:8835100
Copyright &
eMuch.net, All Rights Reserved. 小木虫 版权所有matlab中非线性方程组求解问题(关于fsolve和solve的差别)如果非线性方程组可以有无穷多解,fsolve可以在图上获取零点初始数值,计算一组解,那么solve函数求得的是哪组解?fsolve和solve在精度方面有多大差别?_百度作业帮
matlab中非线性方程组求解问题(关于fsolve和solve的差别)如果非线性方程组可以有无穷多解,fsolve可以在图上获取零点初始数值,计算一组解,那么solve函数求得的是哪组解?fsolve和solve在精度方面有多大差别?
如果非线性方程组可以有无穷多解,fsolve可以在图上获取零点初始数值,计算一组解,那么solve函数求得的是哪组解?fsolve和solve在精度方面有多大差别?
fsolve是用迭代方法计算选定迭代初始点的解。solve是一般的解方程和方程组,精度变化应该变化比较大;简单的方程(组),是精确解。我记得solve的到好几组解吧。比如:A = solve('a*u^2 + v^2', 'u - v = 1', 'a^2 - 5*a + 6')returnsA =
a: [4x1 sym]
u: [4x1 sym]
v: [4x1 sym]whereA.a = [ 2] [ 2] [ 3] [ 3]A.u = [ 1/3+1/3*i*2^(1/2)] [ 1/3-1/3*i*2^(1/2)] [ 1/4+1/4*i*3^(1/2)] [ 1/4-1/4*i*3^(1/2)]A.v = [ -2/3+1/3*i*2^(1/2)] [ -2/3-1/3*i*2^(1/2)] [ -3/4+1/4*i*3^(1/2)] [ -3/4-1/4*i*3^(1/2)]把所有解都给出了。您还未登陆,请登录后操作!
齐次线性方程组永远有解,数域F上一个n 元齐次线性方程组的所有解向量作成Fn的一个子空间,这个子空间叫作所给的齐次线性方程组的解空间.
现在设(3)的系数矩阵的秩等于r.那么通过行初等变换,必要时交换列,可以将系数矩阵A化为以下形式的一个矩阵; . 与这个矩阵相当的齐次线性方程组是 y1 +c1,r+1yr+1+…+c1nyn=0, y2 +c2,r+1yr+1+…+c2nyn=0, ………………………………, yr+cr,r+1yr+1+…+cr,nyn=0, 这里yk=xik,k=1,…n,就是未知量yr+1,…yn.依次让它们取值(1,0,…,0),(0,1,0,…0),…,(0,…,0,1),我们得到(4)的n-r个解向量 =, =,……., = 这n-r个解向量显然线性无关,另一方面,设(k1,k2,…,kn)是(4)的任意一个解,代入(4)得 k1=-c1,r+1kr+1-…-c1,nkn, k2=-c2,r+1kr+1-…-c2,nkn, …………………………… kr=-cr,r+1kr+1-…- cr,nkn, kr+1=1kr+1, ……………………………… kn=
齐次线性方程组永远有解,数域F上一个n 元齐次线性方程组的所有解向量作成Fn的一个子空间,这个子空间叫作所给的齐次线性方程组的解空间.
现在设(3)的系数矩阵的秩等于r.那么通过行初等变换,必要时交换列,可以将系数矩阵A化为以下形式的一个矩阵; . 与这个矩阵相当的齐次线性方程组是 y1 +c1,r+1yr+1+…+c1nyn=0, y2 +c2,r+1yr+1+…+c2nyn=0, ………………………………, yr+cr,r+1yr+1+…+cr,nyn=0, 这里yk=xik,k=1,…n,就是未知量yr+1,…yn.依次让它们取值(1,0,…,0),(0,1,0,…0),…,(0,…,0,1),我们得到(4)的n-r个解向量 =, =,……., = 这n-r个解向量显然线性无关,另一方面,设(k1,k2,…,kn)是(4)的任意一个解,代入(4)得 k1=-c1,r+1kr+1-…-c1,nkn, k2=-c2,r+1kr+1-…-c2,nkn, …………………………… kr=-cr,r+1kr+1-…- cr,nkn, kr+1=1kr+1, ……………………………… kn= 1kn. 于是 =kr+1,ηr+1+kr+2ηr+2+…+knηn 因此,(4)的每一个解向量都可以由这n-r个解向量ηr+1,ηr+2,…,ηn线性表示,这样一来, {ηr+1,ηr+2,…,ηn}构成(4)的解空间的一个基,重新排列每一解向量ηi中坐标的次序,就得到齐次线性方程组(3)的解空间的一个基,即 定理6.7.3 数域上一个n个未知量的齐次线性方程组的一毁解作成Fn的一个子空间,称为这个齐次线性方程组的解空间,如果所给的方程组的系数矩阵的秩是r,那么解空间的维数n-r. 一个齐次线性方程组的解空间的一个基叫做这个方程组的一个基础解系. 例 1 求齐次线性方程组 x1-x2+5x3-x4=0 x1+x2-2x3+3x4=0 3x1-x2+8x3+x4=0 x1+3x2-9x3+7x4=0 的一个基础解系. 对行施行初等变换化简系数矩阵,得 与这个矩阵相当的齐次方程组是 取作为自由未知量,依次令和得出方程的两个解 它们作成所给的方程组的一个基础解系.方程组的任意一个解都有形式 这里是所数中任意数,方程组的解空间由一切形如的解向量组成.设 (5) A 是数域F上任意一个线性方程组,A是一个m8n矩阵,把(5)的常数都换成零,就得到一个齐次线性方程组 A= 齐次方程组(6)叫做方程组(5)的导出齐次方程组, 定理6.7.4 如果线性方程组(5)有解那么(5)的一个解与导出齐次方程组的一个解的任意解都可以写成(5)的一个固定(6)的一个解的和, 证 设ν=(c1,c2,…cn)是方程组(5)的一个解,δ=(d1,d2,…,dn)是导出齐次方程组(6)的一个解.那么 A=A 所以是(5)的一个解设是(5)的任意一个解.那么 A 因此μ=λ—ν是导出方程组(6)的一个解,而λ=ν+μ.
设AX=β有解.
任意Y,A^tY=0
==&&Y,β&=&Y,AX&=&A^tY,X&=&0,X&=0
记KerA^t={Y,A^t...
大家还关注[科技日报]量子计算机成功求解线性方程组 中国科大首次实现线性方程组量子算法 中国科学技术大学新闻网
[科技日报]量子计算机成功求解线性方程组 中国科大首次实现线性方程组量子算法
最新发现与创新
科技日报合肥6月9日电&(记者吴长锋)记者今天从中国科学技术大学获悉,由该校潘建伟院士领衔的量子光学和量子信息团队的陆朝阳、刘乃乐研究小组,在国际上首次成功实现用量子计算机求解线性方程组的实验。该研究成果发表在6月7日出版的《物理评论快报》上。
线性方程组广泛地应用于几乎每一个科学和工程领域,包括数值计算、信号处理、经济学和计算机科学等。比如与我们日常生活紧密相关的气象预报,就需要建立并求解包含百万变量的线性方程组,来实现对大气中各种物理参数(温度、气压、湿度等)的模拟和预测。而高准确度的气象预报则需要求解具有海量数据的方程组,假使要求解一个亿亿亿变量的方程组,即便是用现在世界上最快的超级计算机也至少需要几百年。
潘建伟团队发展了世界领先的多光子纠缠操控技术,成功运行了求解一个2×2线性方程组的量子线路,首次从原理上证明了这一算法的可行性。审稿人评价&“实验工作新颖而且重要”、“这个算法是量子信息技术最有前途的应用之一”。《物理评论快报》把该论文选为重点推介论文,在美国物理学会的网站专门撰文介绍。
在中科院、科技部、教育部和基金委的长期支持下,潘建伟团队对光学量子计算开展了系统性和战略性的研究,取得了一系列开创性的成果:2007年在世界上首次用光量子计算机实现大数分解量子肖尔算法、2008年首次实现量子容失编码、2009年首次量子模拟任意子的分数统计、2010年首次实现可容错光子逻辑门、2011年首次实现非簇态的单向量子计算、2012年首次实现拓扑量子纠错、2013年首次实现线性方程组量子算法。上述成果被美国物理学会、英国物理学会、BBC、新科学家杂志等国际媒体广泛报道,标志着我国在光学量子计算领域保持着国际领先地位。
科技日报 一版报眼
中国科大新闻网
中国科大官方微博
中国科大官方微信
Copyright 2007 - 2008 All Rights Reserved
版权所有 Email:
主办:中国科学技术大学 承办:新闻中心 技术支持:网络信息中心
地址:安徽省合肥市金寨路96号 邮编:230026Ch08:数值计算方法之线性方程组求解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
喜欢此文档的还喜欢
Ch08:数值计算方法之线性方程组求解
数​值​计​算​方​法​课​件
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:171.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 线性方程组求解方法 的文章

 

随机推荐