Matlab
本文最后更新于1 天前,其中的信息可能已经过时,如有错误请留言
>> a = pi
a = 3.1416

>> format short e
>> a
a = 3.1416e+00

>> format long e
>> a
a = 3.141592653589793e+00

>> format long
>> a
a = 3.14159265358979

>> format short
>> a
a = 3.1416, which is the default format

clc 删除command window的内容

clear all删除workplace的内容

//行向量
v = [1 2 3 4 5] % 用空格分隔元素
v = [1, 2, 3, 4, 5] % 用逗号分隔元素(效果相同)
//列向量
u = [1; 2; 3; 4; 5]  % 用分号分隔元素
u = v'  % 转置为列向量

有时会跨行显示,Columns 1 through 3:显示矩阵的第 1 到第 3 列数据,Columns 4 through 5:显示矩阵的第 4 到第 5 列数据

矩阵的加法和乘法

10/2 = 2\10(被除) = 5

>> v = [1 2 3 4 5]

v =

     1     2     3     4     5

>> w=[5;6;7;8;9]

w =

     5
     6
     7
     8
     9

>> a = v' + w

a =

     6
     8
    10
    12
    14

>> b = v' * w

b =

   115

>> c = w * v

c =

     5    10    15    20    25
     6    12    18    24    30
     7    14    21    28    35
     8    16    24    32    40
     9    18    27    36    45

定义函数

function [输出参数1, 输出参数2, ...] = 函数名(输入参数1, 输入参数2, ...)
    % 函数体:实现具体功能的代码
    % 可包含运算、逻辑判断、循环等
    输出参数1 = 计算结果;
    % ... 其他操作
举例:
function a = addtion(b,c)
a = b+c

v = [1,2,3,4,5]
w = [1;2;3;4;5]
x = addtion(v',w)

%x = [6;810;12;14]

% 注释,可以用help函数名的方式查看说明文档,自定义的函数会显示注释内容

sum函数

;是换行的意思

A = [1, 2; 3, 4];
% 按列求和:第一列 1+3=4,第二列 2+4=6 → 结果行向量 [4, 6]
S_col = sum(A, 1);  
% 按行求和:第一行 1+2=3,第二行 3+4=7 → 结果列向量 [3; 7]
S_row = sum(A, 2);  
% 对矩阵所有元素求和则嵌套一层,和下面的mean类似
sum(sum(A)) %10


%老师的例子:
v = [1,2,3,4,5]
y =sum(v,1) %[1,2,3,4,5]
y = sum(v,2) %15

:的用法 – 表示矩阵

>> v1 = 1:5          % 默认步长为1,输出 [1 2 3 4 5]
>> v2 = 1:2:10        % 步长为2,输出 [1 3 5 7 9]
>> v3 = 5:-1:1       % 递减序列,输出 [5 4 3 2 1]
>> v4 = 0:pi/4:pi    % 输出 [0, pi/4, pi/2, 3pi/4, pi]

length的用法

%返回向量的元素个数
v = [1, 2, 3, 4];  % 行向量
n = length(v);     % n = 4(4个元素)
%返回矩阵行数和列数中的最大值
A = [1 2; 3 4; 5 6];  % 3行2列矩阵
n = length(A);        % n = 3(行数3 > 列数2,取最大值)

r=[1:2:6,−1:−2:−7],

which denotes the vector

r=1 3 5 −1 −3 −5 −7,

we get:

− r(3:6)⇒ans=5 −1 −3 −5

− r(1:2:7)⇒ans=1 5 −3 −7

− r(6:−2:1)⇒ans=−5 −1 3

Size函数的用法

A = [1 2 3; 4 5 6];
sz = size(A);
% sz 结果为 [2, 3],表示 2 行 3 列

其他常用函数

sqrt(100) %10

v = [1, -2, 3];
n1 = norm(v, 1);   % 1-范数(曼哈顿范数 )向量元素绝对值之和,结果 6
n2 = norm(v);      % 2-范数(默认),结果√(1² + (-2)² + 3²)=√14≈3.7417 

mean函数的用法

%向量的平均值(一维数据 )
v = [1, 2, 3, 4, 5];
avg = mean(v);  % avg = 3((1+2+3+4+5)/5 = 3)
%矩阵的平均值(二维数据 )
dim = 1:按列计算(同默认 )。
dim = 2:按行计算,返回列向量
A = [1 2 3; 
     4 5 6];
% 按列平均:(1+4)/2=2.5, (2+5)/2=3.5, (3+6)/2=4.5 → [2.5, 3.5, 4.5]
col_avg = mean(A);  
% 按行平均:(1+2+3)/3=2, (4+5+6)/3=5 → [2; 5]
row_avg = mean(A, 2); 
%计算矩阵所有元素的均值可以通过嵌套mean函数实现
 mean(mean(A))= (2.5+3.5+4.5)/3 = 3.5

如果未指定维度(如mean([1,2,3])),MATLAB 会自动寻找第一个长度大于 1 的维度进行计算。
对于行向量[1,2,3]

如果指定的维度不存在(例如对行向量按 dim=2 求均值),则返回原数组
例如:mean([1,2,3], 2) 返回 [1,2,3]

Matrix Algebra 矩阵代数

  • A(X,Y)矩阵第X行第Y列的元素
  • A(1:4, 4):提取矩阵 A 第 4 列、行号 1 到 4 的元素,即第 4 列的前 4 行,形成一个向量

: 表示所有行(或所有列,看在哪个维度 )

end:MATLAB 关键字,代表最后一个索引(行或列的末尾 )

  • A(:, end):提取矩阵 A 的最后一列、所有行的元素,形成向量。

基础矩阵

矩阵的算术运算

矩阵点乘(Element-wise multiplication). *:将两个矩阵中对应位置的元素相乘,结果矩阵的维度保持不变。

矩阵乘法(Matrix multiplication) *:条件左列 = 右行,,,

矩阵之间没有除法,但是矩阵中的元素可以进行除法,比如A./2,即A矩阵的所有元素都除2

Identity矩阵

>> eye(2)

ans =

     1     0
     0     1

diag

v = diag(X)等价于 diag(X, 0),提取矩阵 X 的主对角线元素

for循环(非重点)

for 循环变量 = 迭代序列
    % 循环体:要重复执行的代码
end

%遍历数值区间:遍历 1 到 5,每次循环变量 i 取对应值
for i = 1:5
    disp(['当前循环变量值:', num2str(i)]);
end

%遍历向量元素

行列式、逆矩阵、秩(重点)

det(A)

inv(A)

rank(A)

adj(A):求A矩阵的伴随矩阵

特征值和特征向量(重点)

eig eigen value

解方程组(必考)

gossian jordon 高斯 – 若尔当消元法

把线性方程组的增广矩阵(或普通矩阵)转化为简化行阶梯形矩阵,有以下应用

  • 直接求解线性方程组的解(唯一解、无穷多解的通式 );
  • 计算方阵的逆矩阵(构造增广矩阵 [A | I] ,通过变换得到 [I | A⁻¹] );
  • 判断矩阵的秩(简化行阶梯形中主元的数量 )。

rref(A)- 将矩阵化作Reduced Row Echelon Form形式

一个矩阵称为简化行阶梯形矩阵,需满足四个条件:

  1. 主元为 1:每行第一个非零元素(主元)为 1
  2. 主元列唯一:每个主元列只有该主元为 1,其余元素全为 0
  3. 主元位置递增:下一行的主元必须在上一行主元的右侧;
  4. 零行在底部:所有全零行位于矩阵底部。

高斯消元法

学习笔记如有侵权,请提醒我,我会马上删除
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