问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matlab基础语法:变量和数据类型,基本运算,矩阵和向量,常用函数,脚本文件

创作时间:
作者:
@小白创作中心

Matlab基础语法:变量和数据类型,基本运算,矩阵和向量,常用函数,脚本文件

引用
CSDN
1.
https://blog.csdn.net/weidl001/article/details/139759627

变量和数据类型

Matlab 支持多种数据类型,包括数值类型、字符类型和逻辑类型。掌握这些基本的变量和数据类型,是我们进行数学建模和计算的基础。

数值类型

Matlab 支持不同的数值类型,分为整数类型和浮点数类型。

  • 整数:例如
    int8
    ,
    uint8
    ,
    int16
    ,
    uint16
    ,
    int32
    ,
    uint32
    ,
    int64
    ,
    uint64
    等,不同类型的整数表示不同的数值范围和存储大小。
a = int8(127);   % 最大值为 127
b = uint8(255);  % 最大值为 255
c = int16(32767);% 最大值为 32767
  • 浮点数:例如
    single

    double
    ,默认情况下 Matlab 使用
    double
    类型存储浮点数。
x = single(3.14);  % single 精度浮点数
y = 3.14;          % double 精度浮点数(默认)
  • 复数:Matlab 可以处理复数,实部和虚部都可以是浮点数。
z = 3 + 4i;       % 实部为 3,虚部为 4
z_conj = conj(z); % 复数的共轭,结果为 3 - 4i

下表总结了基本数值类型及示例:

数据类型
示例
描述
int8
a = int8(127);
8位有符号整数,范围 -128 到 127
uint8
b = uint8(255);
8位无符号整数,范围 0 到 255
double
y = 3.14;
双精度浮点数
single
x = single(3.14);
单精度浮点数
complex
z = 3 + 4i;
复数类型

字符类型

字符数组用于存储文本信息,字符用单引号或双引号括起来。

str = 'Hello, Matlab!';
multi_line_str = ['First line' newline 'Second line'];

逻辑类型

逻辑类型用于存储布尔值,即
true

false

flag = true;         % 布尔值表示真 
isEqual = (5 == 5);  % 布尔值结果为真,比较运算

以下是不同数据类型示例:

数据类型
示例
描述
整数类型
a = int8(10);
8位有符号整数
浮点数
b = 3.14;
默认存储为 double 类型的浮点数
复数
c = 3 + 4i;
实部为 3,虚部为 4 的复数
字符类型
str = 'Matlab';
字符串或字符数组
逻辑类型
flag = true;
布尔值 true

基本运算

Matlab 支持常见的算术运算和逻辑运算,下面是一些基本操作的示例:

算术运算:

x = 10;
y = 3;
z1 = x + y;  % 加法
z2 = x - y;  % 减法
z3 = x * y;  % 乘法
z4 = x / y;  % 除法
z5 = x ^ y;  % 幂运算

逻辑运算:

a = true;
b = false;
c1 = a && b;  % 逻辑与
c2 = a || b;  % 逻辑或
c3 = ~a;      % 逻辑非

以下是算术和逻辑运算的常见操作:

操作类型
运算符
示例
说明
加法
+
z1 = x + y;
两数相加
减法
-
z2 = x - y;
两数相减
乘法
*
z3 = x * y;
两数相乘
除法
/
z4 = x / y;
两数相除
幂运算
^
z5 = x ^ 2;
x 的 y 次幂
逻辑与
&&
c1 = a && b;
和运算(逻辑与)
逻辑或
逻辑非
~
c3 = ~a;
非运算(逻辑非)

矩阵和向量

创建矩阵和向量

  • 向量由方括号
    []
    内的数值表示,例如:
row_vector = [1, 2, 3];  % 行向量
col_vector = [1; 2; 3];  % 列向量
  • 矩阵也由方括号
    []
    内的数值表示,行与行间用分号
    ;
    隔开,例如:
matrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];

访问矩阵元素

  • 通过索引访问矩阵的元素,索引从1开始。例如,访问 A 的第2行第3列元素:
A = [1, 2, 3; 4, 5, 6; 7, 8, 9];
element = A(2, 3);  % 结果为 6

矩阵运算

  • 矩阵加减法
B = A + A;  % 矩阵相加
C = A - A;  % 矩阵相减
  • 矩阵乘法
D = A * A';  % 矩阵乘以其转置
  • 矩阵转置
AT = A';  % 矩阵转置
  • 矩阵求逆
invA = inv([1, 2; 3, 4]);  % 矩阵求逆

以下是矩阵运算的常见操作:

操作
示例
说明
创建矩阵
A = [1, 2; 3, 4];
创建2×2矩阵
访问元素
A(1, 2)
访问第1行第2列的元素
矩阵转置
A'
转置矩阵
矩阵乘法
B = A * A';
矩阵相乘
矩阵求逆
inv([1, 2; 3, 4])
矩阵求逆

另外,这里介绍一些创建特殊矩阵的函数:

  • 全零矩阵和全一矩阵
