数学建模社区-数学中国

标题: 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.com2 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 tX=load('data.txt');( x" ]( t: a+ [4 Z; @+ h$ r
%画出原图形的
: q  u' F' T8 n2 a* q. X4 J7 Mplot(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 Ym=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" Iwhile 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 cmd1 X7 `9 b' V% }& B. C! [0 ~
        case 17 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