预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

讲课程数学软件与数学模型的公共邮箱,是张元隆同学申请的,这里表示谢谢! 网址:HYPERLINK"http://www.126.com"http://www.126.com 即可登录126网易邮箱 用户名:HYPERLINK"mailto:MatLab01@126.com"MatLab01@126.com 密码:111111 讲如何在计算机上装MATLAB软件 讲上次例3: 例3:求方程x-1=0的根,并画出根的图形。 解:先求方程x-1=0的根, 因为 信息表格, x=roots([1,0,0,0,0,0,-1])%求方程x-1=0的根 x= -1.0000 -0.5000+0.8660i -0.5000-0.8660i 0.5000+0.8660i 0.5000-0.8660i 1.0000 我们知道方程x-1=0的六个根分布在单位圆上, 其表示一个单位圆, 因为 先画一个单位圆 t=0:.01:2*pi;%在[0,2pi]上取离散值,采样间隔为0.01 plot(exp(i*t))%画单位圆 axissquare 最后把方程x-1=0的六个根叠加在单位圆上。 holdon plot(real(x),imag(x),'o') title('方程x-1=0的六个根') 幻方问题: 在公元前2200年的大禹治水时代,就已观察到神龟背上的3阶幻方。 数学游戏幻方问题:给定自然数1,2,...,将其排成n阶方阵,要求每行、每列和每条对角线上个数字之和都相等。这样的n阶方阵称为n阶幻方。每一行(或列、或对角线)之和称为幻和。例下面的表格是一个3阶幻方,其幻和等于15。 只要键入magic(3)就可得到. 人们不禁要问: 存在性问题:即n阶幻方是否存在?(例如2阶幻方就不存在) 计数问题:如果存在,对某个确定的n,这样的幻方有多少种? 构造问题:即枚举问题,亦即如何构造n阶幻方? 组合数学就是研究上述提出的问题的。 矩阵的除法与线性方程组的解: 在线性代数中,没有除法,只有逆矩阵。矩阵除法是MATLAB从逆矩阵的概念引伸来的。先介绍逆矩阵的定义,对于任意阶方阵A,如果能找到一个同阶的方阵V,使 AV=I,其中I为n阶的单位矩阵eye(n),则V就是A的逆阵。数学符号表示为 逆阵V存在的条件是A的行列式det(A)不等于0,V的最古典的求法为高斯消去法,可参阅线性代数书。MATLAB已把它做成了内部函数inv,键入 V=inv(A) 就可得到A的逆矩阵。如果det(A)等于或很接近于零,MATIAB会显示出出错或警告信息: “A矩阵病态(ill-conditioned),结果精度不可靠”。 现在来看线性方程组A*X=B,设X为未知矩阵,A为系数矩阵,在等式两端同时左乘inv(A),即 inv(A)*A*X=inv(A)*B 等式左端inv(A)*A=I,I*X=X,因此上式成为 X=inv(A)*B=A\B 把A的逆阵左乘B,MATLAB就记作A\B,称之为“左除”。从A*X=B的阶数检验可知,B与A的行数相等,因此左除时的阶数检验条件是:两矩阵的行数必须相等。 如果原始方程的未知矩阵在左而系数矩阵在右,即 X*A=B 则按上述同样的方法可以写出 X=B*inv(A)=B/A 把A的逆阵右乘B,记作B/A,称之为“右除”。同理,右除时的阶数检验条件是:两矩阵的列数必须相等。这些结果可推广到A为非方阵。 例4:讨论Hilbert矩阵: H(i,j)=,i=1,2,…,m;j=1,2,…,n。Hilbert方阵有特点:行列式小,条件数大(即坏条件问题),且阶数越大,越接近于奇异阵,试用它组成线性方程组,探讨方程组误差与奇异性的关系。 取:Hn*x=bn(即模型),其中:Hn为n阶Hilbert方阵,x=[1,1,…,1]' (1)求Hn的行列式和条件数 (2)求bn (3)由方程组:Hn*x1=bn求出x1且与x相比较,求出最大绝对误差。 (注:用长格式显示,且取n:420)。 解: formatlong forn=4:20 hn=hilb(n); d=det(hn) c=cond(hn) xx=ones(n,1); bn=hn*xx; x=hn\bn e=max(abs(xx-x)) pause(5) end 例5:已知数据y为时间t的衰减指数曲线: y(t)=c1+c2e(即模型集), 由样本: t=[0,0.3,0.8,1.1,1.6,2.3]', y=[0.82,0.72,0.63,0.6,0.55,0.5]'(即数据),求出参数(即模型参数)c=[c1,c2]’的估计值(或拟合值)。 解:先用矩阵表示问题: 在命令窗口键入 t=[0.3.81.11.62.3]'; y=[.8