第1章矩阵及其基本运算。
matlab,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本书从最基本的运算单元出发,介绍matlab的命令及其用法。
1.实数值矩阵输入。
matlab的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。
不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ 内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。
如:> time = 11 12 1 2 3 4 5 6 7 8 9 10]
time =
> x_data = 2.32 3.43;4.37 5.98]
x_data =
> vect_a = 1 2 3 4 5]
vect_a =
> matrix_b = 1 2 3;
matrix_b = 1 2 3
> null_m生成一个空矩阵。
2.复数矩阵输入。
复数矩阵有两种生成方式:
第一种方式。
例1-1> a=2.7;b=13/25;
> c=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1]
c=1.00005.4000 + 0.5200i 0.8544
第2种方式。
例1-2> r=[1 2 3;4 5 6], m=[11 12 13;14 15 16]r =
m => cn=r+i*m
cn =1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i
4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i
在matlab中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。
1.用命令sym定义矩阵:
这时的函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。如下例:
例1-3> sym_matrix = sym('[a b c;jack,help me!,no way!],
sym_matrix =
a bc]jack help me! no way!]
> sym_digits = sym('[1 2 3;a b c;sin(x)cos(y)tan(z)]'
sym_digits =
a b c]
sin(x)cos(y)tan(z)]
2.用命令syms定义矩阵。
先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。
例1-4> syms a b c ;
> m1 = sym('classical');
> m2 = sym(' jazz');
> m3 = sym('blues')
> syms_matrix = a b c; m1, m2, m3;int2str([2 3 5])]
syms_matrix =
a b c]
classical jazz blues]
把数值矩阵转化成相应的符号矩阵。
数值型和符号型在matlab中是不相同的,它们之间不能直接进行转化。matlab提供了一个将数值型转化成符号型的命令,即sym。
例1-5> digit_matrix = 1/3 sqrt(2) 3.4234;exp(0.23) log(29) 23^(-11.23)]
> syms_matrix = sym(digit_matrix)
结果是:digit_matrix =
syms_matrix =
1/3sqrt(217117/5000]
注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。
对于大型矩阵,一般创建m文件,以便于修改:
例1-6 用m文件创建大矩阵,文件名为。
exm=[ 456 468 873 2 579 55
在matlab窗口输入:
>example;
>size(exm) %显示exm的大小。
ans=5 6 %表示exm有5行6列。
函数 cat
格式 a=cat(n,a1,a2,…,am)
说明 n=1和n=2时分别构造[a1;a2]和[a1,a2],都是二维数组,而n=3时可以构造出三维数组。
例1-7> a1=[1,2,3;4,5,6;7,8,9];a2=a1';a3=a1-a2;
> a4=cat(3,a1,a2,a3)
a4(:,1) =
a4(:,2) =
a4(:,3) =
或用另一种原始方式可以定义:
例1-8> a1=[1,2,3;4,5,6;7,8,9];a2=a1';a3=a1-a2;
> a5(:,1)=a1, a5(:,2)=a2, a5(:,3)=a3
a5(:,1) =
a5(:,2) =
a5(:,3) =
命令全零阵。
函数 zeros
格式 b = zeros(n生成n×n全零阵。
b = zeros(m,n生成m×n全零阵。
b = zeros([m n生成m×n全零阵。
b = zeros(d1,d2,d3…) 生成d1×d2×d3×…全零阵或数组。
b = zeros([d1 d2 d3…])生成d1×d2×d3×…全零阵或数组。
b = zeros(size(a生成与矩阵a相同大小的全零阵。
命令单位阵。
函数 eye
格式 y = eye(n生成n×n单位阵。
y = eye(m,n生成m×n单位阵。
y = eye(size(a)) 生成与矩阵a相同大小的单位阵。
命令全1阵。
函数 ones
格式 y = ones(n生成n×n全1阵。
y = ones(m,n生成m×n全1阵。
y = ones([m n生成m×n全1阵。
y = ones(d1,d2,d3…) 生成d1×d2×d3×…全1阵或数组。
y = ones([d1 d2 d3…])生成d1×d2×d3×…全1阵或数组。
y = ones(size(a生成与矩阵a相同大小的全1阵。
命令均匀分布随机矩阵。
函数 rand
格式 y = rand(n生成n×n随机矩阵,其元素在(0,1)内。
y = rand(m,n生成m×n随机矩阵。
y = rand([m n生成m×n随机矩阵。
y = rand(m,n,p,…)生成m×n×p×…随机矩阵或数组。
y = rand([m n p…])生成m×n×p×…随机矩阵或数组。
matlab
实验。四 调幅信号通过带通滤波器。一 实验目的。1 掌握如何使用matlab进行系统的时域和频域分析2 掌握如何使用matlab进行系统的稳定性分析。二 实验内容和要求1 实验内容。1 练习matlab7.0或以上版本。2 练习掌握matlab进行系统的时频域分析和稳定性分析2 实验要求 每位学生独...
matlab
matlab程序设计 数学软件i 授课人 艾斯卡尔。课时 周学时 2 2,共18周。授课班级 2008级应数班。授课地点 数学学院2 课程类型 本课程是新大重点课程。电子教案说明 电子教案以word为工作界面,采用notebook技术与matlab相连接,集教学与演示为一体 同时采用vba技术与外部...
MatLab
matlab 数学建模 第三讲 matlab程序设计。一 m文件。我们前面所介绍在matlab所做的运算,是适合于所要计算的算式不太长或是想以交谈式方式做运算,如果要计算的算式很长有数十行或是须要一再执行的算式,则那样的方式就行不通了。matlab提供了所谓的 m file 的方式,可让使用者自行将...