duoyuanxianxin.doc

上传人:m**** 文档编号:558051014 上传时间:2023-06-21 格式:DOC 页数:21 大小:400.01KB
返回 下载 相关 举报
duoyuanxianxin.doc_第1页
第1页 / 共21页
duoyuanxianxin.doc_第2页
第2页 / 共21页
duoyuanxianxin.doc_第3页
第3页 / 共21页
duoyuanxianxin.doc_第4页
第4页 / 共21页
duoyuanxianxin.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《duoyuanxianxin.doc》由会员分享,可在线阅读,更多相关《duoyuanxianxin.doc(21页珍藏版)》请在金锄头文库上搜索。

1、 数学软件介绍 第 18 页 第三节 Matlab基础3.1 矩阵的生成1)直接输入 2)函数生成 3)文本文件l 简单数组 MATLAB的运算事实上是以数组 (array) 及矩阵 (matrix) 方式在做运算,而这二者在MATLAB的基本运算性质不同,数组强调元素对元素的运算,而矩阵则采用线性代数的运算方式。宣告一变数为数组或是矩阵时,如果是要个别键入元素,须用中括号 将元素置于其中。数组为一维元素所构成,而矩阵为多维元素所组成,例如 x=1 2 3 4 5 6 7 8 ; %一维 1x8 数组 x = 1 2 3 4 5 6 7 8; 4 5 6 7 8 9 10 11 ; % 二维

2、2x8 矩阵,以“;”或回车分隔各行的元素,以“,”或空格分隔各列的元素 x = 1 2 3 4 5 6 7 8 % 二维 2x8 矩阵,各列的元素分二行键入 4 5 6 7 8 9 10 11 ; x(3) % x的第三个元素 x(1 2 5) % x的第一、二、五个元素 x(1:5) % x的第前五个元素 ans = 1 4 2 5 3 x(10:end) % x的第十个元素后的元素 ans = 8 6 9 7 10 8 11 x(10:-1:2) % x的第十个元素和第二个元素的倒排 ans = 8 5 7 4 6 3 5 2 4 x(find(x5) % x中大于5的元素 x(4)=1

3、00 %给x的第四个元素重新给值 x(3)= % 删除第三个元素 x(16)=1 % 加入第十六个元素l 建立数组(向量) 上面的方法只适用于元素不多的情况,但是当元素很多的时候,则须采用以下的方式: x=(0:0.02:1); % 以:起始值=0、增量值=0.02、终止值=1的矩阵(用“:”生成) x=linspace(0,1,100); % 利用linspace,以区隔起始值=0终止值=1之间的元素数目=100(线性等分向量) a= %空矩阵 zeros(2,2) %全为0的矩阵 ones(3,3) %全为1的矩阵 rand(2,4); % 随机矩阵 a=1:7, b=1:0.2:5; %

4、更直接的方式 c=b a; %可利用先前建立的数组 a 及数组 b ,组成新数组 a=1:1:10; b=0.1:0.1:1; a+b*I %复数数组l 子矩阵 通过一个矩阵产生另一个矩阵的方法(上面已经有例子) 假如一个矩阵A则 A(m1:m2 ,n1:n2)3.2 矩阵的运算l 经典的算术运算符。 运算符 MATLAB表达式加+a+b减-a-b乘*a*b除/ 或 a/b或ab幂ab a=1:1:10; b=0:10:90; a+b a.*b %注意这里a后加了个“.”,表示数组相乘, 是元素对元素的乘积 a*b %表示矩阵相乘, 要求矩阵a的列数与矩阵b的行数一致 a/b %矩阵右除 in

5、v(a)*b ab %矩阵左除 a*inv(b) a./b %数组右除,数组中对应元素相除, a(i,j)/b(i,j) a.b %数组左除,数组中对应元素相除 b(i,j)/a(i,j) ab %矩阵乘方,涉及到特征值和特征向量的求解。 a.b %数组乘方,a和b中对应元素的乘方,即a(i,j)的b(i,j)次方。说明:在这里特别要注意一下有没有加点“.”之间的区别,这些算术运算符所运算的两个阵列是否需要长度一致。l 矩阵转置运算 通过在矩阵变量后加 的方法来表示转置运算 a=1:1:10; b=0:10:90; a c=a+b*i; c3.3 矩阵函数l MATLAB常用数学函数 基本数学

6、函数一般都可以作为矩阵函数。如三角函数、指数对数函数等。 a=1:1:10; b=0:10:90; sin(a) exp(b) sign(a) mean(b)l 求矩阵的长度的函数 A=10, 2, 12; 34, 2, 4; 98, 34, 6; size(A) %矩阵A的行列大小 3*3 length(A) % 返回size(A) 中的最大值l 矩阵的几种基本变换操作1) 通过在矩阵变量后加的方法来表示转置运算 A=10,2,12;34,2,4;98,34,6; A2) 矩阵求逆 inv(A): 返回矩阵a的逆阵。 A=1 2 3; 4 5 6; 7 8 9; inv(A)3) 矩阵求伪逆

