码迷,mamicode.com
首页 > 其他好文 > 详细

MATLAB在数学建模中的应用

时间:2018-08-14 18:48:31      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:代码注释   规划   习题   合成   ble   efficient   gravity   nts   分享   

接下来的三周都会研读《MATLAB在数学建模中的应用》这本书,在此把敲过的课本习题代码,以及更详细的代码注释Po出。
插值与拟合
1)指定函数的拟合

 1 x1=[0 0.4 1.2 2 2.8 3.6 4.4 5.2 6 7.2 8 9.2 10.4 ...
 2     11.6 12.4 13.6 14.4 15];
 3 x=x1.;
 4 y1=[1 0.85 0.29 -0.27 -0.53 -0.4 -0.12 0.17 ...
 5     0.28 0.15 -0.03 -0.15 -0.071 0.059...
 6     0.08 0.032 -0.015 -0.032];
 7 y=y1.;
 8 plot(x,y,r*);
 9 syms t %定义一个符号t
10 f=fittype(a*cos(k*t)*exp(w*t),independent,t,coefficients,{a,k,w} );
11 %f为用户自定义的函数,independent代表T为独立变量,AKW为系数。此函数的目的为清晰定义出何为未知数,何为普通参数。
12 cfun=fit(x,y,f);
13 %fit()函数为拟合函数,给出一组测量数据+自定义的拟合函数即可拟合成一条拟合曲线
14 xi=0:0.1:20;
15 yi=cfun(xi);
16 plot(x,y,r*,xi,yi,b-);

 

技术分享图片

2)二维插值

1 [x,y]=meshgrid(1:10);%测量值构成的网络
2 h=[100个数据];
3 [xi,yi]=meshgrid(1:.1:10);%插值构成的网络
4 hi=interp2=(x,y,h,xi,yi,spline);
5 %x,y,h+interp2内部隐藏的算法=插值之后的网络三维图
6 %xi,yi为一组插值的(x,y),返回其对应的Z值
7 surf(hi);
8 xlable(x),ylable(y),zlable(h);

 

线性规划与非线性规划和整数规划
1)p23 eg2.2

 1 c=[2;3;1];
 2 a=[1 4 2;3 2 0];
 3 b=[8;6];
 4 l=[0;0;0];%zeros(3,1)
 5 [x,y]=linprog(c,-a,-b,[],[],l)
 6 x =
 7 
 8     0.8066
 9     1.7900
10     0.0166
11 
12 
13 y =
14 
15     7.0000

 

2)p23 eg2.3

 1 c=[-5;-4;-6];
 2 a=[1 -1 1;3 2 4;3 2 0];
 3 b=[20;42;30];
 4 l=[0;0;0];%zeros(3,1)
 5 [x,y]=linprog(c,a,b,[],[],l)
 6 x =
 7 
 8     0.0000
 9    15.0000
10     3.0000
11 
12 
13 y =
14 
15   -78.0000

 

3)p24 eg2.4

 1 c=[2;3;-5];
 2 a=[2 -5 1];
 3 b=-10;
 4 l=[0;0;0];%zeros(3,1)
 5 aeq=[1 1 1];%为何这是行向量
 6 beq=7;
 7 [x,y]=linprog(-c,-a,b,aeq,beq,l)
 8 
 9 
10 
11 x =
12 
13     6.4286
14     0.5714
15     0.0000
16 
17 
18 y =
19 
20   -14.5714

 

4)p24 eg2.5

 1 c=[170.858;-17.725;41.258;2.218;131.818;-500000];
 2 a=[1 -0.17 -0.532 0 1 0;
 3     0 0.17 0.532 0 0 0;
 4     1 0.32 1 0 0 0;
 5     0 1 0 0 0 0;
 6     0 0 1 1 0 0;
 7     0 0 0 -1 -1 0];
 8 b=[0;888115;166805;521265.625;683400;-660000];
 9 aeq=[0 0 0 0 0 1];
10 beq=1;
11 l=zeros(6,1);
12 [x,y]=linprog(-c,a,b,aeq,beq,l)
13 
14 
15 
16 
17 x =
18 
19    1.0e+05 *
20 
21     0.0000
22     1.7096
23     1.1210
24     5.7130
25     0.8870
26     0.0000
27 
28 
29 y =
30 
31   -1.4054e+07

 

MATLAB在数学建模中的应用

标签:代码注释   规划   习题   合成   ble   efficient   gravity   nts   分享   

原文地址:https://www.cnblogs.com/twomeng/p/9476337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!