• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Matlab-基本操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

第3章 MATLAB基础知识

MATLAB中的常量

ans 	# 默认变量
pi		# 圆周率
eps		# 浮点运算的相对精度
inf 	# 无穷大
NaN		# 不定值
i(j)	# 复数中的虚数单位
realmin	# 最小正浮点数
realmax	# 最大正浮点数

关系运算符

运算符 定义
== 等于
~= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

逻辑运算符

运算符 定义
& 或 and
| 或 or
~
xor 异或
any 有非零为真
all 皆非零为真

复数运算

abs	# 模
angle	# 相角
complex	# 用实部和虚部构造复数
conj	# 共轭
imag	# 虚部
real	# 实部
unwrap	# 调整矩阵元素的相位
isreal	# 是否为实数矩阵
cplxpair	# 把复数矩阵排列成复共轭对

三角函数

sin
cos
tan
cot
sec
csc

第4章 向量与多项式

向量生成

#[ 直接生成
x = [1 2 3 4]
x = [1; 2; 3; 4]
# 冒号]()
x = 0: 2: 10 	# 0 2 4 6 8 10
# linspace(first_value, last_value, number)
x = linspace(0, 10, 6)
x = logspace(0, 5, 6)	# [ 1          10         100        1000       10000      100000]

向量引用

x = [1 2 3 4 5]
# x(n)
x(3)	# 3
# x(n1:n2)
x(1:3)		# [ 1     2     3]

点积运算

a .* b
dot(a, b)
dot(a, b, dim)	# a, b在dim维的点积

叉积运算

cross(a, b)
cross(a, b, dim)

多项式生成

# 直接输入
\'a*x^n + b*x^(n-1)\'
# 向量构成
p = [3 -2 4 6 8]
poly2sym(p)		# 3*x^4 - 2*x^3 + 4*x^2 + 6*x + 8
# 由根生成多项式
root = [-5 3+2i 3-2i]
p = poly(root)
poly2sym(p)

数值多项式运算

多项式的四则运算实际上是多项式对应系数的四则运算

p1 = 1:5
p2 = 2:6
p1+p2
# 乘法(卷积)
conv(p1, p2)
# 除法(解卷)
[k, r] = deconv(p1, p2)	# k为商,r为余式
# 导数
polyder(p)	# 输入系数向量,返回导数系数向量

特殊变量

单元型变量

# 创建
# 赋值语句直接定义
A = [1 2; 3 4];
B = 3 + 2*i;
C = \'efg\';
D = 2;
E = {A B C D}
# 申请空间后逐个赋值
E = cell(1, 3);
E{1, 1} = [1: 4];
E{1, 2} = B;
E{1, 3} = 2;

# 引用
E{1}	# ans = 1     2     3     4
E(1)	# ans = 1×1 cell 数组 {1×4 double}		(显示元素的压缩形式)

有关函数

函数名 说明
cell 生成单元型变量
cellfun 对单元型变量中的元素作用的函数
celldisp 显示单元型变量的内容
cellplot 用图形显示单元型变量的内容
num2cell 将数值转换成单元型变量
deal 输入输出处理
cell2struct 将单元型变量转换成结构性变量
struct2cell 将结构型变量转换成单元型变量
iscell 判断是否为单元型变量
reshape 改变单元数组的结构

结构型变量

根据属性名(field)组织起来的不同数据类型的集合,任何一个属性可以包含不同的数据类型