7、pinv(A): A=1 2 3; 4 5 6; 7 8 0; 2 5 8; %3个未知量的4个方程 pinv(A)4) 矩阵翻转: 左右反转:矩阵关于垂直轴沿左右方向进行列维翻转 fliplr(A) A=1 4; 2 5; 3 6; fliplr(A) 上下反转:矩阵关于水平轴沿上下左右方向进行列维翻转 flipud(A) A=1 4; 2 5; 3 6; flipud(A)5) 旋转90度 rot90(A) 例: A=1 4; 2 5; 3 6; rot90(A)6) 矩阵的特征值 U,V=eig(A): 返回方阵A所有特征值组成的矩阵U和特征向量组成的矩阵V 例: A=6 12 19;

8、-9 20 33; 4 9 15; U,V=eig(A)7) 取出上三角和下三角 triu(A) : 取上三角阵 tril(A) :取下三角阵 L,U=lu(A):作LU分解(Gauss消去法),L为主对角线元素都为1的上三角矩阵,U为一个下三角矩阵例: A=1 5 2; 3 4 6; 5 3 2; triu(A) tril(A) L,U=lu(A)8) 正交分解:QR分解,Q为正交矩阵,R为上三角矩阵 Q,R=qr(A)例: A=1 2; 5 7; 7 3; 9 1; Q,R=qr(A)9) 奇异值分解: U,S,V=svd(A),矩阵U和V是正交矩阵,S为A的奇异值矩阵。 例: A=9 4

9、; 6 8; 2 7; U,S,V=svd(A)10) 求矩阵的范数 norm(A,1) 计算矩阵A的1范数 norm(A,2) 计算矩阵A的2范数 norm(A,inf) 计算矩阵A的无穷范数例: A=rand(3); norm(A,1) norm(A,2) norm(A,inf)11) 求矩阵的行列式的值 det(A)例: A=1 2 3; 4 5 6; 7 8 9 det(A)3.4 基本二维绘图命令 MATLAB不但擅长于矩阵相关的数值运算,也适合用在各种科学可视化(Scientific visualization)。下面介绍MATLAB基本二维和三维的各项绘图命令,包含一维曲线及二维

10、曲面的绘制、打印及保存。 l plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y坐标。下例可画出一条正弦曲线: x=linspace(0, 2*pi, 100); % 100个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); l 若要画出多条曲线,只需将坐标对依次放入plot函数即可: plot(x, sin(x), x, cos(x); l 若要改变颜色,在坐标对后面加上相关字符串即可: plot(x, sin(x), c, x, cos(x), g); l 若要同时改变颜色及线型(Line style),也是在坐标对后面加上相关字符

11、串即可: plot(x, sin(x), co, x, cos(x), g*); plot绘图函数的参数字符颜色字符图线型态黄色.点k黑色o圆w白色xxb蓝色+g绿色*r红色-实线c亮青色:点线m锰紫色-.点虚线-虚线l 图形完成后,我们可用axis(xmin,xmax,ymin,ymax)函数来调整坐标轴的范围: axis(0, 6, -1.2, 1.2); l MATLAB也可对图形加上各种注解与处理: xlabel(Input Value); % x轴注解 ylabel(Function Value); % y轴注解 title(Two Trigonometric Functions); % 图形标题 legend(y = sin(x),y =

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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