数学建模社区-数学中国
标题:
Bernstein基构建函数数据MATLAB代码
[打印本页]
作者:
建不了的模。
时间:
2015-1-20 13:50
标题:
Bernstein基构建函数数据MATLAB代码
%================Bernstein基构建函数数据(二维)==========================
" R3 `) J, d) G3 F }# E& ? x$ o9 Y
%
( | N- k" M6 M9 N: [' N
%see also
http://www.matlabsky.com
4 Q) n5 P% H7 Z. E. T6 b3 n0 m
%
# v/ ?6 d2 |) E$ T5 Y3 r4 j( c
%===得到Bernsein基的次数================
3 N5 u E9 k7 U5 m" N
clear;
, r, T/ l4 |4 H! T8 ]/ a
X=load('data.txt');
0 |6 I! @9 W% T1 M: [2 |; F
%画出原图形的
8 C5 H) O4 Q' x9 M# J
plot(X(:,1),X(:,2));
, o% J$ H1 ~* H' n) ^
title('原始数据');
0 M: V1 T' c# D
%数据参数化,将X(:,1)变换为[0,1]间数据,
! `* ~: `! X+ r3 O+ }/ Q7 }
minX=min(X(:,1));
( p. P. x$ g) H8 R" y
maxX=max(X(:,1));
, S2 Z5 ~ b2 z7 \4 ^
paraX=0;
, r4 C. P" u. W7 C( C: M; t
for i=1:length(X)
% l$ j3 @7 D. D5 E4 M- E
paraX(i)=(X(i,1)-minX)/(maxX-minX);
: j" f+ g: q2 {
end
`" q# ^+ h n! n! S8 E; l
m=input('请输入Bernsein基的次数m(即m+1阶):');
# o/ t/ g/ L. V
b=OLS(X,paraX,m);
& }7 G: L$ p" T
residu=residual(X,m,paraX,b);
1 K* U% i9 C4 c2 ?* ]' T
%循环得读取命令
2 A0 {2 h: K- y; c7 ~5 `! y; O
while 1
3 u! Y) i- v/ [6 T
fprintf(' 1.设置基的阶数并拟合\n 2.图形显示原始数据\n 3.图形显示拟合结果\n ');
b; r2 X- o. C# B
fprintf('4.图形显示残差\n 5.图形显示残差比\n 6.图形显示与平均数残差比\n ');
2 l" a0 z' T! U% x: Y; [" L1 E
fprintf('7.图形显示一阶导数\n 8.图形显示二阶导数\n ');
, V. R/ S4 U G" q+ q
fprintf('9.读取其它数据文件,默认扩展名(.txt),默认文件名(data.txt).\n 输入其它整数退出\n ');
: C, h1 b1 t; H/ S8 C8 F3 ~
cmd=input('请按照以上提示选择操作:');
* y1 Z+ h# J. r+ }7 Q4 F5 S
7 A/ O- u: F f. A4 V
switch cmd
+ M7 D \. U1 z9 k# H* h
case 1
7 [( P( m# v1 f3 _0 K u* a
1 T( H& P" q; }& G6 p; j! l' w
+ B; c) H4 ]+ Q* B3 r7 X$ I# W8 d' c
' p$ l5 }% F# {; k
作者:
宇仲
时间:
2015-1-20 14:28
楼主辛苦了,继续加油啊!
% F' y2 r \2 M- D- ]
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5