数学建模软件求解入门

上传人:宝路 文档编号:47980029 上传时间:2018-07-07 格式:PPT 页数:83 大小:2.63MB
返回 下载 相关 举报
数学建模软件求解入门_第1页
第1页 / 共83页
数学建模软件求解入门_第2页
第2页 / 共83页
数学建模软件求解入门_第3页
第3页 / 共83页
数学建模软件求解入门_第4页
第4页 / 共83页
数学建模软件求解入门_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《数学建模软件求解入门》由会员分享,可在线阅读,更多相关《数学建模软件求解入门(83页珍藏版)》请在金锄头文库上搜索。

1、Matlab与数学建模Matlab简介n1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和 1999年春的5.3版。与 4.x相比,现今的MATLAB拥有更丰富的数 据类型和结构、更友善的面向对象、更加快速精良的图形可视、 更广博的数学和数据分析资源、更多的应用开发工具。n 发展至今,Matlab7.0版已经问世Matlab简介Matlab简介nMatlab软件主要由三部分组成:Matlab主包, Simulink和工具箱Matlab软件的组成第1章 矩阵及其基本运算n1实数值矩阵输入nMATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或

2、 矩阵。n不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(, )或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括 号( )内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重 的方括号。如:1) Time = 11 12 1 2 3 4 5 6 7 8 9 10 Time = 11 12 1 2 3 4 5 6 7 8 9 102) A = 1 2 3;2 3 4;3 4 5 A = 1 2 3 2 3 4 3 4 53) Null_M = %生成一个空矩阵4) A=A;1 2 3,1; 2; 3; 4特殊矩

3、阵的生成命令 全零阵 函数 zeros 格式 B = zeros(n) %生成nn全零阵 B = zeros(m,n) %生成mn全零阵 B = zeros(m n) %生成mn全零阵 B = zeros(size(A) %生成与矩阵A相同大小的全零阵命令 单位阵 函数 eye 格式 Y = eye(n) %生成nn单位阵 Y = eye(m,n) %生成mn单位阵 Y = eye(size(A) %生成与矩阵A相同大小的单位阵命令 均匀分布随机矩阵函数 rand 格式 Y = rand(n) %生成nn随机矩阵,其元素在(0,1)内 Y = rand(m,n) %生成mn随机矩阵命令 全1阵

4、 函数 ones 格式 Y = ones(n) %生成nn全1阵 Y = ones(m,n) %生成mn全1阵 Y = ones(m n) %生成mn全1阵 Y = ones(size(A) %生成与矩阵A相同大小的全1阵思考:如何产生20至50间的随机数?向量生成方法2. 定数线性采样法该采样法在给定的范围内确定等距离的一个样本数。该方法很实用,特别适合 定义大的数组例如:在 之间取5个点linspace(-pi,pi,5)3.利用随机数发生器定义一维数组例如:产生5个(0,1)均匀分布随机数,并定义一维数组x。x=rand(1,5)Matlab常用命令Matlab常用命令n若要检视现存於工

5、作空间(Workspace)的变数,可键入who: nwho nYour variables are: ntestfile x n这些是由使用者定义的变数。若要知道这些变数的详细资料,可键入: nwhos nName Size Bytes Class nA 2x4 64 double array nB 4x2 64 double array nans 1x1 8 double array nx 1x1 8 double array ny 1x1 8 double array nz 1x1 8 double array nGrand total is 20 elements using 160

6、bytes n使用clear可以删除工作空间的变数: nclear A nA n? Undefined function or variable A. Matlab常用命令应用n 变量与常量n变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外。与常规 的程序设计语言不同的MATLAB并不要求事先对所使用的变量进行声明,也不需 要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量所进行的操 作来识别变量的类型。在赋值过程中如果赋值变量已存在时,MATLAB语言将使 用新值代替旧值,并以新值类型代替旧值类型。n在MATLAB语言中变量的命名应遵循如下规则:n(1)变量名

7、区分大小写。n(2)变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。n(3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。n与其他的程序设计语言相同,在MATLAB语言中也存在变量作用域的问题。在未 加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在 其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明, 即在该变量前加关键字global。一般来说全局变量均用大写的英文字符表示。nMATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量。n另外MATLAB有些永久常数(Permanent constan

8、ts),虽然在工作空间中看不 到,但使用者可直接取用,例如: npi nans = n3.1416 n= n下表即为MATLAB常用到的永久常数。 n 小整理:MATLAB的永久常数 n i或j:基本虚数单位(即) n eps:系统的浮点(Floating-point)精确度 n inf:无限大, 例如1/0 n nan或NaN:非数值(Not a number),例如0/0 n pi:圆周率 p(= 3.1415926.) n realmax:系统所能表示的最大数值 n realmin:系统所能表示的最小数值 n nargin: 函数的输入引数个数 n nargout: 函数的输出引数个数

9、特别注意实现Matlab与word的无缝连接步骤:1)在命令窗口输入notebook-setup2)选择word版本3)在命令窗口输入notebook4)word中输入文字以及Matlab语句,全部选中,选中下拉菜单, 点选define input cell,再选择evaluate cell作出泊松分布的密度图 形 x=0:20; y=poisspdf(x,5); stem(x,y) 将硬盘的数据读入变量现在有一组数据保存在three.xls文件中,要在Matlab中读入 这组数据a=xlsread(e:three.xls)如果保存在文件soil.txt中只要输入 a=load(e:soil.

10、txt)矩阵的简单运算结果显示: A+B= 9 2 7 4 7 10 5 12 8 AB= -7 0 -5 -2 -3 -4 -3 -6 4运算符:“”和“”分别为加、减运算符。 运算规则:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。加、减运算例 A=1, 1, 1; 1, 2, 3; 1, 3, 6 B=8, 1, 6; 3, 5, 7; 4, 9, 2 AB=A+B A-=A-B运算符:* 运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分 别与放在后面的矩阵的各列元素对应相乘并相加。 1两个矩阵相乘乘法例 X= 2 3 4 5;1 2 2 1; Y=

