数学建模社区-数学中国
标题:
Bernstein基构建函数数据MATLAB代码
[打印本页]
作者:
建不了的模。
时间:
2015-1-20 13:50
标题:
Bernstein基构建函数数据MATLAB代码
%================Bernstein基构建函数数据(二维)==========================
5 _; J4 ]* d3 f7 h; r
%
/ V3 O6 C6 G$ ]4 Y, }& t! k- @/ f
%see also
http://www.matlabsky.com
2 A, B8 V& ~# x N! d
%
. }% s* J% V9 i ?; Y
%===得到Bernsein基的次数================
8 M9 Q8 q5 @4 v p4 v
clear;
9 |" L' l) o% c# T. n! g0 t
X=load('data.txt');
( x" ]( t: a+ [4 Z; @+ h$ r
%画出原图形的
: q u' F' T8 n2 a* q. X4 J7 M
plot(X(:,1),X(:,2));
7 N H4 u' }" d* j9 h
title('原始数据');
0 r/ g) M) @* n3 v3 m$ ^, y
%数据参数化,将X(:,1)变换为[0,1]间数据,
. v4 H" [( C" U9 X% `
minX=min(X(:,1));
8 Q5 z- a. W" @
maxX=max(X(:,1));
' @( M3 S4 W7 M/ M: t$ D V2 w
paraX=0;
' s) q% a* r$ E6 x; [' d& v
for i=1:length(X)
! w. g* t5 i& j( J% K
paraX(i)=(X(i,1)-minX)/(maxX-minX);
2 Y: |7 S% R- C/ [8 F* o |
end
% Y% k% t/ F2 }8 Y
m=input('请输入Bernsein基的次数m(即m+1阶):');
: R2 L& c" d* R4 T" A( ~* d8 F+ h
b=OLS(X,paraX,m);
6 A$ ]7 z" s) T2 X0 {
residu=residual(X,m,paraX,b);
0 o4 S5 ^; a+ D6 ^7 h+ c/ n! T
%循环得读取命令
( ?) ~; n# I6 u1 P! ]; D3 k" I
while 1
! ]$ G+ T' B5 b0 P
fprintf(' 1.设置基的阶数并拟合\n 2.图形显示原始数据\n 3.图形显示拟合结果\n ');
. j% n n+ K/ N* e9 C: V1 d
fprintf('4.图形显示残差\n 5.图形显示残差比\n 6.图形显示与平均数残差比\n ');
- T/ S7 ~) J5 S/ E, {4 ^' {# Q
fprintf('7.图形显示一阶导数\n 8.图形显示二阶导数\n ');
- L% K+ f+ X5 S W* V6 k
fprintf('9.读取其它数据文件,默认扩展名(.txt),默认文件名(data.txt).\n 输入其它整数退出\n ');
( z/ X4 x( E, C& j
cmd=input('请按照以上提示选择操作:');
, I' a2 R2 v/ B) d& v. D
9 u% L2 [# q( ?9 C& f1 V( L. y x
switch cmd
1 X7 `9 b' V% }& B. C! [0 ~
case 1
7 W K _( v. J& Y4 Y
) _+ ` s# b4 \& _; ?9 \7 G
, `, T/ Z* l2 B- m. D
+ W& |, [. P8 t! ]& E+ n
作者:
宇仲
时间:
2015-1-20 14:28
楼主辛苦了,继续加油啊!
) z8 a5 G9 N! y1 t: j
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5