欢迎来到天天文库
浏览记录
ID:22320606
大小:327.50 KB
页数:21页
时间:2018-10-28
《matlab4数值计算(一)new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MatLab&数学建模授课:唐静波(九江学院理学院)第四讲数值计算符号数学工具箱符号表达式的运算numeric符号到数值的转换pretty显示悦目的符号输出subs替代子表达式sym建立符号矩阵或表达式symadd符号加法symdiv符号除法symmul符号乘法symop符号运算sympow符号表达式的幂运算symrat有理近似symsub符号减法symvar求符号变量符号表达式的简化collect合并同类项expand展开factor因式simple求解最简形式simplify简化symsum和级数符号多项式charpoly特征多项式horner嵌套多项式表示numden分子或
2、分母的提取poly2sym多项式向量到符号的转换sym2poly符号到多项式向量的转换符号微积分diff微分int积分jordan约当标准形taylor泰勒级数展开21符号可变精度算术digits设置可变精度vpa可变精度计算求解符号方程compose函数的复合dsolve微分方程的求解finverse函数逆linsolve齐次线性方程组的求解solve代数方程的求解符号线性代数charploy特征多项式determ矩阵行列式的值eigensys特征值和特征向量inverse矩阵逆jordan约当标准形linsolve齐次线性方程组的解transpose矩阵的转置一、方程求解求解
3、单个代数方程MATLAB具有求解符号表达式的工具,如果表达式不是一个方程式(不含等号),则在求解之前函数solve将表达式置成等于0。>>solve('a*x^2+b*x+c')%solvefortherootsoftheequtionans=[1/2/a*(-b+(b^2-4*a*c)^1/2)][1/2/a*(-b-(b^2-4*a*c)^1/2)]结果是符号向量,其元素是方程的2个解。如果想对非缺省x变量求解,solve必须指定变量。>>solve('a*x^2+b*x+c','b')%solveforbans=-(a*x^2+c)/x带有等号的符号方程也可以求解。>>f=
4、solve('cos(x)=sin(x)')%solveforxf=1/4*pi21>>t=solve('tan(2*x)=sin(x)')t=[0][acos(1/2+1/2*3^(1/2))][acos(1/2=1/2*3^(1/2))]并得到数值解。>>numeric(f)ans=0.7854>>numeric(t)ans=00+0.8314i1.9455注意在求解周期函数方程时,有无穷多的解。在这种情况下,solve对解的搜索范围限制在接近于零的有限范围,并返回非唯一的解的子集。如果不能求得符号解,就计算可变精度解。>>x=solve('exp(x)=tan(x)')x=
5、1.306326940423079代数方程组求解可以同时求解若干代数方程,语句solve(s1,s2,.....,sn)对缺省变量求解n个方程,语句solve(s1,s2,...,sn,'v1,v2,...,vn')对n个'v1,v2,...vn'的未知数求解n个方程。solve(f)解符号方程式f。solve(f1,…,fn)解由f1,…,fn组成的联立方程式。我们先定义以下的方程式:>>eq1='x-3=4';%注意也可写成'eq1=x-7'>>eq2='x*2-x-6=0';%注意也可写成'eq2=x*2-x-6'>>eq3='x2+2*x+4=0';21>>eq4='3*
6、x+2*y-z=10';>>eq5='-x+3*y+2*z=5';>>eq6='x-y-z=-1';>>solve(eq1)ans=7>>solve(eq2)ans=[[3],[-2]]'%原方程式有二个根3,-2>>solve(eq3)ans=[[-1+i*3^(1/2)],[-1-i*3^(1/2)]]'%注意实根和虚根的表示式>>solve(eq4,eq5,eq6)%解三个联立方程式ans=x=-2,y=5,z=-6如何处理中小学典型的代数问题?黛安娜(Diane)想去看电影,她从小猪存钱罐倒出硬币并清点,她发现:10美分的硬币数加上5美分的硬币总数的一半等于25美分的硬币
7、数。1美分的硬币数比5美分、10美分以及25美分的硬币总数多10。25美分和10美分的硬币总数等于1美分的硬币数加上1/4的5美分的硬币数25美分的硬币数和1美分的硬币数比5美分的硬币数加上8倍的10美分的硬币数多1。如果电影票价为3.00美元,爆米花为1.00美元,糖棒为50美分,她有足够的钱去买这三样东西?首先,根据以上给出的信息列出一组线性方程,假如p,n,d和q分别表示1美分,5美分,10美分,和25美分的硬币数21然后,建立MATLAB符号方程并对变量求解。>>eq1=
此文档下载收益归作者所有