首页 应用MATLAB求线性方程组的Cramer法则

应用MATLAB求线性方程组的Cramer法则

举报
开通vip

应用MATLAB求线性方程组的Cramer法则应用MATLAB求线性方程组的Cramer法则 应用MATLAB求线性方程组的,ramer法则方法探讨 [1][2]周 均 韩乐文 ([1] 涪陵师范学院数学系 重庆 涪陵408003 [2]重庆交通学院大坪校区基础部 重庆 渝中区400042) 摘要:本文分析了几种用MATLAB求解线性方程组的Cramer法则的方法,并指出这些方法的改进过程及其教学价值。 关键词:MATLAB;线性方程组;Cramer法则;方法 0. 引言 [1]从有关文献知道MATLAB主要就是解决矩阵的计算问题,并知由此推广应...

应用MATLAB求线性方程组的Cramer法则
应用MATLAB求线性方程组的Cramer法则 应用MATLAB求线性方程组的,ramer法则方法探讨 [1][2]周 均 韩乐文 ([1] 涪陵师范学院数学系 重庆 涪陵408003 [2]重庆交通学院大坪校区基础部 重庆 渝中区400042) 摘要:本文分析了几种用MATLAB求解线性方程组的Cramer法则的方法,并指出这些方法的改进过程及其教学价值。 关键词:MATLAB;线性方程组;Cramer法则;方法 0. 引言 [1]从有关文献知道MATLAB主要就是解决矩阵的计算问题,并知由此推广应用到求解线性代数的许[2]多问题,本文将着重讨论应用它求解线性方程组的Cramer法则的几种形式,并由此获得启示,从而提高MATLAB的应用技巧。 1(应用形式之一——直接法 [2]直接法就是直接应用其功能求线性方程组,这与线性代数的Cramer法则一样,求解方程组 [3]3x,x,5x,3,123,x,x,2x,1具体步骤如下: ,123 ,x,2x,x,2123, >>A=[3 -1 5;1 -1 2 ;1 -2 -1] ; %输入矩阵的数据 >>B=[3 1 2]'; %输入线性方程组的常数项 >>A1=A; >>A1(:,1)=B; %用常数项替代系数矩阵第一列 >>x1=det(A1)/det(A) %应用Cramer法则求第一个未知量 >>A2=A; >>A2(:,2)=B; %用常数项替代系数矩阵第二列 >>x2=det(A2)/det(A) %应用Cramer法则求第二个未知量 >>A3=A; >>A3(:,3)=B; %用常数项替代系数矩阵第三列 >>x3=det(A3)/det(A) %应用Cramer法则求第三个未知量 输出结果就是三个未知量 x1 = 10/7 x2 =-1/7 x3 =-2/7 这个方法实质就是完全按照线性代数中的法则按部就班完成Cramer法则,此法有这样的优点,方法直观简单,可操作性强,可直接在MATLAB工作窗口中一步一步完成,也可以将以上各步全部编成M文件完成。 2(应用形式之二——循环语句M文件法 从1的第三步求Ai开始,求x(i=1,2,3),显然是一种重复使用了一种操作,即满足使用循环语句的i 条件。如果使用循环语句同样可以得到方程的解,具体步骤如下: A=[3 -1 5;1 -1 2;1 -2 -1]; %输入矩阵的数据 B=[3 1 2]'; %输入线性方程组的常数项 S=[0,0,0]; %输入一个解的初值 for i=1:3 %计算Ai和解向量的分量S(i) C=A; C(:,i)=B; S(i)=det(C)/det(A); end format rat S' %输出解向量 将以上语句保存为名字为cramer2的M文件后,在MATLAB的M文件编辑器、编译器窗口中选择Debug菜单,再选择Save and Run项(或直接按F5)即可实现对该M文件的编译运行;运行结果为: 1 ans = 10/7 -1/7 -2/7 从上面的过程可发现用这种方法求解线性方程组时语句精练了,同1方法一样直观方便,可操作性强,如果要改变系数矩阵A和常数项B只消修改前4个语句中的矩阵元素和矩阵阶数(方程组未知数的个数)就可以实现此方法的移植性;也正是这一点也是该方法的缺点,每求解一个新方程组就要重新修改M文件后。重新编译运行,使用起来还是不很方便,如果将此M文件改为M函数移植性就更好了,这正是笔者将在3中讨论的。 3(应用形式之三——M函数法 function S=cramer(A,B,S,N) for i=1:N C=A; C(:,i)=B; S(i)=det(C)/det(A); end format rat S'; [4]2x,x,3x,2x,6,1234,3x,3x,3x,2x,5,1234函数编译后,例求解线性方程组操作步骤如下: ,3x,x,x,2x,31234, ,3x,x,3x,x,4,1234 >>A=[2 -1 3 2;3 -3 3 2 ;3 -1 -1 2;3 -1 3 -1] ; %输入矩阵的数据 >>B=[6 5 3 4]'; %输入线性方程组的常数项 >>S=[0,0,0,0]; >> N=4; >> cramer(A,B,S,N) 运行结果为: ans = 1 1 1 1 显然,这种方法的可移植性就更好了,它不仅对多个未知量适用,而且对不同的系数矩阵也适用。在求解其它方程组时不必重新编译M函数,只要直接输入A,B,S,N及cramer(A,B,S,N)即可。 不过这里还得补充说明一下,这个M函数在使用过程还有些不尽人意的地方,如果我们对M函数进行适当的修改,如函数的参数设置可否只要A,B,不要S,N。事实上,N是所求知量的个数(或解向量维数)可否通过MATLAB内部函数length(B)[5]调用赋值。而S在函数执行过程中通过S(i)赋值不需要初始化S=[0,0,0,0]。改进后的cramer函数如下: function S=cramer(A,B) for i=1:length(B) C=A; C(:,i)=B; S(i)=det(C)/det(A); end format rat S'; 这时在求解新的线性方程组时只消输入矩阵A,B即可.例如求解线性方程组: [2]2x,x,5x,x,8,1234,x,3x,6x,9,124 ,2x,8x,3x,,5234, ,x,4x,7x,6x,0,1234 具体过程如下: >> A=[2 1 –5 1;1 –3 0 –6;0 2 8 3 ;1 4 –7 6];B=[8 9 –5 0]’; 2 Cramer(A,B) 结果为: ans = 75/19 -14/19 -5/19 -9/19 4(结束语 从上面探索求解方程组的Cramer法则的过程,可以看出应用MATLAB求解线性方程组的方法是在逐渐改进的,这一改进过程不仅是方法本身越来越简单,更重要的是在这一教学过程中,通过巧设问题,创造问题情境,启发学生独立思考,从而培养学生的程序设计能力,比单纯进行高级语言程序设计教学培养学生程序设计的能力更深动、更形象、更实用,达到的教学效果会更好。 参考文献: [1]苏金明等.MATLAB6.1应用指南[M]北京:电子工业出版社,2002.1。 [2]北京大学数学力学组.高等代数[M]北京:高等教育出版社,1982. [3]电子科技大学应用数学系.数学实验简明教程[M]成都:电子科技大学出版社, [4]杨子胥等.高等代数习题集[M]济南:山东科学技术出版社,1984.329 [5]萧树铁等.数学实验[M]北京:高等教育出版社,1999.7 9 Probing In the Methods of Cramer Principle of Linear Equations’ Solution By Using MATLAB ZHOU jun (Mathematical Department In Fuling teachers college Fuling Chongqing 408003) Abstract: The article analyses several methods of linear equations’ solution by using MATLAB software. Meanwhile it put forward their development process and their education value. Keywords: MATLAB; linear equations; Cramer principle; methods 第一作者简介:周 均,数学高级讲师;生于1968年7月,祖籍重庆市涪陵区。1989年毕业于四川师范大学数学系,取得理学学士学位,1993年12月参加四川外国语学院英语专科自考专科毕业,2001年毕业于西南农业大学基础科学院计算机应用专业,取得工学学士学位。曾在涪陵工业学校任教,现工作于涪陵师范学院数学系,数学高级讲师,从事《高等数学》、《计算方法》、《中学数学教材教法》、《计算机导论》、《C语言程序设计》《数学建模与数学实验》等多门课程大学本、专科 nalim n,,n!教学工作,研究方向为计算机应用与数学教学。曾撰写发表过《从极限求解谈起》(重庆教育学院学报(自然科学版)2002(6);《开放式教学在高职数学教学中的应用》职业技术教育2003(7)、《Cauchy分布及其作为反例在概率中的应用讨论》(吉林职业师范学院学报2003(9)、《新股申购中的几个概率问题探讨》重庆教育学院学报2003(3),《应用Excel进行数学实验的探索》(实验科学与技术2003(1)),参编过由重庆大学出版社出版发行的《中专数学教程》第一册、《高职数学》中册。 联系电话:(023)72243036(家) E-mail :lmzjzgoi@sohu.com 通信地址:重庆市涪陵区涪陵师范学院数学系 邮政编码:408003 第二作者简介:韩乐文,数学副教授;生于1965年5月,工作于重庆交通学院大坪校区基础部,从事高职数学教学改革与研究。邮政编码:400042 3
本文档为【应用MATLAB求线性方程组的Cramer法则】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_624976
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-01
浏览量:63