资源描述:
《matlab_张晓玲课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB程序设计MATLAB程序设计主讲:张晓玲胜利学院信息与计算科学系课程介绍:教学目的:了解MATLAB,能够熟练掌握数学(矩阵)运算、简单编程、简单的数据处理及基本图形绘制。刘卫国主编.MATLAB程序设计与应用(第二版).高等教育出版社教材:特点:完全不必具备其它语言的基础课程安排:学时:48学时安排:机房授课,随讲随练考核要求:不得缺勤,上机作业必须齐备考核方式:上机考试成绩计算方法:总评成绩=考试成绩(70%)+平时成绩(30%)第一章Matlab概述一、为什么要学习Matlab?二、Matlab是什么?三、如何
2、使用Matlab?四、怎样学习Matlab?一、为什么要学习Matlab?——有用Matlab能干什么?科学计算、算法开发、数据采集建模、仿真、控制数据分析、处理和可视化Matlab能应用于哪些领域?科学和工程领域图形应用程序的开发可以说,无论从事工程方面的哪个学科,都能在Matlab中找到合适的功能。加速创新和算法开发站在巨人肩上的语言Matlab内建了600多个数学、统计和工程计算函数,使用它们进行问题的分析与解答,可使用户从繁杂的编程中解放出来,加速算法开发。Example:解线性方程组x1+2x2=82x1+3x2=13
3、1)使用VBFunctionGauss_Jordan(a()AsDouble,xx()AsDouble,NAsInteger,GroupAsInteger)AsInteger'*************************************************************'用途:用Gauss_Jordan消去法解方程组集'参数:a()AsDouble——方程组的系数矩阵'xx()AsDouble——方程组集中各方程组的右端项组成的矩阵'nAsInteger——方程组的阶数'GroupAsInteger—
4、—方程组集中包含方程组的个数'返回值:0——解方程组集成功时返回'1——解方程组集未成功时返回'**************************************************************Step1:编写一个解线性方程组的函数OnErrorGoToGauss_JordanErrorDimiAsInteger,jAsInteger,KAsInteger,i0AsIntegerDimpelementAsDoubleForK=1ToNpelement=Abs(a(K,K))i0=KFori=K+1ToN
5、IfAbs(a(i,K))>pelementThenpelement=Abs(a(i,K))i0=iEndIfNext接上页:Ifi0<>KThenForj=KToNpelement=a(K,j)a(K,j)=a(i0,j)a(i0,j)=pelementNextForj=1ToGrouppelement=xx(K,j)xx(K,j)=xx(i0,j)xx(i0,j)=pelementNextEndIfIfAbs(a(K,K))6、"BasedFunctions","Gauss_Jordan",AppError.AppErrBookMark1,"主元为零"ExitFunctionEndIfForj=K+1ToNa(K,j)=a(K,j)/a(K,K)NextForj=1ToGroupxx(K,j)=xx(K,j)/a(K,K)Nexta(K,K)=1#接上页:Fori=1ToNIfi<>KThenForj=1ToGroupxx(i,j)=xx(i,j)-a(i,K)*xx(K,j)NextForj=K+1ToNa(i,j)=a(i,j)-a(i,K)*a(
7、K,j)Nexta(i,K)=0#EndIfNextNextGauss_Jordan=0接上页:ExitFunctionGauss_JordanError:Gauss_Jordan=1AppError.SaveAppError"BasedFunctions","Gauss_Jordan",AppError.AppErrBookMark0EndFunction接上页:Step2:调用上述解线性方程组的函数求解dimA(1to2,1to2)asdouble,B(1to2)asdoubleA(1,1)=1,A(1,2)=2,A(2,1
8、)=2,A(2,3)=3B(1)=8,B(2)=13Gauss_Jordan(A,B,1,2)2)使用C#includemain(){inti,j;for(i=-32768;i<=32767;i++)for(j=-32768;j<=3276