数学建模社区-数学中国

标题: Bernstein基构建函数数据MATLAB代码 [打印本页]

作者: 建不了的模。    时间: 2015-1-20 13:50
标题: Bernstein基构建函数数据MATLAB代码
%================Bernstein基构建函数数据(二维)==========================3 m/ l; m8 J* u8 w! K
%1 O: ~# ?) I; G1 z; d9 ^% H" H
%see also http://www.matlabsky.com/ I1 p, P" B4 O8 y1 @4 f
%
* V) N; l8 A5 I+ u$ T%===得到Bernsein基的次数================
' }/ \; L0 q4 {5 gclear;
0 T2 T8 _: X8 Y5 f, DX=load('data.txt');. [5 q% {- K/ F# Z& n8 R  N
%画出原图形的6 |8 K8 n' U1 m
plot(X(:,1),X(:,2));
( z7 e" T. _! f: r4 D! etitle('原始数据');
2 d# F5 y. f3 A, R! D5 n%数据参数化,将X(:,1)变换为[0,1]间数据,# N: m: V0 I5 H) b8 H+ P- |
minX=min(X(:,1));8 `- I7 L- {' A$ Y, }
maxX=max(X(:,1));7 |7 u$ s3 T$ e. L% [* T$ s' k
paraX=0;
+ ?& o( ]! a0 w2 T- U# }8 Cfor i=1:length(X)
/ _9 V/ K6 ^4 i; U# u    paraX(i)=(X(i,1)-minX)/(maxX-minX);" r2 v+ v- k# {$ i0 S- O7 n9 a! D! i
end
5 d* P/ C$ Z$ c4 T/ ?! `1 xm=input('请输入Bernsein基的次数m(即m+1阶):');
8 M  R3 d+ X& H' N8 ab=OLS(X,paraX,m);
+ k) M* ~6 K6 h( w) P/ y# Y0 N: aresidu=residual(X,m,paraX,b);5 n+ f6 M) G" C; x$ M
%循环得读取命令2 Y; d2 I$ G( r" ?# d7 d. ?
while 1
" ?$ G' s% T( \8 W& J    fprintf(' 1.设置基的阶数并拟合\n 2.图形显示原始数据\n 3.图形显示拟合结果\n ');/ G6 S5 p# E/ @
    fprintf('4.图形显示残差\n 5.图形显示残差比\n 6.图形显示与平均数残差比\n ');
" y7 h: a/ z; d  E& |    fprintf('7.图形显示一阶导数\n 8.图形显示二阶导数\n ');, A6 _$ `& m5 p2 C3 g7 m) F' b
    fprintf('9.读取其它数据文件,默认扩展名(.txt),默认文件名(data.txt).\n 输入其它整数退出\n ');" K  f* B6 K2 M# {. n
    cmd=input('请按照以上提示选择操作:');
$ ~+ Q+ m- h  W: q/ [" y- X$ q$ {  a* J: w( y# E
    switch cmd: c2 k* W( ]- U/ F: n* B
        case 1# }( l& f# k, ~# C

' _. a" t/ X% ?9 t# O9 M1 W6 ]7 h2 J1 H9 H- V# m: Q( D5 l  ]
1 i" s4 b! M+ [- {4 ^- F: M

作者: 宇仲    时间: 2015-1-20 14:28
楼主辛苦了,继续加油啊!
) Z6 p3 k9 j: w5 P- B' G* G




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5