导图社区 matlab
求矩阵A的全部特征值,构成向量E、求矩阵的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量、只存储矩阵的非零元素的值及其位置,即行号和列号。
编辑于2022-09-29 20:29:41 广东matlab
matlab基础知识
1.1 matlab系统环境
命令行窗口
回车执行运算
...为续行符
...按回车可在下一行继续输入命令
当前文件夹窗口
cd
工作区窗口
存储变量
搜索路径
变量
内部函数
程序文件
1
当前文件夹的程序文件
2
文件搜索路径的程序文件
设置搜索路径
主页
设置路径
path
clear
清屏函数
1.2 matlab数值数据
分类
整型
浮点型
复数型
real
查询复数的实部
imag
查询复数的虚部
函数
class
查询是什么数据类型
format
改变输出数据的类型
format rat
改成以分数形式表达
short
四位小数
long
十六位小数
bank
两位小数
三角函数
sin
弧度
sind
角度
处理的是矩阵变量
abs函数
求绝对值
复数的模
字符串的ASCⅡ码值
取整函数
round
四舍五入
fix
靠0取
ceil
向上取整
取大于等于
即数轴靠右
floor
向下取整
取小于等于
即数轴靠左
取余数函数
rem(x,10)
即x%10
求素数函数
isprime()
是素数
返回1
非素数
返回0
找序号函数
find
返回矩阵非0元素的序号数
1.3 变量及操作
相关函数
求平方根
sqrt
求指数函数
exp
裁数
NaN
图像中裁掉那一部分数据
显示变量名
who
只有变量名
whos
变量及其类型
内存变量文件
保存matlab工作区变量
.mat
二进制格式
生成
save
创建内存变量文件
load
装入内存变量环境
1.4 矩阵的表示
冒号
1:10
生成1-10的行向量
linspace(a,b,n)
a
第一个元素
b
最后一个元素
n
元素个数
结构矩阵
结构矩阵元素.成员名 = 表达式
单元矩阵
大括号
1.5 矩阵元素的引用
引用矩阵A三行四列元素
A(3,4)
赋值
A(4,4) = 50
若超出定义,其余填0
A(3)
按序号引用
先数完第一列,再数第二列
函数
size(A)
得到一个行向量
分别为向量A的行数,和列数
sub2ind(S,I,J)
S
行数和列数组成的向量
用size函数得到
I
行下标
J
列下标
运行结果
得到对应行,列下标的元素在矩阵中的序号
ind2sub
调用格式
[I,J] = ind2sub(S,D)
I
行下标
J
列下标
S
行列数组成的向量
D
序号
子矩阵
运用:号
A(i:i+m , j:j+k)
得到第i到i+m行,且在第j到j+k列的子矩阵
有多个:号,如(:,1:3:5)
1到5列,步长为3
即1和1+3=4
1,4列的所有元素
end
即行列中的末尾下标
删除矩阵元素
x ()= []
选定行列被删除
改变矩阵结构
reshape(向量,行数,列数)
A(:)
行向量变为列向量
不改变顺序
2.1 matlab基本运算
inv(A)
A的逆矩阵
B/A
B*inv(A)
B\A
inv(A)*B
矩阵的乘法
左行乘右列
乘方运算
A^x
A为方阵
x为标量
点运算
.*
./
.\
.^
同型矩阵的对应元素进行相关运算
关系运算符
<
小于
<=
小于等于
>
大于
>=
大于等于
==
等于
~=
不等于
&
与
|
或
~
非
2.2 字符串的表示
看为行向量
字符串里有单引号要用双引号来表示
也可以建立多行字符串
每行元素相等
length
返回向量元素个数
eval
将字符串里的函数运行
abs
将字符串矩阵转换成ascⅡ码矩阵
char
将ascⅡ码矩阵转换成字符串矩阵
字符串的比较
比较的是每个字符的ascⅡ值
字符串比较函数
strcmp(s1,s2)
用来比较字符串s1和s2是否相等,如果相等返回1,否则返回0
strncmp(s1,s2,n)
用来比较字符串s1和s2前n项是否相等,如果相等返回1,否则返回0
strcmpi(s1,s2)
在忽略字母大小写前提下,用来比较字符串s1和s2是否相等,如果相等返回1,否则返回0
strncmpi(s1,s2,n)
在忽略字母大小写前提下,用来比较字符串s1和s2的前n项是否相等,如果相等返回1,否则返回0
findstr(s1,s2)
返回短字符串在长字符串中的开始位置
strrep(s1,s2,s3)
将s1中的所有字符串s2替换成s3
3.1 特殊矩阵
zeros
功能
生成全为0的矩阵
调用格式
zeros(m)
m×m
zeros(m,n)
m×n
zeros(size(A))
和A同型的零矩阵
ones
产生全1矩阵
eye
产生对角线为1的矩阵,若为方阵,即产生单位阵
rand
产生(0,1)区间均匀分布的随机矩阵
randn
产生均值为0,方差为1的标准正态分布随机矩阵
fix(a+(b-a+1)*x)
产生(a,b)区间上均匀分布的随机整数
x为随机数
用rand
μ+σx
得到均值为μ、方差为σ²的随机数
n阶魔方阵
每行、每列以及主、副对角线上个n个元素之和都相等
和为(1+2+3+···+n²)/n = (n+n³)/2
调用
magic(n)
范德蒙矩阵
vander(1:n)
希尔波特矩阵
hilb(n)
伴随矩阵
compan(p)
p是一个多项式的系数向量,高次幂系数排在前,低次幂在后
帕斯卡矩阵
pascal(n)
3.2 矩阵变换
提取矩阵对角线元素
diag(A)
提取矩阵A主对角线的元素生成列向量
diag(A,k)
提取矩阵A第k条对角线的元素,形成列向量
对角阵的乘法
左乘行,右乘列
三角阵
上三角阵
主对角线以下全为零
函数
triu(A)
提取矩阵A的主对角线及以上的元素
triu(A,k)
提取矩阵A的第k条对角线及以上的元素
下三角阵
主对角线以上全为零
函数
tril(A)
提取矩阵A的主对角线及以下的元素
tril(A,k)
提取矩阵A的第k条对角线及以下的元素
矩阵的转置
运算符
.'
共轭转置
'
转置基础上还要取每个数的复共轭
矩阵的旋转
rot90(A,k)
将矩阵A逆时针旋转90°的k倍,k为1时可省略
矩阵的翻转
fliplr(A)
对矩阵A进行左右翻转
flipud(A)
对矩阵A进行上下翻转
矩阵的求逆
inv(A)
3.3 矩阵求值
方阵的行列式
det(A)
方阵的行列式的值
矩阵的秩
rank(A)
矩阵线性无关的行数或列数
矩阵的迹
矩阵对角线元素之和,或矩阵特征值之和
trace(A)
向量的范数
矩阵的范数
矩阵的条件数
定义
A的范数与A的逆矩阵的范数的乘积
功能
条件数越接近于1,矩阵的性能越好,反之,性能越差
3.4 矩阵的特征值与特征向量
定义
函数调用格式
E=eig(A)
求矩阵A的全部特征值,构成向量E
[X,D]=eig(A)
求矩阵的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量
正体字库变斜体,省储存空间
3.5 稀疏矩阵
完全存储方式
稀疏存储方式
只存储矩阵的非零元素的值及其位置,即行号和列号
A=sparse(S)
将矩阵转化为稀疏存储方式的矩阵A
S = full(A)
将矩阵A转换成完全存储方式的矩阵S
4.1 顺序结构程序
文件的建立
edit test
命令
新建脚本
数据的输入
input
数据的输出
disp
暂停
pause
4.2 选择结构
switch
case 1
case 2
otherwise
例子
4.3 循环结构
for
例子
while
子主题
4.4 函数文件的定义与调用
定义
function 输出形参表=函数名(输入形参表)
多个输入形参用逗号隔开,多个输出形参用方括号形成输出矩阵
注释说明部分
函数体语句
end
匿名函数
调用
例子
4.5 函数的递归调用
直接调用
间接调用
例子
4.6 函数变量
函数变量的可调性
nargin
输入参数个数
局部变量与全局变量
全局变量
global 变量
5.1 matlab的绘图
二维曲线
plot
plot(x)
x为行向量,序号为横坐标,元素为纵坐标
plot(x,y)
x为行向量,y为矩阵
x为横坐标
y的每一行的行向量为纵坐标,行数为曲线条数
plot(x,y,选项)
fplot
绘制图形的辅助工具
title(图形标题)
xlable(x轴说明)
ylable(y轴说明)
text(x,y,图形说明)
legend(图例1,图例2,···)
axis函数
grid
grid on
打开网格
grid off
不显示网格线
box
on
启用边框
off
关闭边框
hold
on
图形保持
上次画的图形不消失
off
其他坐标系下的二维曲线
对数坐标
semilogx
将x坐标转对数
semilogy
loglog
极坐标图
统计图
条形类
条形图
直方图
hist
rose
面积类
扇形图
散点类
矢量类
多个图
subplot(x,y,n)
x
行数
y
列数
n
选第几个来作图
将单个画图区域分为多个
三维曲线
plot3(x,y,z)
fplot3
三维曲面
子主题
6.1 文件操作
读取记事本文件
load('filename.xxx')
[A,B,C,...]=textread('filename','format',N)
A,B,C
每一列数据要保存的变量名
format
输出格式
N
提取次数
例子
7.1 曲线拟合
最小二乘法
polyfit(X,Y,m)
polyval(p,x)
计算拟合曲线p在各点x的值
7.2 数值插值
7.3 数值微分与积分
数值微分
向前差分
diff
数值积分
I = integral(filename,a,b)
I
积分值
a
积分下限
b
积分上限
filename
被积函数名
7.4 线性方程组
x=A\b
7.5 非线性方程组和极值
fzero(f,a)
f
函数
a
初值
返回x=0的值
fsolve(filename,x0,option)
filename
函数名
x0
初值
option
optimset来完成
7.6 函数极值的计算
子主题
无约束最优化问题
有约束最优化问题
matlab处理信号与系统
1
离散时间函数
u[n]
heaviside()
离散时间图像
stem(x,y)
卷积和
conv(x,h)
filter命令
也可以完成卷积
非因果
块卷积
2
回声消除
impz()
调用函数求单位冲激响应并画图
step函数
b,a是微分方程的系数
3
DTFS
fft函数
实现
ifft函数
实现
freqz函数
Isim函数
例子
conj函数
求复数的共轭
sym函数
定义符号变量
str2sym函数
定义符号函数
int函数
其中一个功能
画积分
ezplot函数
画连续函数的图像,与fplot区别,自动标题
fplot函数
画连续函数的图像,fplot(函数,定义域)
subs函数
以新内容替换旧内容
以-t替换t
4
freqs函数
用微分方程表示LTI系统
例子
anger函数
求复数的相位角
Y=fftshift(fft(y))
交换x的顺序
y=ifft(fftshift(Y))
fft(x,N)
求傅里叶变化
连续时间傅里叶变换的数值近似
内插系统
fourier函数
ifourier函数
impulse函数
butter函数
2表示二阶滤波器
6