Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 数学
数学 A discussion board for Mathematics.
回复
 
主题工具 显示模式
旧 2010-11-08, 03:15 PM   #1
初级会员
 
注册日期: 2010-11-08
年龄: 36
帖子: 1
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
joyce-g 正向着好的方向发展
警告 急!fsolve函数解方程关于初值和所解根的问题

当用fsolve这个函数解一个非线性方程时,出现了设定什么样的初始值就会得到什么样的解的情况,但这个解并不是我要解的方程组的解。 这种问题该怎么解决:
程序提示警告如下:
Warning: Default trust-region dogleg method of FSOLVE cannot
handle non-square systems; using Gauss-Newton method instead.
> In fsolve at 248
In bxx at 16
Optimization terminated: directional derivative along
search direction less than TolFun and infinity-norm of
gradient less than 10*(TolFun+TolX).

程序如下:

函数文件:
function F=myfunx(x)

global fr22 fr33 fr44 PP;


F=[x(1).*conj(x(1)).*(cos(x(3))).^4+x(2).*conj(x(2)).*(sin(x(3))).^4-2.*x(1).*x(2).*(sin(x(3))).^2.*(cos(x(3))).^2.*cos(pi-PP)-fr22.*conj(fr22);
x(1).*conj(x(1)).*(cos(x(3)+pi/18)).^4+x(2)*conj(x(2)).*(sin(x(3)+pi/18)).^4-2.*x(1).*x(2).*(sin(x(3)+pi/18)).^2.*(cos(x(3)+pi/18)).^2*cos(pi-PP)-fr33.*conj(fr33);
x(1)*conj(x(1)).*(cos(x(3)+pi/9)).^4+x(2).*conj(x(2)).*(sin(x(3)+pi/9)).^4-2.*x(1).*x(2).*(sin(x(3)+pi/9)).^2.*(cos(x(3)+pi/9)).^2.*cos(pi-PP)-fr44.*conj(fr44)];

在同一工作目录下,在MatLab命令窗口运行下列指令
clc
clear all



fr22=-0.000000153833007 + 0.000000370929161i;
fr33=-0.00000058448337 + 0.000000878668962i;
fr44=-0.000000868865919 + 0.000001438884514i;
PP=5.38205;

%%解方程

x0=[7e-9;-2.6316396111025e-10;pi/3]; %给变量初始值

Result=fsolve(@myfunx,x0) % 求解方程,options默认,等价形式还可以写成 x=fsolve('myfun1',x0)

得到的结果:
Warning: Default trust-region dogleg method of FSOLVE cannot
handle non-square systems; using Gauss-Newton method instead.
> In fsolve at 248
Optimization terminated: directional derivative along
search direction less than TolFun and infinity-norm of
gradient less than 10*(TolFun+TolX).

Result =

0.0000
-0.0000
1.0472
诚请高手帮忙解答~~ 不胜感激!!!!
joyce-g 当前离线   回复时引用此帖
旧 2011-03-01, 05:40 PM   #2
初级会员
 
注册日期: 2010-09-13
帖子: 3
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
wabld 正向着好的方向发展
默认 回复: 急!fsolve函数解方程关于初值和所解根的问题

不好搞,初始点的设置是这个函数的关键,说不清的。
wabld 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用



所有时间均为北京时间。现在的时间是 05:28 AM


Powered by vBulletin
版权所有 ©2000 - 2021,Jelsoft Enterprises Ltd.

SEO by vBSEO ©2009, Crawlability, Inc.