数学建模社区-数学中国
标题:
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.com
2 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 F
paraX=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( |+ w
m=input('请输入Bernsein基的次数m(即m+1阶):');
# z! d$ \0 ~: @4 P
b=OLS(X,paraX,m);
; E2 x5 S' Q# N3 n0 K' X1 W8 I
residu=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