数学建模中的Matlab模板程序
2016-10-05 15:06
330 查看
一、数据拟合:多项式拟合、指定函数拟合、曲线拟合工具箱
二、线性规划
三、灰色预测
% One:多项式拟合模板 x = [1 2 3 4 5 6 7 8 9]; y = [9 7 6 3 -1 2 5 7 20]; p = polyfit(x, y, 3); xi = 0: 0.2 : 10; yi = polyval(p, xi); plot(xi, yi, x, y, 'r*'); % Two:指定函数拟合模板 % x和y对应离散点,f为自定义的拟合函数 % cfun是根据自定义的拟合函数f来拟合数据x和y syms t; x = [0; 0.4; 1.2;2;2.8;3.6; 4.4; 5.2; 6; 7.2; ... 8; 9.2; 10.4; 11.6; 12.4; 13.6; 14.4; 15]; y = [1; 0.85; 0.29; -0.27; -0.53; -0.4; -0.12; ... 0.17; 0.28; 0.15; -0.03; -0.15; -0.071; ... 0.059; 0.08; 0.032; -0.015; -0.02]; f = fittype('a*cos(k*t) * exp(w * t)', 'independent', ... 't', 'coefficients', {'a', 'k', 'w'}); cfun = fit(x, y, f) xi = 0 : 0.1 : 20; yi = cfun(xi); plot(x, y, 'r*', xi, yi, 'b-');
二、线性规划
% 线性规划模板 % 注意1:约束条件---所有不等式组要转化为<= % 注意2:目标函数---最大值的情况要转化为最小值:c变-c,结果取反 c = [170.8582; -17.7254; 41.2582; 2.2182; 131.8182; -500000]; a = [1 -0.17037 -0.5324 1 0 0; ... 0 0.17037 0.5324 0 0 0; ... 1 0.32 1 0 0 0; ... 0 1 0 0 0 0; ... 0 0 1 1 0 0; ... 0 0 0 -1 -1 0]; b = [0; 888115; 166805; 521265.625; ... 683400; -660000]; aeq = [0 0 0 0 0 1]; beq = [1]; lb = [0;0;0;0;0;0]; % x的最小值 [x,fval] = linprog(-c, a, b,aeq, beq, lb, []) % 附:参数的含义 % c为列向量,对应目标函数的系数 % a为约束条件的不等式系数的矩阵(即使x6是等式中才出现的,也要补上0) % b为约束条件的结果的列向量 % aeq为等式左边系数的矩阵 % beq为等式右边的列向量 % 求出的列向量x即为x1~xn的所有解,fval即为最值 % 附:linprog函数自己去查Matlab帮助文档…… % doc 函数名:查看函数的使用文档 % help 函数名:命令行中查看函数用法 % type 函数名:查看函数源码
三、灰色预测
% 灰色预测模板 % 只需修改A矩阵、t1和t2向量,换成自己的数据 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(1) = A(1); for i = 2:(n+10) F(i) = (A(1) - b/a) / exp(a*(i - 1)) + b /a; end G(1) = A(1); for i = 2:(n+10) G(i) = F(i) - F(i - 1); end t1 = 1995:2004; t2 = 1995:2014; G %输出预测出来的数据 a, b %输出发展系数和灰色作用量 plot(t1, A, 'rx', t2, G);
相关文章推荐
- 数学建模模拟退火法MATLAB程序参考模板
- 留学生作业代写 编程代写 有偿代写 python matlab数学建模 机器学习 深度学习 c# c++ 数学 算法 论文程序代写
- MATLAB实现构造Euler环游图的算法——数学建模
- 【数学建模集训系列】公交查询系统的matlab实现-公交站点和线路对应矩阵
- 数学建模常用Matlab/Lingo/c代码总结系列——hamilton回路
- 数学建模--常用算法及程序
- 卓金武——从数学建模到MATLAB
- 数学建模 MATLAB的取整函数
- 建模中常用的30各MATLAB程序和函数
- 数学建模常用Matlab/Lingo/c代码总结系列——非线性拟合
- 数学建模常用Matlab/Lingo/c代码总结系列——参数估计
- 2014年全国数学建模B题程序
- 【数学建模集训系列】公交查询系统的matlab实现-站点和站点之间直达矩阵
- 【数学建模集训系列】公交查询系统的matlab实现-价格计算
- 【数学建模集训系列】公交查询系统的matlab实现-加入地铁线T2
- 数学建模常用Matlab/Lingo/c代码总结系列——Matlab图形绘制函数汇总
- 【数学建模集训系列】公交查询系统的matlab实现-问题重述
- 【数学建模集训系列】公交查询系统的matlab实现-加入地铁线T1
- 【数学建模集训系列】公交查询系统的matlab实现-公交与地铁换乘
- 研究生数学建模比赛做的一些matlab脚本(2012基因那题)