MATLAB教程❤️⭐️❄️⛅️
⭐️界面认识
1.clc(清除Command Window中的内容)
2.clear all(清除Workplace中的内容)
⭐️变量命名规则
和C语言差不多,当没有明明变量时,默认会存储在ans中
⭐️矩阵的创建与运算
❄️1.矩阵的创建
⛅️直接构造
a = [1,2,3,4,5]
repmat方法
⛅️repmat(B,3,2),代表将B这个矩阵或者数组每行重复两次,一共重复三行
a=1:2:9
b=repmat(a,3,1)
结果
b =
1 3 5 7 9
1 3 5 7 9
1 3 5 7 9
⛅️ones方法
构造一个n行,m列的全为1的矩阵
a=ones(2,4)
a =
1 1 1 1
1 1 1 1
⛅️幻方
magic(n)
❄️2.矩阵的运算
⛅️两个矩阵必须要维度一样才能加减运算
即对应位置相加减
a=ones(2,4)
b=[1,2,3,4
1,2,3,4]
c=a+b
c =
2 3 4 5
2 3 4 5
⛅️当行数等于另一个矩阵的列数时才能进行相乘,但是点乘只要维度相同就能进行(点除也是)
乘法:
a=ones(2,4)
b=[1,2
3,4
1,2
3,4]
c=a*b
c =
8 12
8 12
点乘
a=ones(2,4)
b=[1,2
3,4
1,2
3,4]
c=a.*b'
c =
1 3 1 3
2 4 2 4
⛅️求矩阵的逆
b=[1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16]
c=inv(b)
-3.0065 4.7470 -0.4747 -1.2659
3.9242 -7.1206 2.4685 0.7279
1.1709 0 -3.5128 2.3419
-2.0887 2.3735 1.5191 -1.8039
❄️矩阵的下标
⛅️取元素
1.a(3,:):在matlab中,:的意思就是全部的意思,所以3,:意思就是,第三行的所有列,即第三行
2.a(:,3),同理第三列
3.x =find(a>20),以[m,n]的形式返回a矩阵中>=20的值
b=[1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,160]
find(b>=20)
ans =
16
可以用不同的形式返回值
b=[1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,160]
[m,n]=find(b>=20)
m =
4
n =
4
⭐️程序结构
❄️for循环
和C语言的for循环不同,matlab的for循环会先规定循环的次数,并且结尾要用end
sum=0
for n=1:5
sum=sum+n^2
end
sum =
0
sum =
1
sum =
5
sum =
14
sum =
30
sum =
55
❄️while循环
和for循环固定次数求循环想法,while循环以不定次数求一组语句的值
sum=0
i=1
while i<=100
sum=sum+i
i=i+1
end
sum =
5050
i =
101
二维平面绘图
普通绘图
a= 1:200 自变量取值范围
b=log(a) 因变量函数
plot(a,b) 绘制图形函数
title=('y=sin(x)') 函数图标题
xlabel('sin(x)') x轴显示
ylabel('y') y轴显示
xlim([100 150]) 将取值范围限定在此区域
加颜色绘图
x = 1:100
y1=log(x)
y2=2*x
[XX,H1,H2]=plotyy(x,y1,x,y2,'plot')
set(get(XX(1),'Ylabel'),'String','Slow Decay')
set(get(XX(2),'Ylabel'),'String','Fast Decay')
xlabel('xx')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')
数学学院培训
👴论文结构
1.摘要(总分)
2.问题重述
3.问题分析
4.模型的假设
5.符号说明
6.模型的建立与求解
7.模型的优缺点
8.模型的推广
👴数学建模常用方法
👨分类
👦有师/有监督数据
题目中有明确规定的类别,或者是已经有了明确的类别的数据成为有师数据
可以采用系统聚类,快速聚类,神经网络方法
👦无师/无监督数据
没有类别分类,数据没有确切分类方法的数据
可以采用神经网络,贝叶斯方法等
👦分类指标
距离:比如点点距离,类类距离,可以将距离“远”的数据分为1组,距离相差近的数据分为一组
👶点点距离
1.欧氏距离(类似勾股定理,就是直线距离)
2.绝对距离(不能走直线,只能一条线一条线的走)
如何确定单位
比如当遇到这种情况时
两者的数据量纲相差很大,如果直接将数据代入进行原算的话会使平均受教育年限的影响收到减小
👶点点距离分类方法
一,寻找不受量纲和数量及影响的距离公式来表示数据之间的“距离”)
1.夹角余弦公式
可以定义一个新的单位比如:类似于余弦公式cos(a,b)=ab/|a||b|
2.相关系数
绝对值越接近于1相关性就越大,可以将两者用相关系数来表示相关性,可以消除量纲和数量带来的影响
二,将数据无量纲化处理(还是用现有的公式)
1.用标准差方法对数据进行标准化
出现了商运算,即可以对数据进行标准化运算
缺点
数据范围有负数,可以进行简单的分类,但是涉及了评价的话就不合理了(比如一个同学每个课程都有学分,但是如果他本门课的得分小于平均分的话就使得其值为负数了,不但没有得到学分还扣了分)
2.极值差方法
缺点
还是评价时会出现0
3.功效系数方法
将极值差法的结果进行平移就不会出现0了
👶类类距离
比如有两个类,其中有不同的元素,可以拿两者之间距离最小的两个点点距离当作类类距离,也可以拿两者之间距离最大的点点距离当作类类距离,或者是用平均距离…等等方式
类类距离的核心依然是点点距离,也要受量纲和数量级得影响
👶类类距离分类方法
1.最长,最短,平均
2.重心法
3.离差平方和法
假设有两类1,2
算出两类合在一起的方差sst(sst表示两者一共的差异)
算出1的方差s1,2的方差s2,以及两者之和sse(sse表示1
和2分别内部的差异, 然后再用sst-sse则是1类和2类之间的差异)
4.系统聚类
从最开始选择两个距离最小的点分为一类,再选择另外一个离此类距离最近的点,然后再把该类以及这个点分为一类
优化
优化分配法
可以看到,当席位增加时,丙所分到的席位反而减小了,所以对丙来讲不公平