没有合适的资源?快使用搜索试试~ 我知道了~
matlab实用中文教程---第一部分;
资源详情
资源评论
资源推荐
第 1 章 矩阵及其基本运算
第 1 章 矩阵及其基本运算
MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本书从最基本的运
算单元出发,介绍 MATLAB 的命令及其用法。
1.1 矩阵的表示
1.1.1 数值矩阵的生成
1.实数值矩阵输入
MATLAB 的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理
的向量或矩阵。
不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用
逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元
素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的
矩阵时,会有多重的方括号。如:
>> 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 10
>> X_Data = [2.32 3.43;4.37 5.98]
X_Data =
2.43 3.43
4.37 5.98
>> vect_a = [1 2 3 4 5]
vect_a =
1 2 3 4 5
>> Matrix_B = [1 2 3;
>> 2 3 4;3 4 5]
Matrix_B = 1 2 3
2 3 4
3 4 5
>> Null_M = [ ] %生成一个空矩阵
1
MATLAB6.0 数学手册
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.0000 5.4000 + 0.5200i 0.8544
0.7071 5.3000 4.5000
第 2 种方式
例 1-2
>> R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]
R =
1 2 3
4 5 6
M =
11 12 13
14 15 16
>> 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
1.1.2 符号矩阵的生成
在 MATLAB 中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上
很相像,只不过要用到符号矩阵定义函数 sym,或者是用到符号定义函数 syms,先定义一
些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。
1.用命令 sym 定义矩阵:
这时的函数 sym 实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何
的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引
号中。如下例:
例 1-3
>> sym_matrix = sym('[a b c;Jack,Help Me!,NO WAY!],')
sym_matrix =
[a b c]
[Jack Help Me! NO WAY!]
>> sym_digits = sym('[1 2 3;a b c;sin(x)cos(y)tan(z)]')
sym_digits =
[1 2 3]
2
第 1 章 矩阵及其基本运算
[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]
[ 2 3 5]
把数值矩阵转化成相应的符号矩阵。
数值型和符号型在 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 =
0.3333 1.4142 3.4234
1.2586 3.3673 0.0000
Syms_Matrix =
[ 1/3, sqrt(2), 17117/5000]
[5668230535726899*2^ ( -52 ) , 7582476122586655*2^ ( -51 ) , 5174709270083729*2^ ( -
103)]
注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最
接近原值的有理数形式表示或者是函数形式表示。
1.1.3 大矩阵的生成
对于大型矩阵,一般创建 M 文件,以便于修改:
例 1-6 用 M 文件创建大矩阵,文件名为 example.m
exm=[ 456 468 873 2 579 55
21 687 54 488 8 13
65 4567 88 98 21 5
456 68 4589 654 5 987
3
MATLAB6.0 数学手册
5488 10 9 6 33 77]
在 MATLAB 窗口输入:
>>example;
>>size(exm) %显示 exm 的大小
ans=
5 6 %表示 exm 有 5 行 6 列。
1.1.4 多维数组的创建
函数 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) =
1 2 3
4 5 6
7 8 9
A4(:,:,2) =
1 4 7
2 5 8
3 6 9
A4(:,:,3) =
0 -2 -4
2 0 -2
4 2 0
或用另一种原始方式可以定义:
例 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) =
1 2 3
4 5 6
7 8 9
A5(:,:,2) =
1 4 7
2 5 8
3 6 9
4
第 1 章 矩阵及其基本运算
A5(:,:,3) =
0 -2 -4
2 0 -2
4 2 0
1.1.5 特殊矩阵的生成
命令 全零阵
函数 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×…随机矩阵或数组
Y = rand(size(A)) %生成与矩阵 A 相同大小的随机矩阵
rand %无变量输入时只产生一个随机数
s = rand('state') %产生包括均匀发生器当前状态的 35 个元素的向量
rand('state', s) %使状态重置为 s
rand('state', 0) %重置发生器到初始状态
5
剩余63页未读,继续阅读
tb1987813
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- html动态爱心代码一(附源码)
- c40539bc-071a-486c-9d52-9d0c18d62dac 4.html
- 基于物理的非视域成像(NLOS)算法,利用了nerf+python源码+文档说明
- yuluer知更鸟.7z(1).001
- python课程设计-基于tensorflow实现的图文生成程序,数据集flickr30k-images+源代码+文档说明+截图
- python作业-基于Flickr30k数据集实现图像文本跨模态搜索python源码+数据集+测试界面+项目说明(高分课程设计)
- 基于Qt实现医院信息管理系统c++源码+文档说明+数据库(期末大作业)
- 基于python实现的医院信息管理系统完整源码+sql数据库+详细注释(高分课程设计)
- 基于python的眼底图像视杯视盘分割项目源码+文档说明+截图演示+详细注释(高分课程设计)
- ImageBasedModellingEdu-贰壹贰叁零
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0