数学建模之MATLAB编程

article/2025/9/16 15:02:33

EverydayOneCat

🌈 🐱🐱🐱
🍣🍣🍣🍣🍣✖️N
🌈📖📜 🥢
🐱 🐱
「Sushi shop!」

67bbec0a531da3ff74b14c44afdc76546eb7a131

知识点

1.下载

链接:https://pan.baidu.com/s/1DbfysOOwIoSvt8HQUw0jhw
提取码:75mz

2.基本数学运算

2.1变量与数据操作

变量定义注意事项:

  • 变量名区分字母大小写
  • 变量名必须以字母开头,之后可以是任意字母、数字或下划线
  • MATLAB语言将所识别的一切变量视为局部变量,若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global.

特殊变量表:

特殊变量取值
ans用于结果的缺省变量名
pi圆周率
eps计算机的最小数
flops浮点运算数
inf无穷大 如1/0
nan不等量 如0/0
i ji=j=虚数单位
nargin函数的输入变量数目
nargout函数的输出变量数目
realmin最小的可用正实数
realmax最大的可用正实数

2.2MATLAB常用数学函数

MATLAB 提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。

1.基本数学函数:

abs(x):纯量的绝对值或向量的长度

angle(z):复数z的相角**(Phase angle) sqrt(x):开平方 real(z):复数z**的实部

imag(z):复数z的虚部

conj(z):复数z的共轭复数

round(x):四舍五入至最近整数

fix(x):无论正负,舍去小数至最近整数

floor(x):地板函数,即舍去正小数至最近整数

ceil(x):天花板函数,即加入正小数至最近整数

rat(x):将实数x化为分数表示

rats(x):将实数x化为多项分数展开

rem(x,y):求x除以y的余数

gcd(x,y):整数xy的最大公因数

lcm(x,y):整数xy的最小公倍数

exp(x):自然指数

pow2(x)2的指数

log(x):以e为底的对数,即自然对数

log2(x):以2为底的对数

log10(x):以10为底的对数

sign(x):符号函数 (Signum function).

2.三角函数:

sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数

acos(x):反余弦函数 atan(x):反正切函数

atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数

cosh(x):超越余弦函数 tanh(x):超越正切函数

asinh(x):反超越正弦函数 acosh(x):反超越余弦函数atanh(x):反超越正切函数

3.适用于向量的常用函数:

min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值

mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数

std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差