mn = struct(\'color\',{\'red\', \'black\'}, \'number\', {1, 2})
mn = 

  包含以下字段的 1×2 struct 数组:

    color
    number
    
mn(1)
ans = 

  包含以下字段的 struct:

     color: \'red\'
    number: 1
mn(2)
ans = 

  包含以下字段的 struct:

     color: \'black\'
    number: 2
mn(2).color
ans =

    \'black\'

有关函数

函数名 说明
struct 创建结构型变量
fieldnames 得到结构型变量的属性名
getfield 得到结构型变量的属性值
setfield 设定结构型变量的属性值
rmfield 删除结构型变量的属性
isfield 判断是否为结构型变量的属性
isstruct 判断是否为结构型变量

第5章 矩阵运算

创建矩阵

直接创建

a = [1 1 1; 1 1 1; 1 1 1]

M文件创建

gmatrix = [1 2 3 4 5;
6 7 8 9 10;
11 12 13 14 15]

利用文本创建

load goods.txt

创建特殊矩阵

# 单位矩阵
eye(n) 			# 创建nXn单位矩阵
eye(m, n)		# 创建mXn单位矩阵
eye(size(A))	# 创建和A维数相同的单位阵
# 全1阵
ones(n)
ones(m, n)
ones(size(A))
# 全0阵
zeros(m, n)
zeros(size(A))
# 均匀随机矩阵
rand(n)
rand(m, n)
rand(size(A))
# 创建系数向量是P的多项式的伴随矩阵
compan(P)
# 创建以向量v中的元素为对角的对角阵
diag(v)
# 创建nXn的Hilbert矩阵
hilb(n)
invhilb(n)		# 逆Hilbert矩阵
# 生成n阶魔方矩阵
magic(n)
# 将矩阵A转化为稀疏矩阵形式
sparse(A)

矩阵运算

修改矩阵元素

# 在A矩阵后扩充元素B、C
D = [A; B C]
# 删除第m行
A(m, :) = []
# 删除第n列
A(:, n) = []
# 对(m, n)元素赋值
A(m, n) = a
# 对m行赋值
A(m, :) = [a b c]
# 对n列赋值
A(:, n) = [a b c]

变维

# 调用函数reshape()
reshape(X, m, n)
# 将A的元素赋值到C,以C维度排列
C(:) = A(:)

变向

命令名 说明
rot(90) 逆时针旋转90度
rot(90, k) 逆时针旋转90 * k
fliplr() 左右翻转
flipud() 上下翻转
flipdim(X, dim) dim=1对行翻转,dim=2对列翻转

矩阵抽取

命令名 说明
diag(X, k) 抽取第k条对角线上的元素向量,0为主对角线,正往上,负往下
diag(X) 主对角线
diag(v, k) 将v代替第k条对角线
diag(v) v代替主对角线
tril(X) 主下三角
tril(X, k) 第k条对角线下三角(包括对角线)
triu(X) 主上三角
triu(X, k) 第k条对角线上三角(包括对角线)

数学运算

A + B
A - C
# 数乘
5A
# 乘
A * B
# 点乘
A .* B
# 左除
D\B = inv(D) * B
D .\ B
# 右除
B/D = B * inv(D)
B ./ D

矩阵运算

函数名 说明 函数名 说明
cond 条件数值 diag 对角变换
condest 1-范数矩阵条件数值 expm 指数运算
det 行列式值 logm 对数运算
eig 特征值 sqrtm 开方运算
inv 求逆 cdf2rdf 复数对角矩阵转换成实数块对角矩阵
norm 求范数 rref 转换为逐行递减的阶梯矩阵
normest 2-范数值 rsf2csf 实数块对角矩阵转换成复数对角矩阵
rank 求秩 rot90 逆时针旋转90
orth 正交化运算 fliplr 左右翻转
rcond 逆条件数值 flipud 上下翻转
trace 求迹 reshape 改变维数
triu 上三角变换 funm 一般的矩阵函数
tril 下三角变换

矩阵分解

# cholesky分解 A = RT*R
R = chol(A)
[R, p] = chol(A)	# 针对正定阵,若A为正定阵p=0,否则P为正整数,R为有序上三角阵

# LU分解 将矩阵分解为一个下三角矩阵L和一个上三角矩阵U的乘积,A=LU
[L, U] = lu(A)
[L, U, P] = lu(A)	# P为置换矩阵,LU = PA

书P78

第6章 二维绘图

plot(x, y)
plot(x, y, s)
subplot(m, n, p)		# 将窗口分割成mXn个视图区域,并指定第p个视图为当前视图
hold on		# 使当前轴及图形保持不变,hold off取消

plot参数

线型控制

字符 数据点 字符 数据点
+ 加号 > 向右三角形
o 小圆圈 < 向左三角形
* 星号 s 正方形
. 实点 h 正六角星
x 交叉号 p 正五角星
d 棱形 v 向下三角形
^ 向上三角形

fplot

针对一元函数,自适应,光滑准确

subplot(2, 1, 2), fplot(@(x)sin(1./x), [0.01, 0.02])

ezplot

将符号函数图形化

syms x
f1 = exp(2*x) * sin(2*x);
ezplot(f1, [-4*pi, 4*pi])

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi字符串加密/解密发布时间:2022-07-18
下一篇:
Delphi封装Frame到Dll文件发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap