input_callback.m
上传用户:jspk663
上传日期:2013-08-19
资源大小:232k
文件大小:2k
源码类别:

matlab例程

开发平台:

Matlab

  1. function input_callback()
  2. %%%%%%%%%%%%%%%%%%%%%
  3. % defaut parameters %
  4. %%%%%%%%%%%%%%%%%%%%%
  5. A=[1 0 
  6.    0 1];          %Φ(k+1,k)
  7. B=[.1 .3
  8.    .2 .2];        %Γ(k+1,k)
  9. H=[.1 2
  10.    .3 .4];        %H(k)  
  11. Q=[.2 .1
  12.    .1 .4];        %Q(k)
  13. R=[.1 .05
  14.    .05 .1];       %R(k)
  15. P0=[.1 0
  16.      0 .4];       %P(0)
  17. X0=[0 0]';        %X(0,0)
  18. %%%%%%%%%%%%%%
  19. % inpudialog %
  20. %%%%%%%%%%%%%%
  21. prompt={'Φ(k+1,k):(n×n)','Γ(k+1,k):(n×p)','H(k):(m×n)','Q(k):(p×p)','R(k):(m×m)',...
  22.         'P(0):(n×n)','X(0,0):(n×1)'};
  23. title='Input Parameters';
  24. lines=[2 2 2 2 2 2 2];
  25. def={num2str(A),num2str(B),num2str(H),num2str(Q),num2str(R),num2str(P0),...
  26.         num2str(X0)};
  27. answer=inputdlg(prompt,title,lines,def);
  28. if isempty(answer)
  29.     return
  30. end
  31. %%%%%%%%%%%%%%%%%%%
  32. % save parameters %
  33. %%%%%%%%%%%%%%%%%%%
  34. exist=0;
  35. if ~isempty(answer{1})
  36.    A=str2num(answer{1});
  37.     if exist 
  38.        save inidata A -append;
  39.     else
  40.        save inidata A;
  41.        exist=1;
  42.     end
  43. end
  44. if ~isempty(answer{2})
  45.    B=str2num(answer{2});
  46.     if exist 
  47.        save inidata B -append;
  48.     else
  49.        save inidata B;
  50.        exist=1;
  51.     end
  52. end
  53. if ~isempty(answer{3})
  54.    H=str2num(answer{3});
  55.     if exist 
  56.        save inidata H -append;
  57.     else
  58.        save inidata H;
  59.        exist=1;
  60.     end
  61. end
  62. if ~isempty(answer{4})
  63.    Q=str2num(answer{4});
  64.     if exist 
  65.        save inidata Q -append;
  66.     else
  67.        save inidata Q;
  68.        exist=1;
  69.     end
  70. end
  71. if ~isempty(answer{5})
  72.    R=str2num(answer{5});
  73.     if exist 
  74.        save inidata R -append;
  75.     else
  76.        save inidata R;
  77.        exist=1;
  78.     end
  79. end
  80. if ~isempty(answer{6})
  81.    P0=str2num(answer{6});
  82.     if exist 
  83.        save inidata P0 -append;
  84.     else
  85.        save inidata P0;
  86.        exist=1;
  87.     end
  88. end
  89. if ~isempty(answer{7})
  90.    X0=str2num(answer{7});
  91.     if exist 
  92.        save inidata X0 -append;
  93.     else
  94.        save inidata X0;
  95.        exist=1;
  96.     end
  97. end
  98. CI=findobj(gcf,'tag','compo1');
  99. set(CI,'userdata',[]);
  100. generatezk;