Z = zeros(3, 3);  % 创建 3×3 全零矩阵
O = ones(2, 4);   % 创建 2×4 全一矩阵
  • 单位矩阵
I = eye(3);  % 创建 3×3 单位矩阵
  • 随机矩阵
R = rand(4);  % 创建 4×4 区间为 (0, 1) 的随机矩阵
Rn = randn(3); % 创建 3×3 服从标准正态分布的随机矩阵

常用函数

Matlab 提供了丰富的内置函数,以下是一些常用的数学函数、统计函数以及数组和矩阵操作函数。这些函数是我们进行各种计算和数据处理的基础工具。

数学函数

Matlab 提供了一系列数学函数用于基本的数学计算,包括三角函数、指数函数、对数函数等等。

sin_val = sin(pi/4);  % 计算 π/4 的正弦值
cos_val = cos(pi/4);  % 计算 π/4 的余弦值
exp_val = exp(1);     % 计算自然指数 e 的值
log_val = log(10);    % 计算自然对数
abs_val = abs(-10);   % 求绝对值
sqrt_val = sqrt(16);  % 计算平方根

统计函数

这些函数用于基本的统计计算,例如求和、取平均值、计算标准差等等。

data = [1, 2, 3, 4, 5];
sum_val = sum(data);        % 计算数组元素的和
mean_val = mean(data);      % 计算数组元素的平均值
std_val = std(data);        % 计算数组元素的标准差
median_val = median(data);  % 计算中位数
max_val = max(data);        % 计算数组的最大值
min_val = min(data);        % 计算数组的最小值

数组和矩阵操作函数

Matlab 提供了许多函数用于数组和矩阵的操作,包括大小改变、拼接等。

data = [1, 2, 3; 4, 5, 6];   % 创建一个2×3的矩阵
size_data = size(data);      % 获取矩阵的尺寸,返回 [2, 3]
reshape_data = reshape(data, 3, 2); % 将矩阵变为 3×2
% 矩阵拼接
A = [1, 2; 3, 4];
B = [5, 6; 7, 8];
C = [A, B];  % 水平拼接,结果为 [1, 2, 5, 6; 3, 4, 7, 8]
D = [A; B];  % 垂直拼接,结果为 [1, 2; 3, 4; 5, 6; 7, 8]

以下是常用函数的总结:

类型
函数
示例
说明
三角函数
sin
sin_val = sin(pi/4);
计算角度的正弦值
指数函数
exp
exp_val = exp(1);
计算自然指数
对数函数
log
log_val = log(10);
计算自然对数
绝对值
abs
abs_val = abs(-10);
求绝对值
平方根
sqrt
sqrt_val = sqrt(16);
计算平方根
求和
sum
sum_val = sum(data);
计算数组元素之和
平均值
mean
mean_val = mean(data);
计算数组均值
标准差
std
std_val = std(data);
计算标准差
中位数
median
median_val = median(data);
计算中位数
最大值
max
max_val = max(data);
计算数组最大值
最小值
min
min_val = min(data);
计算数组最小值
尺寸
size
size_data = size(data);
获取矩阵尺寸
重塑
reshape
reshape_data = reshape(data, 3, 2);
改变矩阵维度
拼接
cat
[C; D]
矩阵拼接

脚本文件

脚本文件是一个包含了 Matlab 代码的文件,可以保存和复用。下面我们讲解脚本文件的基本操作和编写方法。

编写和运行程序

  • 在 Matlab 编辑器中,编写 Matlab 代码,并保存为
    .m
    文件,例如
    example.m

  • 在命令窗口中,通过输入文件名来运行脚本:

example;  % 运行 example.m

添加注释

  • 使用
    %
    添加单行注释:
% 这是一个单行注释
x = 10;  % 给变量 x 赋值
  • 使用
    %%
    分割代码块,并添加块注释:
%% 初始化部分
a = 5;
b = 10;

%% 计算部分
c = a + b;
disp(['c 的值为: ', num2str(c)]);

保存和加载脚本文件

  • 保存脚本文件可以直接点击编辑器中的保存按钮,或使用快捷键
    Ctrl+S(在Windows和Linux上)

    Command+S(在Mac上)

  • 加载已保存的脚本文件,通过在命令窗口中输入文件名即可。

下面是一个完整的脚本文件示例
my_script.m

% my_script.m
% 这是一个简单的 Matlab 脚本文件
% 初始化部分
a = 5;
b = 10;
% 计算和
c = a + b;
% 显示结果
disp(['c 的值为: ', num2str(c)]);

运行
my_script.m
将会显示结果:

c 的值为: 15

通过脚本文件,我们可以将常用的 Matlab 代码组织起来,方便重复使用和共享。

总结

本篇文章详细介绍了 Matlab 的变量和数据类型,基本运算,矩阵和向量操作,常用函数以及脚本文件编写和运行。这些基础知识为后续的深入学习打下了坚实的基础。通过掌握这些基本操作,您将能够更轻松地处理复杂的数学计算和建模任务。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号