基于MATLAB的矩阵基础(附例题与代码)
目录
一. 特殊矩阵的输入
1.1 数值矩阵的输入
1.2 随机元素矩阵
1.3 对角元素矩阵
例题1
(1)由行向量生成对角矩阵
(2)由列向量通过转置变成行向量
(3)主对角线上面第k条对角线为向量C的矩阵
例题2
二. Hilbert矩阵及逆Hilbert矩阵
三. Hankel(汉克)矩阵
四. Vandermonde(范德蒙)矩阵
五. 伴随矩阵
例题3
六. 符号矩阵的输入
一. 特殊矩阵的输入
1.1 数值矩阵的输入
生成m✖️n零矩阵,单位矩阵以及幺模矩阵,MATLAB格式如下:
A=zeros(m,n);B=ones(m,n);C=eye(m,n);
生成和矩阵D同样位数的零矩阵,MATLAB格式如下:
E=zeros(size(D));
备注:幺模矩阵的行列式|det(U)|=1
1.2 随机元素矩阵
如果矩阵中的元素满足[0,1]区间上的均匀分布,可利用此生成n✖️m阶均匀分布的伪随机数矩阵,MATLAB格式如下:
A=rand(n,m);
1.3 对角元素矩阵
已知向量生成对角矩阵的MATLAB格式,如下:
A=diag(V);
数学形式的解释如下:
逆过来,已知矩阵提取对角元素列向量,方法一样:
V=diag(A);
还有一种特殊形式,可以生成主对角线上面第k条对角线为V的矩阵,MATLAB格式:
A=diag(V,k);
例题1
此例题主要研究diag()函数不同的调用格式。
(1)由行向量生成对角矩阵
代码:
C=[1,2,3];
V=diag(C)
运行结果:
V =
1 0 0
0 2 0
0 0 3
(2)由列向量通过转置变成行向量
代码:
C=[1,2,3];
V=diag(C);
V1=diag(V)' %此处的V为对角矩阵,也可以看成列向量
运行结果:
V1 =
1 2 3
(3)主对角线上面第k条对角线为向量C的矩阵
代码:
C=[1,2,3];
V=diag(C,2)
运行结果:
V =
0 0 1 0 0
0 0 0 2 0
0 0 0 0 3
0 0 0 0 0
0 0 0 0 0
分析如下:
例题2
利用diag()函数生成三对角矩阵,如下:
解:
MATLAB代码如下:
V=diag([1 2 3 4])+diag([2 3 4],1)+diag([5 4 3],-1)
%主对角线上一行与下一行
运行结果:
V =
1 2 0 0
5 2 3 0
0 4 3 4
0 0 3 4
二. Hilbert矩阵及逆Hilbert矩阵
Hilbert矩阵一定是一个方阵,数学表达形式如下:
矩阵中第(i,j)个元素的值可用如下形式表示:
生成n阶的Hilbert矩阵,MATLAB格式如下:
A=hilb(n)
求它对应的逆Hilbert矩阵,MATLAB格式如下:
B=invhilb(n)
三. Hankel(汉克)矩阵
Hankel矩阵的数学形式,如下:
经过观察发现,第一列和最后一行的数据就可以代表整个矩阵中的所有元素。MATLAB格式如下:
%提前给定两个向量C和R
H=hankel(C,R)
观察可发现,第一列的各个元素为C向量,最后一行各个元素定义为R。很明显H为一个对称矩阵。
如果只给定一个向量,如下格式:
H1=hankel(C)
则此Hankel矩阵反对角线上元素相等,且反对角线下元素均为零。
MATLAB代码:
clc;clear;
C=[1 2 3 4 5];
H1=hankel(C)
运行结果:
H1 =
1 2 3 4 5
2 3 4 5 0
3 4 5 0 0
4 5 0 0 0
5 0 0 0 0
分析:
四. Vandermonde(范德蒙)矩阵
范德蒙矩阵的数学形式如下:
矩阵中的第(i,j)个元素满足如下等式:
MATLAB格式:
V=vander(C)
五. 伴随矩阵
P(s)为首项系数为1的多项式,表达式如下:
由多项式得到的伴随矩阵,如下:
MATLAB调用格式,如下:
B=compan(P)
例题3
考虑一个多项式,利用MATLAB求出该多项式的伴随矩阵。
解:
MATLAB代码如下:
clc;clear;
P=[2 0 4 5 6];%由高次到低次的系数
A=compan(P)
运行结果:
A =
0 -2.0000 -2.5000 -3.0000
1.0000 0 0 0
0 1.0000 0 0
0 0 1.0000 0
六. 符号矩阵的输入
可以由数值矩阵转换为符号矩阵,MATLAB格式如下:
B=sym(A)
举例MATLAB代码:
clc;clear;
A=hilb(3) %A为Hilbert矩阵
B=sym(A) %分数形式
运行结果:
A =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
B =
[ 1, 1/2, 1/3]
[ 1/2, 1/3, 1/4]
[ 1/3, 1/4, 1/5]
基于MATLAB的矩阵基础(附例题与代码)相关推荐
- MATLAB的变换器毕业设计,毕业论文基于Matlab的矩阵变换器仿真研究设计1喜欢就下吧(资料4)...
<[毕业论文]基于Matlab的矩阵变换器仿真研究设计.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文基于Matlab的矩阵变换器仿真研究设计(1)(喜欢就下吧)>相 ...
- 【光学】基于matlab GUI矩阵法和等效界面法光学薄膜对反射率影响【含Matlab源码 2102期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI矩阵法和等效界面法光学薄膜对反射率影响[含Matlab源码 2102期] 点击上面蓝色字体,直接付费下载, ...
- c52传感器温度显示c语言编程,基于STC89C52的数字温度计 附C语言代码.doc
基于STC89C52的数字温度计 附C语言代码 <数字显示温度计>论文 学校: 华侨大学 学院: 信息科学与工程学院 班级:10级 集成电路设计与集成系统 组别: 自控06组 组员:*** ...
- 基于MATLAB的矩阵及元素赋值
*内容摘要 :该代码用于实现在MATLAB中矩阵及元素的赋值 *文件标识:无 *作 者: *完成日期:2019-3-10 *问题描述:给矩阵a赋值 >> a=[1 4 7;2 5 8; 3 ...
- 计算识别率的matlab代码,基于MATLAB神经网络图像识别的高识别率代码
更新时间: 2019年3月14日10:50:04作者: 钱190 今天,我将与您分享一个基于MATLAB神经网络图像识别的高识别代码. 我认为内容非常好. 现在我与大家分享. 具有很好的参考价值. 需 ...
- matlab向量的模_基于MATLAB使用矩阵方法求解一维定态薛定谔方程
摘要:此文介绍了一种使用MATLAB求解一维定态薛定谔方程的方法.利用充分格式进行离散化,得出相应的矩阵方程,用MATLAB求解本征值和本征函数.此方法简单可靠,可以处理各种时间无关的束缚态问题.所用 ...
- matlab之矩阵基础应用
A为3行4列的矩阵,B为一个行数大于3的矩阵,写出MATLAB命令. (1)删除A的第1.3两列. (2)删除B的倒数第3行. (1)删除A的第1.3列 A=rand(3,4)A(:,[1,3]) ...
- Matlab | Matlab从入门到放弃(11)——基于Matlab的矩阵分解、幂和指数
============================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:https ...
- 【电磁】基于Matlab模拟电偶极子电磁场附GUI界面
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进.
最新文章
- linux内核 cpu_die,解密“内核”,和“cpu”又有啥关系?
- 机械转嵌入式还是it?学嵌入式好还是java好?
- pandas使用reindex函数为日期索引中有缺失日期的dataframe进行索引重置(所有日期都连续)、并使用fill_value参数为行进行默认填充
- Matlab 常用运算符的用法和功能
- 我如何使用React,Redux-Saga和Styled Components构建NBA球员资料获取器
- linux 权限测试,linux下检测root权限的shell脚本
- sqlserver获取前一天的日期_Java8新特性时间日期库DateTime API及示例
- Visual studio C++ MFC之列表控件CListCtrl Control
- 1033. 旧键盘打字(20)-浙大PAT乙级真题
- FTPClient删除linux文件夹,使用ftp读取文件夹中的多个文件,并删除
- MIT算法圣经书《算法导论》第四版
- archlinux i3wm通知管理
- 8款微信公众号编辑器,哪个最好用?
- phigros测试版软件头像,Phigros背景头像怎么用
- 计算机程序不支持中文文件目录怎么办,电脑软件打开时提示找不到指定路径
- 喝多了,头痛,发篇喝酒坏处的文章,提提醒,适量饮酒
- Vue中router-view和子路由的使用方法
- 入行IC选择国企、私企还是外企?(内附各IC大厂薪资福利情况)
- Kotlin 学习笔记(十四)浅读协程
- Android设计中如何切图.9.png(点9图)