MATLAB - 电磁场实验指导书(2)

2019-08-29 22:54

可键入b=a([2,4],[1,3])得 b =

4.0000 6.0000

0 6.5000

? 要抽除a中的第2、4、5行,可利用空矩阵[](指没有元素的矩阵,对任何

一个矩阵赋值[],就是使它的元素都消失,注意它与“零矩阵”不同)。 键入 a([2,4,5],:)=[]得 a =

1 2 3 7 8 9

对于“变量=表达式(或数)”的赋值形式,如果不要等式左端而只剩下右端,

则MATLAB会自动给出一个临时变量ans,把右端的结果暂存于ans中。例如键入a/7得 ans =

0.1429 0.2857 0.4286

1.0000 1.1429 1.2857 3、复数矩阵、运算及其赋值

(1)MATLAB的每一个元素都可以是复数,复数的虚数部分用i或j表示,这是在MATLAB启动时就在内部设定的。MATLAB中所有的运算符和函数都对复数有效。

例如:键入c=3+5.2i或c=3+5.2j得 c =

3.0000 + 5.2000i

(2)复数矩阵有两种赋值方法。 ? 对复数矩阵的元素逐个赋值。

如键入z=[1+2i,3+4i;5+6i,7+8i]得 z =

1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i

? 对其实部矩阵和虚部矩阵分别赋值。

如键入z=[1,3;5,7]+[2,4;6,8]*i得 z =

1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i 注意:

①只有数字与i的乘积可以省略乘号,在上述矩阵式中若省略乘号*,就会出错。

②如果在前面程序中曾给i或j赋过其他值,则i或j已不是虚数符号,那么

这些虚数赋值语句就不对了。此时应键入clear i, j,即把原赋的i,j清掉,然后再执行复数赋值语句。

(3)复数矩阵的转置、共轭运算

? 函数conj对矩阵的每个元素求共轭,即把各元素的虚部反号。

? 运算符 ' 对矩阵作共轭和转置,即把其行列互换,同时把各元素的虚部反号。 ? 因此,如果只求转置而不要共轭,就把conj和 ' 结合起来使用。 例如键入w=z',u=conj(z),v=conj(z)'得 w =

1.0000 - 2.0000i 5.0000 - 6.0000i 3.0000 - 4.0000i 7.0000 - 8.0000i u =

1.0000 - 2.0000i 3.0000 - 4.0000i 5.0000 - 6.0000i 7.0000 - 8.0000i v =

1.0000 + 2.0000i 5.0000 + 6.0000i 3.0000 + 4.0000i 7.0000 + 8.0000i 4、基本矩阵

? 单位矩阵eye(n)是n×n阶的方阵,其对角线上的元素为1,其余元素均等于

0。

? 全0矩阵zeros(m,n)是m×n的所有元素均为0的矩阵。

? 全1矩阵ones(m,n)是m×n的所有元素均为1的矩阵。

? 均分向量linspace(a,b,n)是在a与b之间均匀地产生n个点值,形成n维向量。 如:键入f1=ones(3,2),f2=zeros(2,3),f3=eye(2)得 f1 =

1 1 1 1 1 1 f2 =

0 0 0 0 0 0 f3 =

1 0 0 1

键入f4=linspace(0,1,5)得 f4 =

0 0.2500 0.5000 0.7500 1.0000

? 大矩阵可由小矩阵组成,但必须其行列数正确,恰好填满全部元素。 如键入f5=[1 1 1;2 2 2;3 3 3]得 f5 =

1 1 1 2 2 2 3 3 3 则键入fb=[f1,f5;f3,f2]可得 fb =

1 1 1 1 1 1 1 2 2 2 1 1 3 3 3 1 0 0 0 0 0 1 0 0 0

(二)矩阵的初等运算

1、矩阵的加减乘法 (1)矩阵加减法

两矩阵相加(减)就是其对应元素的相加(减),通过+、-运算符实现,要求相加(减)的两个矩阵的结构必须相同。用MATLAB的size语句来检查结构是否相同。例如: 键入 m = 5 n = 5

当两个矩阵相加(减)时,如果有一个是标量,则MATLAB承认算式有效,并自动将该标量扩展成同结构的等元素矩阵,再进行加(减)运算。例如: 键入x=[-1 0 1];y=x-1得 y =

-2 -1 0

对于一维矩阵(数组),可以用length语句来求其长度,它不区分列或行,只有一个输

[m,n]=size(fb)得

出量,而size有两个输出量,所以,作加减法的结构检验时只能用size。 (2)矩阵乘法

n×p的矩阵A与p×m的矩阵B的乘积C是一个n×m的矩阵,通过运算符*实现。p是A矩阵的列数,也是B矩阵的行数,称为这两个相乘矩阵的内阶数,这里要注意,两矩阵相乘的必要条件是它们的内阶数相等。

如果两个相乘的矩阵有一个是标量,则MATLAB不检查其内阶数,而用该标量乘以矩

阵的每个元素。

若把y转置,即y’为3×1的矩阵,而x是1×3的矩阵,则x*y’的内阶数相等为3

键入x*y’得 ans=2

该式子称为x左乘y’。如果使x右乘y’,则y’*x内阶数为1, 键入y’*x得 ans =

2 0 -2 1 0 -1

0 0 0

所以要注意左乘与右乘结果一般不同,只有单位矩阵例外,单位矩阵乘以任何矩阵,无论左乘还是右乘,其乘积仍等于该矩阵,但要保证单位矩阵的阶数与相乘矩阵的阶数相等。即 eye(n)*A=A A*eye(n)=A

2、矩阵除法及线性方程组的解

(1)线性代数中没有除法,只有逆矩阵,矩阵的除法是MATLAB从逆矩阵的概念引伸来的。有左除和右除两种情况。

B左除矩阵D相当于矩阵B左乘矩阵D的逆矩阵,记作D\\B。左除条件是:两矩阵的

行数必须相等。(D*X=B,X=D-1*B=D\\B,可见需要D与B的行数相等)

B右除矩阵D相当于矩阵B右乘矩阵D的逆矩阵,记作B/D。右除条件是:两矩阵的

列数必须相等。(X*D=B,X=B*D-1=B/D,可见需要D与B的列数相等)

(2)矩阵除法可以用来方便地解线性方程组。例如要求下列方程组的解x=[x1;x2;x3]。

6 x1+3x2+4 x3=3 -2x1+5x2+7x3=-4 8x1-4x2-3 x3=-7

此方程组可以写成矩阵形式Ax=B,求解的MATLAB程序为 A=[6 3 4;-2 5 7;8 -4 -3]; B=[3;-4;-7]; x=A\\B得 x = 0.6000 7.0000 -5.4000

下面来看矩阵左右乘除的一些示例。设A=[1 2 3;4 5 6],B=[2 4 0;1 3 5],D=[1 4 7;8 5 2;3 6 0],即 A =

1 2 3 4 5 6 B =

2 4 0 1 3 5


MATLAB - 电磁场实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南宁市新提拔领导干部任前法律知识培训模拟试题三

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: