当前位置: 首页 > news >正文

Matlab 使用经验分享(常用函数介绍;矩阵常见计算)

Matlab 使用经验分享

大家好!最近有很多朋友询问我关于 Matlab 的使用,于是我决定写一篇博客来分享一下我的经验。对于数学和编程爱好者来说,Matlab 是一个非常有用的工具。我自己在数学实验和数学建模竞赛中也经常使用它。那么,为什么 Matlab 这么受欢迎呢?

Matlab 的起源

MATLAB 是美国MathWorks 公司自20 世纪 80 年代中期推出的数学软件, 优秀的数值 计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。

为什么选择 Matlab?

由于 Maltab 编程方便,有大量内部函数和工具箱可以使用,作图也十分方便,因此在 数学实验和数学建模竞赛中,我们就常使用 Matlab 作为我们的编程工具。

一些常用函数介绍

  • 三角函数
    • sin: --正弦
    • sinh: 双曲正弦
    • asin: -反正弦
    • cosh: 双曲余弦
    • acos: -反余弦
    • atanh: --反双曲正切
  • 指数函数与对数函数
    • exp: -指数
    • log: --e 为底的对数
    • log10: 常用对数
    • sqrt: --平方根
  • 与复数有关的函数
    • abs: -模或绝对值
    • angle: 幅角
    • conj: 复共轭
    • imag: 虚部
    • real: --实部
  • 舍入函数及其它数值函数
    • fix: – 向 0 舍入
    • floor: 向负无穷舍入
    • ceil: – 向正无穷舍入
    • sign(x): -符号函数
    • min(x): 向量 x 的元素的最小值
    • max(x): 向量 x 的元素的最大值
    • mean(x): 向量 x 的元素的平均值
    • median(x): 向量 x 的元素的中位数
    • std(x): 向量 x 的元素的标准差
    • diff(x): 向量 x 的相邻元素的差
    • sort(x): 对向量 x 的元素进行排序
    • length(x): 向量 x 的元素个数
    • norm(x): 向量 x 的 Euclidean 长度
    • sum(x): 向量 x 的元素总和
    • prod(x): 向量 x 的元素连乘积
    • cumsum(x): 向量 x 的累计元素总和

矩阵常见计算

矩阵输入

矩阵输入最简单的方法是把矩阵的元素直接排列在方括号中。每行内的元素间用空格或逗号隔开,行与行之间用分号隔开。例如:

A=[1,4,7;3,6,9;6,7,4]

矩阵的转置

矩阵的转置用符号´来表示。例如:

A=[1,4,7;3,6,9;6,7,4];
B=

矩阵的加减

矩阵的加减使用的是”+”和”-“运算符。进行矩阵加减运算必须是同型矩阵。例如:
A=[1,3,6;4,5,7;7,8,9];
B=[3,5,7;2,4,6;1,3,9];
C=A+B
以下是关于矩阵与标量进行加减运算的内容:
矩阵可以与一个数进行加减运算,运算法则是对应每个元素加减同一个数。例如:

Z=C-1

结果为:
Z =
3
5

矩阵乘法

矩阵乘法用符号*表示。要求前一矩阵的列数与后一矩阵的行数相同。例如:

A=[1,4,7;2,5,8];
B=[4,5,9;1,7,8;3,2,1];
C=A*B

在 Matlab 中,还可以进行矩阵与数的乘法。其规则是矩阵的每个元素与该数相乘。例如:

A=[1,5,8;2,6,9];
B=3*A

结果为:
B =
3 15 24
6 18 27

矩阵的行列式

求方阵 A 的行列式,用 det(A) 表示。例如:
A=[1,3,6;2,5,8;3,9,11];
Z=det(A)

矩阵求逆

非奇异矩阵 ( A ) 的求逆用 inv(A) 表示。例如:

A=[1,3,6;2,5,8;3,9,11];
Z=inv(A)

结果为:
Z =
-2.4286 3.0000 -0.8571
0.2857 -1.0000 0.5714

以下是关于如何验证矩阵的逆以及如何使用逆矩阵来解方程组的内容:
要验证矩阵的逆是否正确,可以计算 ( C = A \times Z )。例如:

C =1.0000 0 -0.00000 1.0000 -0.0000...

