数学建模社区-数学中国

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

作者: 建不了的模。    时间: 2015-1-20 13:50
标题: Bernstein基构建函数数据MATLAB代码
%================Bernstein基构建函数数据(二维)==========================
1 t) u3 l; X3 d  Q2 ]  \%
" |: g- {2 O& d% w4 h5 q# m& n%see also http://www.matlabsky.com2 S; I2 B4 Q2 E1 p
%
5 l) ~1 t% g/ V- ?6 Y8 ^4 M! \+ q) c%===得到Bernsein基的次数================6 @- O) @) p) E! c% Y/ E
clear;' L. h5 T+ @" F! X& g6 h5 I
X=load('data.txt');
- g  _* j8 Q$ t7 Z7 s- x. r%画出原图形的/ w7 i" n$ u5 z# P
plot(X(:,1),X(:,2));, D1 h' a  w# U6 z
title('原始数据');
5 \& a5 `. P0 ]  H; O8 T8 E3 _& j%数据参数化,将X(:,1)变换为[0,1]间数据,3 k8 \$ k+ k7 N4 C* }: d
minX=min(X(:,1));8 R  s9 m8 Y7 N+ O, V( Q' f
maxX=max(X(:,1));
* I& E: V, l, p1 FparaX=0;; \# u' X* m  c
for i=1:length(X)4 F8 P2 x$ ?/ J
    paraX(i)=(X(i,1)-minX)/(maxX-minX);5 V2 _% f2 @3 F$ {! j( g- J
end
$ ^" V2 t2 Y) ^  v( |+ wm=input('请输入Bernsein基的次数m(即m+1阶):');
# z! d$ \0 ~: @4 Pb=OLS(X,paraX,m);
; E2 x5 S' Q# N3 n0 K' X1 W8 Iresidu=residual(X,m,paraX,b);
& ^0 ^0 J7 J/ ?4 u7 l6 V%循环得读取命令" U+ b, i6 u) V2 C: V6 @
while 1/ J/ o, a3 ~6 I: ?5 i; A
    fprintf(' 1.设置基的阶数并拟合\n 2.图形显示原始数据\n 3.图形显示拟合结果\n ');6 d: g# p/ L! C" {, ^
    fprintf('4.图形显示残差\n 5.图形显示残差比\n 6.图形显示与平均数残差比\n ');
* k0 S, f6 J" @* K8 v7 p    fprintf('7.图形显示一阶导数\n 8.图形显示二阶导数\n ');
. }. d! o% Q' z7 `    fprintf('9.读取其它数据文件,默认扩展名(.txt),默认文件名(data.txt).\n 输入其它整数退出\n ');! \" ^: A* R! B/ w, X* @+ s$ h- w
    cmd=input('请按照以上提示选择操作:');1 [6 |2 p- |! q7 W# |( v. ]

* W: T+ X1 m( U0 u1 j3 [  i    switch cmd+ B0 l! h6 S# v: T( n4 O! ^$ O
        case 1+ K- D( R" j% k& L3 |! C0 y& p

' I% P+ O) u# z
+ m# a% H9 _1 }8 b! g* h, }* k: C: [  `3 W- ~! `) y0 s  I( Z7 e) F

作者: 宇仲    时间: 2015-1-20 14:28
楼主辛苦了,继续加油啊!
3 F. T2 ~9 ^6 }/ `$ L0 E: C




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