数学建模社区-数学中国
标题:
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 g
clear;
0 T2 T8 _: X8 Y5 f, D
X=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! e
title('原始数据');
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 C
for 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 x
m=input('请输入Bernsein基的次数m(即m+1阶):');
8 M R3 d+ X& H' N8 a
b=OLS(X,paraX,m);
+ k) M* ~6 K6 h( w) P/ y# Y0 N: a
residu=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 J
1 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