利用逆矩阵可以解方程组。例如:
AX=b
其中:
A=[1,3,6;…
以下是关于如何使用矩阵来解方程组和函数拟合的内容:
例如,给定以下方程组:

A=[1,3,6;2,5,8;3,9,11];
b=[3,6,7]';
X=inv(A)*b

结果为:
X =
4.7143
-1.1429
0.2857
或者,使用 X=A\b 也可以求解。此外,X=A\b 还可以求解矛盾方程组。

函数拟合

假设因变量 y 与自变量 x 之间存在以下关系:
y = a + b * exp(-x)
观测数据为:
| x | 0.0 | 0.3 | 0.8 | 1.1 | 1.6 | 2.3 |
| y | 0.82| 0.72| 0.63| 0.60| 0.55| 0.5 |
基于这些数据,我们可以建立矛盾方程组 AX=y,其中X=[a,b] ′
以下是关于如何使用 m 文件进行函数拟合的内容:
我们可以创建以下 m 文件来进行拟合:
t=[0.0, 0.3, 0.8, 1.1, 1.6, 2.3]‘;
y=[0.82, 0.72, 0.63, 0.60, 0.55, 0.5]’;
A=[ones(size(t)),exp(-t)];
X=inv(A’*A)*A’*y;
或者
X=A\y;
计算结果为:
X = 0.4760 0.3413
即:a=0.4760,b=0.3413。
函数拟合为:y=0.476+0.3413×e^x 。
我们可以使用图形来表示结果。
在这里插入图片描述
以下是 M 文件的内容:
M 文件如下
t=[0.0 0.3 0.8 1.1 1.6 2.3]’
y=[0.82 0.72 0.63 0.60 0.55 0.5]’
A=[ones(size(t)),exp(-t)]
x=inv(A’*A)*A’y
n=500
tt=zeros(n,1);
yy=zeros(n,1);
dt=2.3/n;
for i=1:n
tt(i)=i
dt;
yy(i)=x(1)+x(2)*exp(-tt(i));
end
plot(t,y,‘*b’,tt,yy,‘r’)
b—表示蓝色,代表原数据
r-----表示红色,代表拟合曲线

矩阵特征值

如果 A 为方阵,满足 AX=λX 的 λ 称为 A 的特征值,X 称为 A 的特征向量。计算 A 的特征值用 eig(A)表示。
例如:
A=[1 3 6; 2 5 8; 3 6 8];
Z=eig(A)
结果为:
Z =
15.2382
-1.3365
0.0982
如要同时求出特征向量,采用表达式 [X,V]=eig(A)。
结果为:
X = -0.4135 -0.6094
-0.6765
V =
15.2382
0
0

需要直接看PDF文件,直接在博主主页的资源里免费下载,因为博主写的时候可能个别的会有缺漏,需要看原文档的直接下载即可。

http://www.lryc.cn/news/147725.html

相关文章:

  • 软件工程(十七) 行为型设计模式(三)
  • 在抖音中使用语聚AI,实现自动回复用户视频评论、私信问答
  • pyqt5-快捷键QShortcut
  • 匿名函数( lambda 表达式)
  • 基于SSM的汽车维修管理系统——LW模板
  • Ceph的纠删码特性 EC(Erasure Code)代码流程
  • 盘点那些国际知名黑客(上篇)
  • 机器学习基础12-Pipeline实现自动化流程处理(基于印第安糖尿病Pima 数据集)
  • Ansible学习笔记15
  • 圆圈加数字的css
  • YOLOV5/YOLOV7/YOLOV8改进:用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
  • Docker数据管理(数据卷与数据卷容器)
  • 大量TCP连接滞留TIME_WAIT、SYN_SENT、CLOSE_WAIT状态的分析
  • kotlin怎么定义类
  • 如何查看数据集下载后保存的绝对路径?
  • 使用php实现微信登录其实并不难,可以简单地分为三步进行
  • 【LeetCode-中等题】24. 两两交换链表中的节点
  • 5.10 汇编语言:汇编过程与结构
  • 【每日一题Day304】LC1267统计参与通信的服务器 | 哈希表
  • 深度解读零信任身份安全—— 全面身份化:零信任安全的基石
  • 音视频 ffmpeg命令提取音视频数据
  • vscode 配置
  • 企业数字化管控平台及信息化治理体系建设方案(附300份方案)
  • ABB PCD231B通信输入/输出模块
  • 在springboot项目中显示Services面板的方法
  • spring之AOP简介
  • ros::init用途用法
  • 逻辑回归的含义
  • 解决Apache Tomcat “Request header is too large“ 异常 ‍
  • 腾讯音乐如何基于大模型 + OLAP 构建智能数据服务平台