sort(x): 对向量x的元素进行排序(Sortinglength(x): 向量x的元素个数

norm(x): 向量x的欧氏长度 sum(x): 向量x的元素总和

prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和

cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量xy的内积

cross(x, y): 向量xy的外积

+++

例:随机抽取10 名学生的高等数学课程成绩,并统计他们中的最高分、最低分以及他们的平均成绩。

>> math=[88,90,77,69,92,80,74,66,95,85]; %产生10维向量
mathaver=sum(math)/10 %计算平均成绩
h=max(math) %求出最高分
l=min(math) %求出最低分

2.3MATLAB矩阵

矩阵的建立:

(1)直接输入法——A=[1 2 3;4 5 6;7 8 9]

矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔;若“[ ]”中无元素表示空矩阵.

(2)利用冒号和函数——函数linspace(a,b,n)产生第一个元素为a,最后一个元素为b总数为n的行向量

>> a=1:0.5:4 % 格式是初始值:步长:终止值
a=
Columns 1 through 7
1 1.5 2 2.5 3 3.5 4

(3)矩阵合并

>> B=[1 1 1]
B =
1 1 1
>> C=[A;B]	%分号增加行
C =
1 2 3
4 5 6
7 8 9
1 1 1
>> D=[A,B']	%逗号增加列
D =
1 2 3 1
4 5 6 1
7 8 9 1

矩阵的截取:

(1) 矩阵元素

>> A(2,3) %下标引用
ans = 6
>> A(6)	%一列一列的开始数
ans = 8

序号(Index)与下标(Subscript )是一一对应的,其相互转换关系也可利用sub2ind和ind2sub函数求得。

>> sub2ind(size(A),2,3)
ans= 8
[i,j]=ind2sub(size(A),8)
i= 2
j= 3

(2) 使用冒号

可以用冒号表示“直到”以及“所有行”,“所有列”,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下

>> B=A (1:2, : ) %逗号前面是行数,表示第一行直到第二行;逗号后面列数,表示所有列
B=
1 2 3
4 5 6
>> C=A([1,3],2:end)	%行数:第一行和第三行;列数:第二列直到最后
C =
2 3
8 9

+++

特殊矩阵:

zeros(m,n)生成一个 mn 列的零矩阵,m=n 时可简写为 zeros(n)
ones(m,n)生成一个 mn 列的元素全为 1 的矩阵, m=n 时可写为 ones(n)
eye(m,n)生成一个主对角线全为 1 的 mn 列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵
diag(X)若 X 是矩阵,则 diag(X) 为 X 的主对角线向量 若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵
tril(A)提取一个矩阵的下三角部分
triu(A)提取一个矩阵的上三角部分
rand(m,n)产生 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n)
randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵 m=n 时简写为 randn(n)

例:

分别建立3×3、3×2和与矩阵A同样大小的零矩阵。

>> zeros(3),zeros(3,2),zeros(size(A))

建立随机矩阵:
(1) 在区间[20,50]内均匀分布的5阶随机矩阵。
(2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。

>> x=20+(50-20)*rand(5)
y=0.6+sqrt(0.1)*randn(5)

3.MATLAB运算

3.1基本算术运算

MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\ (左除)、^(乘方)。

这个就是矩阵的乘法,线性代数知识:m* n的矩阵只有和n *x的矩阵才能相乘得出m *x的矩阵。(老汤别打我,我只记得这个了😥)

3.2点运算

在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。

点运算符有:
点乘: .*
点除: ./ .
点幂: .^

两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维数相同。

>> A.^2
ans =
1 4 9
16 25 36
49 64 81
符号运算符功 能类别
= =等于关系运算符
~ =不等于
<小于
>大于
<=小于等于
>=大于等于
&逻辑与逻辑运算符
|逻辑或
~逻辑非

例:

产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。

>> A=fix((90-10+1)*rand(5)+10) %生成5阶随机方阵A
P=rem(A,3)==0 %判断结果是一个布尔矩阵

fix()取整;rand生成0~1的随机方阵;rem(A,B)——A/B的余数

image-20200725153512669

建立矩阵A,然后找出大于4的元素的位置。

>> A=[4,-65,-54,0,6;56,0,67,-45,0]
find(A>4) %返回的是索引值
image-20200725153651998

3.3矩阵分析

用求逆矩阵的方法解线性方程组。备注:Ax=b其解为:x=A-1b

>> a=[2,-3,1;8,3,2;45,1,-9];
b=[4;2;17]; x=inv(a)*b

用求特征值的方法解方程:
3 x 5 − 7 x 4 + 5 x 2 + 2 x − 18 = 0 3x^5-7x^4+5x^2+2x-18=0 3x57


http://chatgpt.dhexx.cn/article/AFMqSahy.shtml

相关文章

数学建模-如何用matlab画出漂亮的图(一)

1 画图基本指令 hold on :保持打开的命令关闭图形保持功能hold off: title ( xx)命名 xlabel (xx’ ) x轴标注 ylabel (xx’ ) y轴标注 figure (x) 创建图窗 hidden on 将网格设为不透明 hidden off 将网格设为透明 legend (xx)加图例 grid on加网格线 subplot (2,2.4).显示第4…

数学建模-数学规划(Matlab)

目录 一、线性规划求解 二、非线性规划问题 三、整数规划&#xff08;包括0-1规划&#xff09; 四、最大最小化模型 五、多目标规划模型 注意&#xff1a;代码文件仅供参考&#xff0c;一定不要直接用于自己的数模论文中国赛对于论文的查重要求非常严格&#xff0c;代码雷同…

【数学建模】MATLAB

MATLAB 一、基本介绍二、矩阵运算三、编程基础四、常见函数以及其他五、二维图形绘制六、三维图形绘制七、运算符八、流程控制语句九、自定义函数十、画图进阶 一、基本介绍 MATLAB 是美国MathWorks公司出品的商业数学软件&#xff0c;用于算法开发、数据可视化、数据分析以及…

【数学建模】数学建模学习1---线性规划(例题+matlab代码实现)

1 线性规划 在人们的生产实践中&#xff0c;经常会遇到如何利用现有资源来安排生产&#xff0c;以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支—数学规划&#xff0c;而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。自从 1947 年 G. B. …

数学建模之matlab入门篇

随着美赛的推进&#xff0c;数学建模用到matlab的越来越多&#xff0c;然而对matlab不熟悉的还很多&#xff0c;在此写下matlab基础篇&#xff0c;一是帮助没有了解过matlab的同学入门&#xff0c;二是帮助自己巩固知识。 时间紧迫&#xff0c;直接开始&#xff01;此篇文章包…

数学建模-MATLAB三维作图

导出图片用无压缩tif会更清晰 帮助文档&#xff1a;doc 函数名 matlab代码导出为PDF 新建实时脚本或右键文件转换为实时脚本实时编辑器-全部运行-内嵌显示保存为PDF

数学建模专栏 | 开篇:如何备战数学建模竞赛之 MATLAB 编程

作 者 简 介 卓金武&#xff0c;MathWorks中国高级工程师&#xff0c;教育业务经理&#xff0c;在数据分析、数据挖掘、机器学习、数学建模、量化投资和优化等科学计算方面有多年工作经验&#xff0c;现主要负责MATLAB校园版业务。曾2次获全国大学生数学建模竞赛一等奖&#x…

MATLAB数学建模:常用建模函数

常用建模函数 本文将对常用于 MATLAB 建模的函数&#xff0c;如曲线拟合函数、参数估计函数、插值函数等&#xff0c;作详细介绍。 文章目录 常用建模函数1. 曲线拟合函数1.1 多项式拟合1.2 加权最小方差拟合1.3 非线性曲线拟合 2. 参数估计函数2.1 点估计2.1.1 最大似然法2.1…

【数学建模】数学建模学习2---整数规划(例题+matlab代码实现)

文章目录 1 概论1.1 定义1.2 整数规划的分类1.3 整数规划特点1.4 求解方法分类 2 分枝定界法3 0 −1型整数规划3.1 引入0 −1变量的实际问题3.1.1 投资场所的选定——相互排斥的计划3.1.2 相互排斥的约束条件3.1.3 关于固定费用的问题&#xff08;Fixed Cost Problem&#xff0…

Matlab数学建模(五):优化模型之标准模型

一、学习目标 &#xff08;1&#xff09;了解最优化模型。 &#xff08;2&#xff09;掌握线性规划的优化求解。 &#xff08;3&#xff09;掌握整数规划的优化求解。 &#xff08;4&#xff09;了解Matlab的图形化应用。 二、实例演练 1、谈谈你对最优化模型的了解。 最优…

Matlab 数学建模算法大全

Matlab 数学建模算法大全 第一章 线性规划…1 第二章 整数规划…16 第三章 非线性规划…32 第四章 动态规划…56 第五章 图与网络…68 第六章 排队论…118 第七章 对策论…154 第八章 层次分析法…167 第九章 插值与拟合…175 第十章 数据的统计描述和分析…201 第十一章 方差分…

数学建模专栏 | 第三篇:MATLAB数据建模方法(上) —常用方法

以数据为基础而建立数学模型的方法称为数据建模方法&#xff0c; 包括回归、统计、机器学习、深度学习、灰色预测、主成分分析、神经网络、时间序列分析等方法&#xff0c; 其中最常用的方法还是回归方法。 本讲主要介绍在数学建模中常用几种回归方法的 MATLAB 实现过程。 根据…

快速MATLAB学习,数学建模

文章目录 MATLAB1.简单加减乘除2.help的用法3.数据类型3.1整数3.2浮点数3.3复数3.4逻辑型3.5矩阵1 普通矩阵2转置矩阵3拉伸4逆矩阵6三维矩阵7等差矩阵8重复矩阵7全一的矩阵9结构体 4.变量的使用4.1特殊变量4.2>>iskeyword 5.矩阵的四则运算矩阵下标 6.程序结构6.1for循环…

利用MATLAB进行数学建模

一、用给定的多项式&#xff0c;如yx3-6x25x-3&#xff0c;产生一组数据(xi,yi&#xff0c;i1,2,…,n),再在yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或用rands产生N(0,1)分布随机数)&#xff0c;然后用xi和添加了随机干扰的yi作的3次多项式拟合&#xff0c;与原系数…

【数学建模】常用模型算法及MATLAB代码汇总

大家好&#xff0c;我是程序员史迪仔。 这篇文章是在大学准备数学建模比赛时&#xff0c;整理的学习笔记&#xff0c;没想到阅读量、点赞量和收藏量还是可以的&#xff0c;很高兴我的文章能给大家带来帮助&#xff01; 一、蒙特卡洛算法二、数据拟合三、数据插值四、图论1、最…

2022数学建模国赛备赛阶段性记录(1-1)

数学建模国赛培训记录&#xff0c;主要使用软件为MATLAB&#xff0c;主要内容为在数学建模竞赛中常用的操作、数学与模型以及部分练习题的解析。 一、常规操作 1、基本运算 MATLAB内四则运算相当于计算机的加减乘除&#xff0c;对应输入数字、运算符&#xff0c;回车即可得出…

Matlab与数学建模

一、学习目标。 (1)了解Matlab与数学建模竞赛的关系。 (2)掌握Matlab数学建模的第一个小实例—评估股票价值与风险。 (3)掌握Matlab数学建模的回归算法。 二、实例演练。 1、谈谈你对Matlab与数学建模竞赛的了解。 Matlab在数学建模中使用广泛:MATLAB 是公认的最优秀的数…

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用 一.预备知识 1.1.关于MATLAB软件 由于科学技术及计算机的飞速发展,各类数学软件不断涌现&#xff0c;这使在解决各类复杂的问题变得非常简单。常用的数学软件有Mathematica、MATLAB、SAS等软件。MATLAB是“Matrix Laboratory"的缩写&#xff…

数学建模——matlab基本使用

一&#xff1a;命令窗口两个常用基本命令 清除工作区&#xff1a;clear。清屏&#xff1a;clc。 二&#xff1a;变量与基本运算 圆周率表示&#xff1a;pi。lnx代码化&#xff1a;log(x)。e^x代码化&#xff1a;exp(x) x代表次数。sin(x):sin(x);cos(x):cos(x);tan(x):tan(x…

MATLAB数学建模-规划模型总结| MATLAB求解

目录 1 线性规划问题&#xff08;LP&#xff09; 风格1 风格2 2 非线性规划 3 动态规划 A星算法 基于dijkstra的概率路线图 4 多目标规划 帕累托最优 支配&#xff08;Dominace&#xff09; 不可支配解集 帕累托最优解集 帕累托最优前沿面 线性加权法 约束转化法…