这一部分放已经完成的flag记录:
4.23 明白mfc橡皮条画矩形原理
4.24 mfc中类的操作放到.h里,定义数据结构放到.cpp里,别忘记写调用头文件
4.25 VS2019安装msdn
4.26 mfc第一次作业后总结
4.27
线性规划:linprog;非线性规划:fmincon;二次矩阵:quadprog;罚函数法:fminunc;0-1规划:试探可行解再枚举剪枝;tic&toc:记录执行时间 ;rand:随机数;
灰色预测模型GM(1,1)讲解
灰色预测模型模板:
clear
syms a b;
c=[a b]';
A=[174 179 183 189 207 234 220.5 256 270 285];
B=cumsum(A);
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2;
end
D=A; D(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1); b=c(2);
F=[]; F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[]; G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1);
end
t1=1995:2004;
t2=1995:2014;
G
plot(t1,A,'o',t2,G)
4.28
不等于:~=
遗传算法模板:
clear all
options = gaoptimset('Generation',800,'StallGenLimit',300,'PlotFcns',@gaplotbestf);
[x,g]=ga(@f,1,options)
粒子群算法模板:
clc; clear all; close all;
tic; % 程序运行计时
E0 = 0.001; % 允许误差
MaxNum = 100; % 粒子最大迭代次数
narvs = 1; % 目标函数的自变量个数
particlesize = 30; % 粒子群规模
c1 = 2; % 每个粒子的个体学习因子,也称为加速常数
c2 = 2; % 每个粒子的社会学习因子,也称为加速常数
w = 0.6; % 惯性因子
vmax = 0.8; % 粒子的最大飞翔速度
x = -5+10*rand(particlesize,narvs); % 粒子所在的位置
v = 2*rand(particlesize,narvs); % 粒子的飞翔速度
fitness = inline('1/(1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2)))','x');
for i=1:particlesize
for j=1:narvs
f(i)=fitness(x(i,j));
end
end
personalbest_x = x;
personalbest_faval = f;
[globalbest_faval i]=min(personalbest_faval);
globalbest_x=personalbest_x(1,:);
k=1;
while k<= MaxNum
for i=1:particlesize
for j=1:narvs
f(i)=fitness(x(i,j));
end
if f(i)vmax
v(i,j) =vmax;
elseif v(i,j)<-vmax
v(i,j)=-vmax;
end
end
x(i,:)=x(i,:)+v(i,:);
end
if abs(globalbest_faval)
模拟退火 / 神经网络:不想研究了,具体考到再找模板吧
内联函数inline:可以不用再新建.m程序啦
Matlab求最值(极值)
4.29
今天是考前打板子专题
运输问题(产销平衡):表上作业法
指派问题:匈牙利算法
投资的收益和风险问题: 司守奎第01章第9页
整形规划求解方法: 司守奎第02章
非线性规划: 真的不知道怎么写怎么解,可以尝试一下判断是不是(司守奎第03章)
排队论: 一般模型特征(司守奎第06章)
层次分析法模板:
clc,clear
fid=fopen('txt3.txt','r'); % 这个文件里面放的是准则层和方案层的判断矩阵
n1=6;n2=3;
a=[];
for i=1:n1
tmp=str2num(fgetl(fid));
a=[a;tmp]; %读准则层判断矩阵
end
for i=1:n1
str1=char(['b',int2str(i),'=[];']);
str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
eval(str1);
for j=1:n2
tmp=str2num(fgetl(fid));
eval(str2); %读方案层的判断矩阵
end
end
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[x,y]=eig(a);
lamda=max(diag(y));
num=find(diag(y)==lamda);
w0=x(:,num)/sum(x(:,num));
cr0=(lamda-n1)/(n1-1)/ri(n1)
for i=1:n1
[x,y]=eig(eval(char(['b',int2str(i)])));
lamda=max(diag(y));
num=find(diag(y)==lamda);
w1(:,i)=x(:,num)/sum(x(:,num));
cr1(i)=(lamda-n2)/(n2-1)/ri(n2);
end
cr1, ts=w1*w0, cr=cr1*w0 % cr1:总排序权值,哪个越大越满意哪个
插值与拟合: 特征(司守奎第09章)
数据的统计描述和分析:
频数直方图
clc; clear;
load data.txt;
high=data(:,1:2:9);high=high(:);
weight=data(:,2:2:10);weight=weight(:);
[n1,x1]=hist(high)
[n2,x2]=hist(weight)
subplot(1,2,1), hist(high)
subplot(1,2,2), hist(weight)
其他统计量
下面才开始涉及概率
(司守奎第10章第5页)
方差分析: 司守奎第11章
回归分析: 司守奎第12章
微分方程建模: 司守奎第13章
求解常微分方程: 司守奎第14章
*Matlab在线性代数中的应用:
向量组的线性相关性,求解线性方程组,相似矩阵和二次型
易百教程:Matlab教程
w3cschool:Matlab教程
Matlab绘图方法整理
先解释一下最近为什么更新的速度慢了(虽然可能没什么人看我的博客吧,就当是给自己的解释吧)
因为最近在忙于准备一些杂七杂八的事,但是写代码的机会并没有减少
而是我慢慢的意识到我博客里的好多题解都没法让我用于acm比赛,就像是一种应付
所以我打算减少更新频率去多花点时间写点我想写的知识点的总结
让这个博客真的为我所用,可以让我在以后acm的比赛里更加进步的那种
至于标题为什么叫“好好学习”,因为真的想好好学习了
算法和数据结构忘了好多好多了,应该花时间去好好复习
准备一些自己想参加的比赛(虽然结果可能并不太好)落下了一些文化课,应该好好去学
而至于这一切的导火索在于今晚吃饭时看到的一篇文章
标题是什么就不说了,反正就让我觉得我应该有所特长
虽然我现在因为算法竞赛的原因可能比一些同专业的人有经验
但是我觉得我的水平还不到我想要的程度,而且程序是每一个计算机专业的人都会写的
这算不上特长,我在想我有没有那种比好多好多人都厉害的特长?
貌似除了冷门游戏打的比较好之外没有…… 所以我打算之后要精于一件事了
因为之前python java ps pr matlab Cpp html mfc等都涉猎一些 但是都不精
是很浮躁的,所以要更专一一点,专心搞一件事
不出意外的话这篇博客会置顶
原因就在于这一部分:立不倒的flag
(除非忙到连饭都没时间吃连觉都没时间睡)
每天都要学mfc进步一点(第一个目标)
每天学习一个matlab小技巧
每天至少做一道dp题 一道其他类型的题和一道USACO的题
……未完待添加