Matlab基础知识

文章介绍了MATLAB中的基础知识,包括数字表示、数据结构如矩阵、数组、元胞数组和结构体的使用,以及线性代数操作,如矩阵的转置、逆矩阵、条件数计算等。此外,还提到了逻辑下标、find函数在数组索引中的应用,以及一些特定的矩阵生成函数。
摘要由CSDN通过智能技术生成

目录

基础知识

数字

数据结构

矩阵和数组

矩阵的串联

 数组索引

逻辑下标

find函数

元胞数组

结构体

线性代数

网址


基础知识

表达式- MATLAB & Simulink- MathWorks 中国

.^

逐元素幂

.'

非共轭数组转置

/

除法

\

左除

数字

MATLAB 使用传统的十进制记数法以及可选的小数点和前导加号或减号来表示数字。科学记数法使用字母 e 来指定 10 次方的缩放因子。虚数使用 i 或 j 作为后缀。下面给出了合法数字的一些示例:

3              -99            0.0001
9.6397238      1.60210e-20    6.02252e23
1i             -3.14159j      3e5i

有关初等数学函数的列表,请键入

help elfun

有关更多高等数学函数和矩阵函数的列表,请键入

help specfun
help elmat

常量值:

pi

3.14159265...

i

虚数单位 √−1

j

与 i 相同

eps

浮点相对精度 ε=2−52

realmin

最小浮点数 2−1022

realmax

最大浮点数 (2−ε)21023

Inf

无穷

NaN

非数字

数据结构

矩阵和数组

矩阵和数组- MATLAB & Simulink- MathWorks 中国

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 矩阵
a = [1 3 5; 2 4 6; 7 8 10] % 创建矩阵

a(2,2) % 访问矩阵第二行第二列的元素4
a(5)   % 访问元素4, 从第一列往下数起的第5个数是4

% 使用 ones、zeros 或 rand 等函数创建矩阵
z = zeros(5,1) % 创建一个由零组成的 5×1 列向量

a' % 转置矩阵

inv(a) % 逆矩阵

p = a.*a % 点乘,相应位置的元素相乘
a.^3 % 计算 a 的各个元素的三次方

X(:,2) = [] % 删除 X 的第二列

sum(A) % 每一列相加求和,得到行向量
sum(A,2) % 每一行相加求和,得到列向量
diag(A) % 主对角线求和
diag(fliplr(A)) % 次对角线求和
fliplr(A) % 从左往右地翻转矩阵

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 数组
perms(1:4) % 1~4的全排列

% 创建元胞数组
C = {A sum(A) prod(prod(A))}

prod(A) % A是矩阵,prod(A)算出每列元素的乘积 结果是一个行向量

生成矩阵:

MATLAB 软件提供了四个用于生成基本矩阵的函数。

zeros

全部为零

ones

全部为 1

rand

均匀分布的随机元素

randn

正态分布的随机元素

矩阵的串联

 数组索引

越界添加新元素:

A(1:3,2) % 选出1~3行、第2列的元素

逻辑下标

括号内表达式相当于判断条件:

x = x(isfinite(x)) % 用于删除NaN
x = x(abs(x-mean(x)) <= 3*std(x)) % 删除x中比均值大三倍标准差的元素
A(~isprime(A)) = 0 % 将非质数设置为 0

find函数

find 函数可用于确定与指定逻辑条件相符的数组元素的索引。find 以最简单的形式返回索引的列向量。转置该向量以便获取索引的行向量。例如,再次从丢勒的幻方矩阵开始。(请参阅 magic 函数。)

k = find(isprime(A))'

使用一维索引选取幻方矩阵中的质数的位置:

k =
     2     5     9    10    11    13

使用以下命令按 k 确定的顺序将这些质数显示为行向量

A(k)

ans =
     5     3     2    11     7    13

将 k 用作赋值语句的左侧索引时,会保留矩阵结构:

A(k) = NaN

A =
    16   NaN   NaN   NaN
   NaN    10   NaN     8
     9     6   NaN    12
     4    15    14     1

元胞数组

  • 检索元素用 { } 而不是 [ ] 或  ( ) ,如 C{1} 
  • 元胞数组包含其他数组的副本,而不包含指向这些数组的指针。如果随后更改 CC 不会发生变化。

结构体

S.name = 'Ed Plum';
S.score = 83;
S.grade = 'B+'

直接添加元素:
S(2).name = 'Toni Miller';
S(2).score = 91;
S(2).grade = 'A-';

S(3) = struct('name','Jerry Garcia',... 
               'score',70,'grade','C')

​​​​​​​scores = [S.score]
avg_score = sum(scores)/length(scores)

[N1 N2 N3] = S.name

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function avg = avgscore(testscores, student, first, last)
for k = first:last
   scores(k) = testscores.(student).week(k);
end
avg = sum(scores)/(last - first + 1);

testscores.Ann_Lane.week(1:25) = ...
  [95 89 76 82 79 92 94 92 89 81 75 93 ...
   85 84 83 86 85 90 82 82 84 79 96 88 98];

avgscore(testscores, 'Ann_Lane', 7, 22)

线性代数

A = pascal(3) % 帕斯卡矩阵
C = randi(10,3,2) % 由随机整数构成的 3×2 矩形矩阵 范围1~10

z.' % z中每个元素都是复数,则是非共轭复数转置(虚部变号)

% 单位矩阵
eye(m,n) 返回 m×n 矩形单位矩阵,eye(n) 返回 n×n 单位方阵 

% 求逆矩阵
X = inv(A)

d = det(A) % det计算矩阵的行列式,正好为零时,矩阵为奇异矩阵,因此不存在逆矩阵

c = cond(A) % 计算逆运算的条件数,它指示矩阵求逆结果的精度。条件数的范围是从 1(数值稳定的矩阵)到 Inf(奇异矩阵)。

% Kronecker 张量积

% 向量范数和矩阵范数

x = b/A

表示使用 mrdivide 获得的矩阵方程 xA = b 的解。

x = A\b

表示使用 mldivide 获得的矩阵方程 Ax = b 的解。

网址

format:设置输出显示格式 - MATLAB format- MathWorks 中国

magic 幻方矩阵:幻方矩阵 - MATLAB magic- MathWorks 中国 
M = magic(n) 返回由 1 到 n^2 的整数构成并且总行数和总列数相等的 n×n 矩阵。n 的阶数必须是大于或等于 3 的标量。每列元素的总和等于每行元素的总和

帕斯卡矩阵:帕斯卡矩阵 - MATLAB pascal- MathWorks 中国

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值