解方程组。

选择适当方法解一元二次方程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
选择适当方法解一元二次方程
适​宜​苏​教​版
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢一元三次方程求根公式_百度百科
一元三次方程求根公式
标准型的一元三次方程aX^3+bX^2+cX+d=0(a,b,c,d∈R,且a≠0),其解法有:1、意大利学者卡尔丹于1545年发表的卡尔丹公式法;2、中国学者于1989年发表的盛金公式法。两种公式法都可以解标准型的一元三次方程。用卡尔丹公式解题方便,相比之下,盛金公式虽然形式简单,但是整体较为冗长,不方便记忆,但是实际解题更为直观。
公式法(卡尔丹公式)
(如右图所示)
若用A、B换元后,公式可简记为:
x1=A^(1/3)+B^(1/3);
x2=A^(1/3)ω+B^(1/3)ω^2;
x3=A^(1/3)ω^2+B^(1/3)ω。
当△=(q/2)^2+(p/3)^3&0时,有一个实根和一对个共轭;
当△=(q/2)^2+(p/3)^3=0时,有三个实根,其中两个相等;
当△=(q/2)^2+(p/3)^3&0时,有三个不相等的实根。
ax^3+bx^2+cx+d=0(a≠0)
为了方便,约去a得到
x^3+kx^2+mx+n=0
令x=y-k/3 ,
代入方程(y-k/3)^3+k(y-k/3)^2+m(y-k/3)+n=0 ,
(y-k/3)^3中的y^2项系数是-k ,
k(y-k/3)^2中的y^2项系数是k ,
所以相加后y^2抵消 ,
得到y^3+py+q=0,
其中p=-k^2/3+m ,
q=(2(k/3)^3)-(km/3)+n。
方程x^3+px+q=0的三个根为:
x1=[-q/2+((q/2)^2+(p/3)^3)^(1/2)]^(1/3)+
+[-q/2-((q/2)^2+(p/3)^3)^(1/2)]^(1/3);
x2=w[-q/2+((q/2)^2+(p/3)^3)^(1/2)]^(1/3)+
+w^2[-q/2-((q/2)^2+(p/3)^3)^(1/2)]^(1/3);
x3=w^2[-q/2+((q/2)^2+(p/3)^3)^(1/2)]^(1/3)+
+w[-q/2-((q/2)^2+(p/3)^3)^(1/2)]^(1/3),
其中w=(-1+i√3)/2。
×推导过程:
1、方程x^3=1的解为x1=1,x2=-1/2+i√3/2=ω,x3=-1/2-i√3/2=ω^2 ;
2、方程x^3=A的解为x1=A^(1/3),x2=A^(1/3)ω,x3=A^(1/3)ω^2 ,
3、一般三次方程ax^3+bx^2+cx+d=0(a≠0),两边同时除以a,可变成x^3+sx^2+tx+u=0的形式。
再令x=y-s/3,代入可消去次高项,变成x^3+px+q=0的形式。
设x=u+v是方程x^3+px+q=0的解,代入整理得:
(u+v)(3uv+p)+u^3+v^3+q=0 ①,
如果u和v满足uv=-p/3,u^3+v^3=-q则①成立,
由一元二次方程u^3和V^3是方程y^2+qy-(p/3)^3=0的两个根。
解之得,y=-q/2±((q/2)^2+(p/3)^3)^(1/2),
不妨设A=-q/2-((q/2)^2+(p/3)^3)^(1/2),B=-q/2+((q/2)^2+(p/3)^3)^(1/2),
则u^3=A;v^3=B ,
u= A^(1/3)或者A^(1/3)ω或者A^(1/3)ω^2 ;
v= B^(1/3)或者B^(1/3)ω或者B^(1/3)ω^2 ,
但是考虑到uv=-p/3,所以u、v只有三组解:
u1= A^(1/3),v1= B^(1/3);
u2=A^(1/3)ω,v2=B^(1/3)ω^2;
u3=A^(1/3)ω^2,v3=B^(1/3)ω,
方程x^3+px+q=0的三个根也出来了,即
x1=u1+v1=A^(1/3)+B^(1/3);
x2=A^(1/3)ω+B^(1/3)ω^2;
x3=A^(1/3)ω^2+B^(1/3)ω。
一元三次方程x^3+px+q=0,(p,q∈R)的求根公式是1545年由意大利学者卡尔丹发表在《关于代数的大法》一书中,人们就把它叫做(有的数学资料叫“”)。可是事实上,发现公式的人并不是卡尔
丹(卡丹)本人,而是(Tartaglia N.,约)。发现此公式后,曾据此与许多人进行过解题竞赛,他往往是胜利者,因而他在意大利名声大震。医生兼数学家卡丹得知塔塔利亚总是获胜的消息后,就千方百计地找塔塔利亚探听他的秘密。当时学者们通常不急于把自己所掌握的秘密向周围的人公开,而是以此为秘密武器向别人挑战比赛,或等待悬赏应解,以获取奖金。 尽管卡尔丹千方百计地想探听塔塔利亚的秘密,但是在很长时间中塔塔利亚都守口如瓶。可是后来,由于卡丹一再恳切要求,而且发誓对此保守秘密,于是塔塔利亚在1539年把他的发现写成了一首语句晦涩的诗告诉了卡丹,但是并没有给出详细的证明。 卡丹并没有信守自己的誓言,1545年在其所著《重要的艺术》一书中向世人公开了这个解法。他在此书中写道:“这一解法来自于一位最值得尊敬的朋友--布里西亚的塔塔利亚。塔塔利亚在我的恳求之下把这一方法告诉了我,但是他没有给出证明。我找到了几种证法。证法很难,我把它叙述如下。”从此,人们就把一元三次方程的求根公式称为卡丹公式。 塔塔利亚知道卡丹把自己的秘密公之于众后,怒不可遏。按照当时人们的观念,卡丹的做法无异于背叛,而关于发现法则者是谁的附笔只能被认为是一种
公开的侮辱。于是塔塔利亚与卡丹在米兰市的教堂进行了一场公开的辩论。 许多资料都记述过塔塔利亚与卡丹在一元三次方程求根公式问题上的争论,可是,名为卡丹公式的一元三次方程的求解方法,确实是塔塔利亚发现的;卡丹没有遵守誓言,因而受到塔塔利亚及许多文献资料的指责,卡丹错有应得,但是卡丹在公布这一解法时并没有把发现这一方法的功劳归于自己,而是如实地说明了这是塔塔利亚的发现,所以算不上剽窃;而且证明过程是卡丹自己给出的,说明卡丹也做了工作。卡丹用自己的工作对塔塔利亚泄露给他的秘密加以补充,违背誓言,把秘密公之于世,加速了一元三次方程求根公式的普及和人类探索一元n次方程解法的进程。不过,公式的名称,还是应该称为方塔纳公式或塔塔利亚公式;称为卡丹公式是历史的误会。 一元三次方程应有三个根。塔塔利亚公式给出的只是一个实根。又过了大约200年后,随着人们对认识的加深,到了1732年,才由瑞士数学家找到了一元三次方程三个根的完整的表达式。
是意大利人,出生于1500年。他12岁那年,被入侵的法国兵砍伤了头部和舌头,从此说话结结巴巴,人们就给他一个绰号“塔尔塔利亚”(在意大利语中,这是口吃的意思),真名反倒少有人叫了,他自学成才,成了数学家,宣布自己找到了三次方程的的解法。有人听了不服气,来找他较量,每人各出30道题,由对方去解。结果,塔尔塔利亚30道三次方程的解全做了出来,对方却一道题也没做出来。塔尔塔利亚大获全胜。这时,意大利数学家卡丹出场,请求塔尔塔利把的方法告诉他,可是遭到了拒绝。后来卡丹对塔尔塔利假装说要推荐他去当西班牙炮兵顾问,并称自己有许多发明,唯独无法解三次方程而内心痛苦。还发誓,永远不泄漏塔尔塔利亚式的秘密。塔尔塔利亚这才把解一元三次方程的秘密告诉了卡丹。六年以后,卡丹不顾原来的信约,在他的著作《关于代数的大法》中,将经过改进的三次方程的解法公开发表。后人就把这个方法叫作,塔尔塔利亚的名字反而被湮没了,正如他的真名在口吃以后被埋没了一样。
塔尔塔利亚对卡丹的背信行为非常恼怒,互相写信指骂对方。最终在一个不明的夜晚,卡丹派人秘密刺杀了塔尔塔利亚。
至于ax^4 +bx^3 +cx^2 +dx+e=0求根公式由卡丹的学生找到了。
关于三次、的求根公式,因为要涉及概念,复数是指能写成如下形式的数a+bi,这里a和b是实数,i是单位(即-1开根)。 由意大利米兰学者卡当在十六世纪首次引入,经过达朗贝尔、棣莫弗、、等人的工作,此概念逐渐为数学家所接受。 复数有多种表示法,诸如表示、三角表示,指数表示等。它满足等性质。它是、、、分形、流体力学、相对论、量子力学等学科中最基础的对象和工具。
一元三次、四次方程求根公式找到后,人们在努力寻找求根公式,三百
年过去了,但没有人成功,这些经过尝试而没有得到结果的人当中,不乏有。
后来年轻的挪威数学家于1824年所证实, n次方程(n≥5)没有公式解。不过,对这个问题的研究,其实并没结束,因为人们发现有些n次方程(n≥5)可有求根公式。那么又是什么样的一元n次方程才没有求根公式呢?
不久,这一问题在19世纪上半期,被法国天才数学家利用他创造的全新的所证明,由此一门新的数学分支“”诞生了。
置换群解法
和根的关系如下:
求出X,Y,后有
这是个,其中
为原方程的三个根!三元一次方程_百度百科
三元一次方程
含有三个未知数并且未知数的的项的次数都是一,这样的整式方程叫做三元一次方程共含有三个未知数的三个一次方程所组成的一组整式方程,叫做三元一次方程组
如果中含有三个,且含有未知数的的次数都是一次,这样的组叫做。(并用 )。
它们主要的解法就是和代入,通常采用加减消元法,若方程组难解就用代入消元法,因题而异(与的解法相似)。通过消元后转化为二元一次方程组,再消元转化为一元一次方程,再解答。
含有三个相同的未知数,每个方程中含项的次数都是1次,并且一共有三个方程,叫做三元一次方程组。
三元一次方程一般将会在初中数学的方程部分中学到,
求二次函数解析式需要用到。
不是三元一次方程。
1.了解三元一次方程组的概念;熟练掌握简单的的解法;能选择简便,特殊的解法解特殊的三元一次方程组。
2.通过用代入消元法,加减消元法解简单的三元一次方程组的训练及选择合理,简捷的方法解方程组,培养运算能力。
3.通过对方程组中未知数特点的观察和分析,明确三元一次方程组解法的主要思路是&消元&,从而促成未知向已知的转化,培养和发展逻辑思维能力。
4.通过三元一次方程组消元后转化为组,再消元转化为及将一些代数问题转化为方程组问题的方法的学习,培养初步运用转化思想去解决问题,发展思维能力。
⒈三元一次方程组的概念:
含有三个未知数,每个方程的未知项的次数都是1,并且共有三个方程,这样的方程组叫做三元一次方程组.
例如: 2x+3y-z=0
就叫做三元一次方程组.
注意:每个方程不一定都含有三个未知数,但方程组整体上要含有三个未知数.
熟练掌握简单的三元一次方程组的解法
会叙述简单的三元一次方程组的解法思路及步骤.
思路:解三元一次方程组的基本思想仍是消元,其基本方法是代入法和加减法.
步骤:①利用代入法或加减法,消去一个未知数,得到一个二元一次方程组;
②解这个二元一次方程组,求得两个未知数的值;
③将这两个未知数的值代入原方程中含有三个未知数的一个方程,求出第三个未知数的值,把
这三个未知数的值用一个大括号写在一起就是所求的三元一次方程组的解.
灵活运用加减消元法,代入消元法解简单的三元一次方程组.
例1:解下列三元一次方程组
5x+3y+2z=3 ②
分析:此方程组可用代入法先消去y,把①代入②,得,
5x+3(2x-7)+2z=3
即 11x+2z=24
解, 11x+2z=24
得: x=2 z=1
把x=2 代入 y=2x-7得y=-3
所以,这个方程组的解为 x=2
例2. 2x-y+z=10 ①
3x+2y-z=16 ②
x+6y-z=28 ③
分析:解三元一次方程组同解二元一次方程组类似,消元时,选择系数较简单的较好.上述三元一次方程组中从三个方程的未知数的系数特点来考虑,先消z比较简单.
解:①+②得,5x+y=26④
①+③得,3x+5y=38⑤
④与⑤组成方程组:
解这个方程组,得 x、y值
把代入便于计算的方程③,得z值
注意:为把三元一次方程组转化为二元一次方程组,原方程组中的每个方程至少要用一次.
能够选择简便,特殊的解法解特殊的三元一次方程组.
例3:解下列三元一次方程组
分析:此方程组中x,y,z出现的次数相同,系数也相同.根据这个特点,将三个方程
的两边分别相加解决较简便.
解:①+②+③得:2(x+y+z)=30
x+y+z=15 ④
再④-①得:z=5
④-②得:x=1
④-③得:y=9
∴ x=1 y=9 z=5
例4:解下列方程组
x︰y=3︰2 ①
x+y+z=66 ③
分析:根据方程组特点,方程①和②给出了比例关系,可先设x=3k,y=2k,由②得:2z=y,∴z=1\2×2k=k,再把x=3k,y=2k,z=k代入③,可求出k值,进而求出x,y,z的值.
解:由①设x=3k,y=2k
由②设z=y=×2k=k
把x=3k,y=2k,z=k分别代入③,得
3k+2k+k=66,得k=11
∴x=33 y=22 z=11matlab&解方程组
最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法:
(1)x=inv(A)*b — 采用求逆运算解方程组;
& (2)x=A\B — 采用左除运算解方程组
PS:使用左除的运算效率要比求逆矩阵的效率高很多~
2x1+3x2=13
&&A=[1,2;2,3];b=[8;13];
&&x=inv(A)*b
即二元一次方程组的解x1和x2分别是2和3。
对于同学问到的用matlab解多次的方程组,有符号解法,方法是:先解出符号解,然后用vpa(F,n)求出n位有效数字的数值解.具体步骤如下:
第一步:定义变量syms x y z ...;
第二步:求解[x,y,z,...]=solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN');
第三步:求出n位有效数字的数值解x=vpa(x,n);y=vpa(y,n);z=vpa(z,n);...。
如:解二(多)元二(高)次方程组:
x^2+3*y+1=0
y^2+4*x+1=0
解法如下:
&&[x,y]=solve('x^2+3*y+1=0','y^2+4*x+1=0');
&&x=vpa(x,4);
&&y=vpa(y,4);
1.635+3.029*i
1.635-3.029*i
1.834-3.301*i
1.834+3.301*i
二元二次方程组,共4个实数根;
还有的同学问,如何用matlab解高次方程组(非符号方程组)?举个例子好吗?
解答如下:
基本方法是:solve(s1,s2,…,sn,v1,v2,…,vn),即求表达式s1,s2,…,sn组成的方程组,求解变量分别v1,v2,…,vn。
具体例子如下:
x^2 + x*y + y = 3
x^2 - 4*x + 3 = 0
&& [x,y] = solve('x^2 + x*y + y =
3','x^2 - 4*x + 3 = 0')
运行结果为
即x等于1和3;y等于1和-1.5
&&[x,y] = solve('x^2 + x*y + y =
3','x^2 - 4*x + 3= 0','x','y')
结果一样,二元二方程都是4个实根。
通过这三个例子可以看出,用matlab解各类方程组都是可以的,方法也有多种,只是用到解方程组的函数,注意正确书写参数就可以了,非常方便。
from:http://bbs./pc/pccon.php?id=950&nid=14498&tid=0
2、变参数非线性方程组的求解
对于求解非线性方程组一般用fsolve命令就可以了,但是对于方程组中某一系数是变化的,该怎么求呢?
%定义方程组如下,其中k为变量
function F = myfun(x,k)
Pc0=0.23;W=0.18;
F=[Pc0+H*(1+1.5*(x(1)/W-1)-0.5*(x(1)/W-1)^3)-x(2);
x(1)-k*sqrt(x(2))];
Pc0=0.23;W=0.18;
x0 = [2*W; Pc0+2*H]; % 取初值
options = optimset('Display','off');
k=0:0.01:1; % 变量取值范围[0 1]
for i=1:1:length(k)
x = fsolve(@(x) myfun(x,kk), x0, options);%求解非线性方程组
x1(i)=x(1);
x2(i)=x(2);
plot(k,x1,'-b',k,x2,'-r');
xlabel('k')
legend('x1','x2')
cite from:/archiver/tid-836299.html
3、非线性方程数值求解
matlab里solve如何使用,是否有别的函数可以代替它.
matlab里我解y=9/17*exp(-1/2*t)*17^(1/2)*sin(1/2*17^(1/2)*t)=0这样的方程为什么只得到0这一个解,如何可以的到1/2*17^(1/2)*t=n*(pi)这样一族解??
在matlab里面solve命令主要是用来求解代数方程(即多项式)的解,但是也不是说其它方程一个也不能解,不过求解非代数方程的能力相当有限,通常只能给出很特殊的实数解。(该问题给出的方程就是典型的超越方程,非代数方程)
从计算机的编程实现角度讲,如今的任何算法都无法准确的给出任意非代数方程的所有解,但是我们有很多成熟的算法来实现求解在某点附近的解。matlab也不例外,它也只能给出任意非代数方程在某点附近的解,函数有两个:fzero和fsolve,具体用法请用help或doc命令查询吧。如果还是不行,你还可以将问题转化为非线性最优化问题,求解非线性最优化问题的最优解,可以用的命令有:fminbnd,
fminsearch, fmincon等等。
*非线性方程数值求解
*单变量非线性方程求解
在MATLAB中提供了一个fzero函数,可以用来求单变量非线性方程的根。该函数的调用格式为:
z=fzero('fname',x0,tol,trace)
其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只给出离x0最近的那个根。tol控制结果的相对精度,缺省时取tol=eps,trace�指定迭代信息是否在运算中显示,为1时显示,为0时不显示,缺省时取trace=0。
例 求f(x)=x-10x+2=0在x0=0.5附近的根。
步骤如下:
(1) 建立函数文件funx.m。
function fx=funx(x)
fx=x-10.^x+2;
(2) 调用fzero函数求根。
z=fzero('funx',0.5)
**非线性方程组的求解
对于非线性方程组F(X)=0,用fsolve函数求其数值解。fsolve函数的调用格式为:
X=fsolve('fun',X0,option)
其中X为返回的解,fun是用于定义需求解的非线性方程组的函数文件名,X0是求根过程的初值,option为最优化工具箱的选项设定。最优化工具箱提供了20多个选项,用户可以使用optimset命令将它们显示出来。如果想改变其中某个选项,则可以调用optimset()函数来完成。例如,Display选项决定函数调用时中间结果的显示方式,其中‘off’为不显示,‘iter’表示每步都显示,‘final’只显示最终结果。
optimset(‘Display’,‘off’)将设定Display选项为‘off’。
例 求下列非线性方程组在(0.5,0.5) 附近的数值解。
(1) 建立函数文件myfun.m。
function q=myfun(p)
q(1)=x-0.6*sin(x)-0.3*cos(y);
q(2)=y-0.6*cos(x)+0.3*sin(y);
(2) 在给定的初值x0=0.5,y0=0.5下,调用fsolve函数求方程的根。
x=fsolve('myfun',[0.5,0.5]',optimset('Display','off'))
将求得的解代回原方程,可以检验结果是否正确,命令如下:
q=myfun(x)
1.0e-009 *
可见得到了较高精度的结果。
from:.cn/s/blog_56ef652d0100ebew.html
4、fsolve函数解方程
[X,FVAL,EXITFLAG,OUTPUT,JACOB]=FSOLVE(FUN,X0,...) returns the
Jacobian of FUN at X.
FUN can be specified using @:
x = fsolve(@myfun,[2 3 4],optimset('Display','iter'))
where myfun is a MATLAB function such as:
function F = myfun(x)
F = sin(x);
FUN can also be an anonymous function:
x = fsolve(@(x) sin(3*x),[1 4],optimset('Display','off'))
If FUN is parameterized, you can use anonymous functions to capture
problem-dependent parameters. Suppose you want to solve the system
nonlinear equations given in the function myfun, which is
parameterized
by its second argument c. Here myfun is an M-file function such
function F = myfun(x,c)
F = [ 2*x(1) - x(2) - exp(c*x(1))
-x(1) + 2*x(2) - exp(c*x(2))];
To solve the system of equations for a specific value of c, first
assign the
value to c. Then create a one-argument anonymous function that
that value of c and calls myfun with two arguments. Finally, pass
this anonymous
function to FSOLVE:
c = -1; % define parameter first
x = fsolve(@(x) myfun(x,c),[-5;-5])
cite from:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 在线解方程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信