matlab求方程组的解的解

查看: 2196|回复: 5|关注: 0
MATLAB求解方程的最小二乘解问题
本帖最后由 yuleself 于
16:07 编辑
&&小弟只学过MATLAB的一些基本用法,现在做的这个项目需要用到MATLAB来处理一点数据,搞了一个多月了还没什么进展,希望各位大大能帮助一下,提前谢过了!
&&先描述一下问题吧。现在我有一个如下的方程(x和θ用分别用kk和tk替代):
QQ截图01.png (55.92 KB, 下载次数: 1)
15:57 上传
kk=(-1j*(z0^2-zxy^2+zxx*zyy)+sqrt(-(z0^2-zxy^2+zxx*zyy)^2+4*z0^2*(zyy*(cos(tk))^2-zxy*sin(2*tk)+zxx*(sin(tk))^2)*(zxx*(cos(tk))^2+zxy*sin(2*tk)+zyy*(sin(tk))^2)))/(2*z0*(zyy*(cos(tk))^2-zxy*sin(2*tk)+zxx*(sin(tk))^2))复制代码方程里面只有zxx,Zxy,zyy是未知数,有5个不同的θ和与之对应的x是已知的。现在就是要利用这5组值求解三个未知数zxx,Zxy,zyy(不能只用三组数据求解符号方程,因为数据的偶然性太大,三组数据求出来可信度不高)。
我的五组数据分别是:x=[0.477 0.720 0.987 0.936 0.647]
θ=[0 pi/6 pi/3 pi/2 2*pi/3]复制代码事先已经通过其它途径知道对应的三个未知数正确的解[Zxx Zxy Zyy]应该是:(j是虚数单位)Z=[1j*184.1 1j*67.6 1j*361.4]复制代码我自己找了一些关于最小二乘法的例子,然后用的下面的代码求解:function main()
clc
z_ini=[1j*184.1 1j*67.6 1j*161.4];%初值
options=optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt');
[z,resnorm]=lsqnonlin(@eq17, z_ini,[],[],options);
fprintf('zxx=%gj& &zxy=%fj& &zyy=%fj& &Resnorm=%g\n\n',imag(z(1)),imag(z(2)),imag(z(3)),resnorm)
F=eq17(z_ini)
function F=eq17(z0)
kk=[0.477 0.720 0.987 0.936 0.647];%kk就是原方程的x,tk是原方程的θ
tk=[0 pi/6 pi/3 pi/2 2*pi/3];
zxx=z0(1);zxy=z0(2);zyy=z0(3);
F(1)=(-1i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk(1)))^2-zxy*sin(2*tk(1))+zxx*(sin(tk(1)))^2)*(zxx*(cos(tk(1)))^2+zxy*sin(2*tk(1))+zyy*(sin(tk(1)))^2))^(1/2))*(2*377*(zyy*(cos(tk(1)))^2-zxy*sin(2*tk(1))+zxx*(sin(tk(1)))^2))^(-1)-kk(1);
F(2)=(-1i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk(2)))^2-zxy*sin(2*tk(2))+zxx*(sin(tk(2)))^2)*(zxx*(cos(tk(2)))^2+zxy*sin(2*tk(2))+zyy*(sin(tk(2)))^2))^(1/2))*(2*377*(zyy*(cos(tk(2)))^2-zxy*sin(2*tk(2))+zxx*(sin(tk(2)))^2))^(-1)-kk(2);
F(3)=(-1i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk(3)))^2-zxy*sin(2*tk(3))+zxx*(sin(tk(3)))^2)*(zxx*(cos(tk(3)))^2+zxy*sin(2*tk(3))+zyy*(sin(tk(3)))^2))^(1/2))*(2*377*(zyy*(cos(tk(3)))^2-zxy*sin(2*tk(3))+zxx*(sin(tk(3)))^2))^(-1)-kk(3);
F(4)=(-1i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk(4)))^2-zxy*sin(2*tk(4))+zxx*(sin(tk(4)))^2)*(zxx*(cos(tk(4)))^2+zxy*sin(2*tk(4))+zyy*(sin(tk(4)))^2))^(1/2))*(2*377*(zyy*(cos(tk(4)))^2-zxy*sin(2*tk(4))+zxx*(sin(tk(4)))^2))^(-1)-kk(4);
F(5)=(-1i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk(5)))^2-zxy*sin(2*tk(5))+zxx*(sin(tk(5)))^2)*(zxx*(cos(tk(5)))^2+zxy*sin(2*tk(5))+zyy*(sin(tk(5)))^2))^(1/2))*(2*377*(zyy*(cos(tk(5)))^2-zxy*sin(2*tk(5))+zxx*(sin(tk(5)))^2))^(-1)-kk(5);复制代码但是运行的时候出现:Local minimum possible.
lsqnonlin stopped because the relative size of the current step is less than
the default value of the step size tolerance.
&stopping criteria details&
zxx=184.1j& &zxy=67.600000j& &zyy=161.400000j& &Resnorm=0.564009
F =
& &-0.0014& &-0.0936& &-0.3952& &-0.5190& &-0.3601
&& 复制代码这样的解相当于没有解,根本没法用。而且我有很多个这样的方程组需要求解,也不知道它们的真实解是多少,所以初值的设置只能在一个大致的范围,不可能很精确。尝试过改那个step size tolerance似乎没有效果(如果我没有改错的话),不知道是不是选择的这个算法不适合这个例子。
有没有大牛能够帮助小弟一下,不胜感激啊!
没人回答么:Q
我也遇到类似的问题,同求。。。
同求,楼主解决了吗?分享一下啦
关注者: 20
1stOpt求解,结果似乎不错:
Constant kk=[0.477 0.720 0.987 0.936 0.647],
& && && &tk=[0 pi/6 pi/3 pi/2 2*pi/3];
ComplexPar zxy,zxx,zyy,
ComplexStr =
Function
(-i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk1))^2-zxy*sin(2*tk1)+zxx*(sin(tk1))^2)*(zxx*(cos(tk1))^2+zxy*sin(2*tk1)+zyy*(sin(tk1))^2))^(1/2))*(2*377*(zyy*(cos(tk1))^2-zxy*sin(2*tk1)+zxx*(sin(tk1))^2))^(-1)-kk1;
(-i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk2))^2-zxy*sin(2*tk2)+zxx*(sin(tk2))^2)*(zxx*(cos(tk2))^2+zxy*sin(2*tk2)+zyy*(sin(tk2))^2))^(1/2))*(2*377*(zyy*(cos(tk2))^2-zxy*sin(2*tk2)+zxx*(sin(tk2))^2))^(-1)-kk2;
(-i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk3))^2-zxy*sin(2*tk3)+zxx*(sin(tk3))^2)*(zxx*(cos(tk3))^2+zxy*sin(2*tk3)+zyy*(sin(tk3))^2))^(1/2))*(2*377*(zyy*(cos(tk3))^2-zxy*sin(2*tk3)+zxx*(sin(tk3))^2))^(-1)-kk3;
(-i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk4))^2-zxy*sin(2*tk4)+zxx*(sin(tk4))^2)*(zxx*(cos(tk4))^2+zxy*sin(2*tk4)+zyy*(sin(tk4))^2))^(1/2))*(2*377*(zyy*(cos(tk4))^2-zxy*sin(2*tk4)+zxx*(sin(tk4))^2))^(-1)-kk4;
(-i*(377^2-zxy^2+zxx*zyy)+(-(377^2-zxy^2+zxx*zyy)^2+4*377^2*(zyy*(cos(tk5))^2-zxy*sin(2*tk5)+zxx*(sin(tk5))^2)*(zxx*(cos(tk5))^2+zxy*sin(2*tk5)+zyy*(sin(tk5))^2))^(1/2))*(2*377*(zyy*(cos(tk5))^2-zxy*sin(2*tk5)+zxx*(sin(tk5))^2))^(-1)-kk5;
复制代码zxy.实部: 2.03E-8
zxy.虚部: 67.8
zxx.实部: 6.4E-8
zxx.虚部: 183.
zyy.实部: 3.47E-8
zyy.虚部: 360.
1stOpt求解,结果似乎不错:zxy.实部: 2.03E-8
zxy.虚部: 67.8
zxx.实部: 6.41789 ...
灰常灰常感谢!终于有人回复了,我等两天试试。这段时间再忙别的东西:Q
好人一生平安啊,大哥
站长推荐 /1
Powered by&广告载入中……
您当前的位置:&>&
复制带链接的文本推荐到其它网站→
将本页工具分享到:
解方程计算器
例如,输入a=3, b=6, c=-123, d=-126 和e=1080 点击解四次方程
ax4 + bx3 + cx2
+ dx + e = 0
四次方程的公式:四次方程 : ax4 +
bx3 + cx2 + dx + e = 0注意 :
让p和q是任何两个非零数的平方根
sqrt(y1)q = sqrt(y3) r = -g / (8pq)
s = b / (4a) &&x1 = p + q + r -
s&&x2 = p - q - r -
s&&x3 = -p + q - r -
s&&x4 = -p - q + r - s
三次方程公式:判别(Δ) =
q3 + r2q = (3c- b2)/9r =
-27d + b(9c-2b2)s = r + math.sqrt(判别)t
= r - math.sqrt(判别)term1 = math.sqrt(3.0)*((-t +
s)/2)r13= 2 * math.sqrt(q)y1=(- term1
+ r13*math.cos(q3/3) )y2=(-
term1 + r13*math.cos(q3+(2*math.PI)/3)
)y3=(- term1 +
r13*math.cos(q3+(4*math.PI)/3)
广告载入中……
上一篇: 下一篇:
如有问题可到本站-
&看不清楚,点击刷新
学习工程技术的天地
您感兴趣的栏目求下列微分方程的通解 ...
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
求下列微分方程的通解
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口答案:略解析:
算法步骤:
第一步,输入,,,,,.
第二步,计算.
第三步,计算.
第四步,输出x,y.
程序框图:
请在这里输入关键词:
科目:高中数学
写出解二元一次方程组的一个算法:
科目:高中数学
用矩阵方法求二元一次方程组的解.
科目:高中数学
写出解二元一次方程组的一个算法:第一步:(2)×2+(1)得:x=2;第二步:_________;第三步:输出x,y的值。
科目:高中数学
用矩阵方法求二元一次方程组的解.Hi~亲,欢迎来到题谷网,新用户注册7天内每天完成登录送积分一个,7天后赠积分33个,购买课程服务可抵相同金额现金哦~
意见详细错误描述:
教师讲解错误
错误详细描述:
当前位置:>>>
根据题意列方程,不解方程.(1)某小区规划在一个长40 m,宽26 m的矩形场地ABCD上修建三条同样宽的小路(如图),使其中两条与AB平行,另一条与AD平行,其余部分种草,若使每一块草坪的面积均为144 m2,求道路的宽度;(2)将进货单价为40元的商品按50元出售时,每天能卖掉500个,已知该商品每涨价1元,每天销售量就减少10个,为了每天赚8000元利润,售价应为多少元?
主讲:赵秀辉
【思路分析】
(1)本题中草坪的总面积=矩形场地的面积-三条道路的面积和+三条道路中重叠的两个小正方形的面积,据此可得出关于道路宽度的方程,求出道路的宽度.(2)等量关系为:(10+涨价的价格)×(原来卖出的数量-10×涨价的价格)=8000,把相关数值代入求合适的解即可.
【解析过程】
解:(1)设道路的宽为x米,由题意得:40×26-2×26x-40x+2x2=144×6化简得:x2-46x+88=0解得:x=2,x=44当x=44时,道路的宽就超过了矩形场地的长和宽,因此不合题意舍去.答:道路的宽为2米.(2)设应涨价x元.(50-40+x)(500-10x)=8000.解得x1=10,x2=30.∵为了更好的吸引顾客,∴应涨10元,答:应涨价10元.
(1)设道路的宽为2米,(2)设应涨价10元.
此题主要考查了由实际问题抽象出一元二次方程,解题关键是要读懂题目的意思,根据题目给出的条件,找出合适的等量关系,列出方程,再求解.考查一元二次方程的应用;得到每件商品获得的利润和卖出商品件数是解决本题的突破点.
给视频打分
电话:010-
地址:北京市西城区新街口外大街28号B座6层601
扫一扫有惊喜!
COPYRIGHT (C)
INC. ALL RIGHTS RESERVED. 题谷教育 版权所有
京ICP备号 京公网安备

我要回帖

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

 

随机推荐