11、0 1 1;1 1 0;0 0 1;1 0 0; Z=X*Y结果显示为: Z=8 5 63 3 3 上例中:a=2*X 则显示:a = 4 6 8 10 2 4 4 2矩阵的数乘:数乘矩阵维数相同的两个向量的点乘。 数组乘法: A.*B表示A与B对应元素相乘。向量的点乘(内积)需要注意的是点乘与矩阵的乘法是有区别的例:a=1 2 3; 4 2 6; 7 4 9 b=4; 1; 2; x=ab 则显示:x= -1.50002.0000 0.5000 如果a为非奇异矩阵,则ab和b/a可通过a的逆矩阵与b阵得到:ab = inv(a)*bb/a = b*inv(a) 数组除法: A./B表示A中元

12、素与B中元素对应相除。 矩阵除法Matlab提供了两种除法运算:左除()和右除(/)。一般情况下,x=ab 是方程a*x =b的解,而x=b/a是方程x*a=b的解。同样此时也要注意除法和点除之间的区别运算符: 运算规则: (1)当A为方阵,P为大于0的整数时,AP表示A的P次方,即A自 乘P次;P为小于0的整数时,AP表示A-1的P次方。 (4)标量的数组乘方P.A,标量的数组乘方定义为数组乘方:A.P :表示A的每个元素的P次乘方。 矩阵乘方矩阵的乘方要求矩阵A是方阵例 A=1 2 3;4 5 6;7 8 9 A =1 2 34 5 67 8 9 D=det(A) D =0运算符: 运算规

13、则:若矩阵A的元素为实数,则与线性代数中矩阵的转置相同。 若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。 若仅希望转置,则用如下命令:A.。矩阵转置方阵的行列式函数 det 格式 d = det(X) %返回方阵X的行列式的值函数 inv 格式 Y=inv(X) %求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息 。 例1-43 求的逆矩阵 方法一 A=1 2 3; 2 2 1; 3 4 3; Y=inv(A)或Y=A(-1) 则结果显示为Y =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.000

14、0 方法二:由增广矩阵进行初等行变换 B=1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1; C=rref(B) %化行最简形 X=C(:, 4:6) %取矩阵C中的A(-1)部分矩阵求逆命令 逆子矩阵的提取和运算使用命令:BA(v1, v2),其中, v1向量表示子矩阵要包含的行号 构成的向量, v2表示要包含的列号构成的向量。若v1为:,则表示要 提取所有的行,同样使用列号。关键词end表示最后一行(或列)例如:B1A(1:2:end,:)表示提取A矩阵的全部奇数行、所有列B2=A(3,2,1,2,3,4)表示提取A矩阵3,2,1行、2,3,4列构成子矩阵。B3=A(:,end:-1:1)表示将A矩阵左右翻转,即最后一列排在最前面。A(:, 2) = % 删除第二列(:代表所有行) 例 A = 1 2 3 4 5 6 7 8 9 10 11 12 我们可以对矩阵进行各种处理:A(2,3) = 5 % 改变位於第二列,第三行的元素值 A = 1 2 3 4 5 6 5 8 9 10 11 12 B = A(2,1:3) % 取出部份矩阵B B = 5 6 5 A = A B % 将B转置後以行向量并入A A = 1 2 3 4 5 5 6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号