²é¿´: 2564  |  »Ø¸´: 12

ÑÇstar

гæ (СÓÐÃûÆø)

[ÇóÖú] ÇóÖú¸ßÊÖ½«ÒÔÏÂCÓïÑÔ·­ÒëΪMatlabÓïÑÔ£¬¼±¼±¼±£¡

#include  
#include  
#include  
#include  
#include  
#include  
#include  
#define   Fit_name     "fit.ga"
#define   Indiv_name   "ind.ga"
#define   Result_name  "out.ga"
#define   Test_name    "test.ga"
#define   Cont_name    "ctr.ga"
#define   Mv_name      "m_v.ga"
#define   Amv_name     "am_v.ga"
#define   _in_varl     2
#define   _out_varl    1
#define   _rule        4
#define   _pi          3.1415926
#define   _order       1
#define   _time1        250
#define   _popsize    50
#define   _maxgen     500   // max generation
#define   _number   2       // for tournament selection
float   _pmutation = 0.1 ;   // initial mutation probability
float   _pcrossover= 0.4 ;
const int _lchrom =  _rule*(2*_in_varl+ (_in_varl+1)*_out_varl) ;
class  Data
{
   public  :
   float   in[_in_varl+1],out[_out_varl+1], ym[_order+1],yp[_order+1] ;
   float   scale_in[_in_varl+1] ,scale_out[_out_varl+1];
   Data()  ;
   void    input(int) ;
   void    output(float *,float *) ;
   void    init(void);
   void    Save() ;
} ;
Data :: Data()
{
     int i ;
   for(i=0;i<_order;i++)
   {  yp = 2 ;
   }
   for(i=0;i<_in_varl;i++)
     scale_in = 4.2 ;
   for(i=0;i<_out_varl;i++)
     scale_out = 4.2 ;
}
class Rule
{
friend void  Eva_out(float *,Data ,int,Rule *) ;
float in_mu,f[_out_varl+1] ;
public :
void    In_mem(Data,int,int) ;
} ;
class  Population
{
   friend class  Rule ;
   friend void  generation(int,int *) ;
   friend void  Crossover(int,int,int) ;
   friend void  report(float,float,float,char *) ;
   friend void  Eva_out(float *,Data ,int,Rule *) ;
   friend void  Save(int) ;
   float   chrom[_lchrom+1], sum_fitness, in_mu, x  ;
   int     checked ;
   public :
   float   fitness ;
   Population() {sum_fitness = 0 ; }
   void    clear() ;
   void    initpop(void) ;
   void    Save_m_v(FILE *ft) ;
   void    objfunc(float) ;   
}  ;
inline float phi(float x,float mm,float v)
{ return(  exp( - (x-mm)*(x-mm)/(v*v) )) ; }
inline float max(float a , float b)
{ return ( ( a>b) ? a :b); }
template
Type mutation(Type ge,int j)
{
int i,n,m ;
  n = 2*_in_varl+_out_varl ;
  m = _rule*n ;
if (flip(_pmutation))
{
   if (j<=m)
   {
       i = j%n ;
           if (( i == 0 ) || (i > 2*_in_varl) ) ge  =   (rand()%(4000)-2000)/1300.0 ;    // consequent parameter a0
       else if ( i%2 == 1 )  ge =  (rand()%(200) - 100)/100.0 ;  // mean value
       else  ge =  0.05+ (rand()%700)/1000.0 ;   // width
   }
   else ge =  (rand()%(4000)-2000)/1300.0 ; // TSK-type consequence a1 -- an
_nmutation = _nmutation + 1 ;
}
return ge ;
}
int   select(int) ;
void  initialize(void) ;
void  statistics(float *,float *,float *, float, int) ;
void  generation(int, int *) ;
void  report(float,float,float,char *) ;
float Eva_Fitness(int,int) ;
Population   _oldpop[_popsize+1],_newpop[_popsize+1]  ;
int     _nmutation=0,_nncross=0 ;
float   _sumfitness, _avg,_max,_min  ;
int main(void)
{
int   max  ,gen ;
void Save(int) ;
time_t tt;
srand((unsigned) time(&tt));
initialize() ;
for(gen=1; gen < _maxgen;gen++)
{
  cout << "\n Generation is --- " << gen ;
  generation(gen,&max) ;
}
  cout << "\n *******  The  End ****** " ;
  Save(max) ;
  return(0);
}
void initialize()
{
  int j ;
  Data  train;
  float fmax_fit=-1E7, fmin_fit=1E7, ave_fit=0 ,fit ;
  FILE *fm ;
cout << "\n Initial generation   " << endl ;
  for(j=1;j<=_popsize;j++)
  {   _newpop[j].initpop();
      _newpop[j].clear() ;
  }
  for(j=1;j<=_popsize;j++)
  {
      fit =  Eva_Fitness(j,0) ;
      statistics(&fmax_fit,&fmin_fit,&ave_fit,fit,j) ;
     _newpop[j].objfunc(fit) ;
  }
  if( (fm=fopen(Mv_name,"w")==NULL) exit(1) ;
  for(j=1;j<=_popsize;j++)
    _newpop[j].Save_m_v(fm) ;
  fclose(fm) ;
  report(fmax_fit,fmin_fit,ave_fit,Fit_name) ;
  for(j=1;j<=_popsize;j++)
   {  _oldpop[j] = _newpop[j] ;
    }
}
float Eva_Fitness(int jj,int gen)
{
  int k ;
  float act_out[_out_varl+1], error, fit=0 ;
  Data t ;
  Rule  rules[_rule+1] ;
for(k=1;k<=_time1;k++)
{
    t.input(k) ;
    Eva_out(act_out,t,jj,rules) ;
    t.output(&error,act_out) ;
    fit = fit + error ;
}
    return  1./fit ;
}
void  Data::input(int k)
{
ym[_order] = sin(2*_pi*k/100);
in[0] = ym[_order]/scale_in[0] ;
in[1] = yp[_order]/scale_in[1] ;
}
void  Data:utput(float *err,float *u)
{
int i ;
yp[_order]  = yp[_order-1]/(1+yp[_order-1]*yp[_order-1])+u[0]*u[0]*u[0];
*err = (yp[_order] - ym[_order])*(yp[_order] - ym[_order]) ;
   for(i=1;i <=_order; i++)
{  yp[i-1] = yp ;
}
}
void Data::init()
{
int i ;
   for(i=0;i<_order;i++)
     yp = -2 ;
        
}
void Eva_out(float *y,Data t,int jj,Rule *rules)
{
  int i,j,k,n,mm,nn,kk ;
  float *den , *num ;
   mm = 2*_in_varl+_out_varl ;
   nn = _rule*mm ;
   kk = nn + _rule*_rule ;
  if ( !( num = new float[_rule+1] ) ||
       !( den = new float[_rule+1] ) )
  {  cout << "\n Insufficient memory for num " ;
     exit(1) ;
  }
  for(k=1;k<=_rule;k++)
     rules[k].In_mem(t,jj,k) ;  // firing strength
  for(j=0;j< _out_varl;j++)
  {
      for(n=1;n<=_rule;n++)
     {        rules[n].f[j] = _newpop[jj].chrom[(n-1)*mm+2*_in_varl+1] ;
          for(i=1;i<=_in_varl;i++)
           rules[n].f[j] += _newpop[jj].chrom[nn+(_in_varl)*(n-1)+i]*t.in[i-1] ; //consequence value
     }
      den[j] = 0 ;
      num[j] = 0 ;
    for(n=1;n<= _rule;n++)
     {  den[j] = den[j] +  rules[n].in_mu ;
        num[j] = num[j] +   rules[n].in_mu * rules[n].f[j] ;
     }
    if ( fabs(den[j]) < 1E-10 )
      *(y+j) = 0 ;
    else
      *(y+j) = num[j]/den[j] ;  //defuzzify  
  }
  delete [] den ;
  delete [] num ;
}
void Population::clear()
{
   fitness = 0 ;
   checked = 0 ;
}
void Rule::In_mem(Data x,int jj,int k)
{
  int i,n ;
in_mu =  1. ;
n = 2*_in_varl+_out_varl ;
for(i=1;i<= _in_varl;i++)
  in_mu = in_mu *
  phi(x.in[i-1],_newpop[jj].chrom[(k-1)*n+2*i-1],
                _newpop[jj].chrom[(k-1)*n+2*i]) ;
}
void Population :: initpop()
{
int i,j1,n,m,j ;
n = 2*_in_varl+_out_varl ;
m = _rule*n ;
for(i=0;i<_rule;i++)
{  for(j1=1;j1<=_in_varl;j1++)
   {  chrom[i*n+2*j1-1] = (rand()%200 -100 )/100.;   // center
      chrom[i*n+2*j1] =  0.05 + (rand()%700)/1000.0 ;  //width
   }
   for(j=1;j<=_out_varl;j++)
    chrom[i*n+2*_in_varl+j] = (rand()%(4000)-2000)/1200. ;    // consequence
}
   for(j1=1;j1<=_rule;j1++)
     for(i=1;i<=_in_varl;i++)
        chrom[m+(j1-1)*(_in_varl) + i ] =  (rand()%(8000)-4000)/2600.  ;  // TSK linear parameter
}
void Population :: objfunc(float fit)
{
  fitness = fit ;
}
void   statistics(float *max_fit,float *min_fit,float *ave_fit,float fit,int j)
{
if ( fit > *max_fit )  { *max_fit = fit ;  }
if ( fit < *min_fit ) { *min_fit = fit ; }
*ave_fit = *ave_fit + (1.0/(j+1))*(fit - *ave_fit)  ;
int flip(float prob)
{
int i,j ;
i = rand()%(10001) ;
if ( i  < 10000*prob )
j = 1 ;
else
j = 0 ;
return j ;
}
void generation(int _gen,int *max)
{       
int   i,mate1,mate2;
float  max_f=-1E8;
float  fmax_fit=-1E8,fmin_fit=1E8  ;
float  fit,ave_fit=0 ;
  for(i=1;i<=_popsize;i++)
  { if ( _oldpop.fitness >  max_f )
        {    max_f =  _oldpop.fitness   ;
             *max = i ;
          }  // end if
   } // end for i
for(i=1;i<= _popsize/2;i++)
{
mate1 = select(_popsize) ;
mate2 = select(_popsize) ;
Crossover(i,mate1,mate2) ;
}
     _newpop[ *max] = _oldpop[*max] ;
  for(i=1;i<=_popsize;i++)
  {
   _newpop.clear() ;
  }
  for(i=1;i<=_popsize;i++)
  {
      fit =  Eva_Fitness(i,_gen) ;
      statistics(&fmax_fit,&fmin_fit,&ave_fit,fit,i) ;
     _newpop.objfunc(fit) ;
  }
  report(fmax_fit,fmin_fit,ave_fit,Fit_name) ;
  for(i=1;i<=_popsize;i++)
     _oldpop = _newpop ;
}
void  Crossover(int i,int mate1,int mate2)
{
int j,jcross ;
if (flip(_pcrossover))
{  jcross = rand()%(_lchrom-1) +1 ;
for(j=1;j<=jcross;j++)
{
_newpop[ _popsize - 2*(i-1) ].chrom[j]
     = mutation( _oldpop[mate1].chrom[j],j);
_newpop[ _popsize - 2*(i-1) - 1 ].chrom[j]
     = mutation( _oldpop[mate2].chrom[j],j);
}
for (j=jcross+1;j<=_lchrom;j++)
{
_newpop[ _popsize - 2*(i-1) ].chrom[j]
     = mutation( _oldpop[mate2].chrom[j],j);
_newpop[ _popsize - 2*(i-1) - 1 ].chrom[j]
      = mutation( _oldpop[mate1].chrom[j],j);
}
}
else
{
for(j=1;j<=_lchrom;j++)
{
_newpop[ _popsize - 2*(i-1) ].chrom[j]
     =  _oldpop[mate1].chrom[j] ;
_newpop[ _popsize - 2*(i-1) - 1 ].chrom[j]
     =  _oldpop[mate2].chrom[j];
}
}
}
int select(int range)
{
int ran[_number+1] ;
float max_value ;
int max,j=0 ;
for(j=1;j<=_number;j++)
   ran[j] = rand()%(range) + 1  ;
  max = ran[1] ;
  max_value = _oldpop[ran[1]].fitness ;
  for(j=2;j<=_number;j++)
  {
     if ( _oldpop[ran[j]].fitness >  max_value )
       { max = ran[j] ;
         max_value =  _oldpop[ran[j]].fitness ;
        }
  }
  return max ;
}
void   report(float max_fit,float min_fit,float ave_fit,char *p)
{
static int i= 0 ;
FILE *fm ;
  i++  ;
cout << "\n max --- " << max_fit <<
        " , min --- " << min_fit << " , avg -- " << ave_fit ;
cout << "  Nmutation " << _nmutation  ;
if (i==2) { _nmutation = 0 ; i = 0 ; }
   if( (fm=fopen(p,"a")==NULL) exit(1) ;
       fprintf(fm,"%f  %f  %f" ,max_fit,min_fit,ave_fit) ;
  fprintf(fm,"\n" ;
fclose(fm);
}
void Save(int max)
{
long int k ;
FILE *fm ;
float act_out[_out_varl+1],error ;
Data t ;
Rule  rules[_rule+1] ;
void Save_Con(float *);
  if( (fm=fopen(Amv_name,"w")==NULL) exit(1) ;
     _newpop[max].Save_m_v(fm) ;
  fclose(fm) ;
for(k=1;k<=_time1;k++)
{
    t.input(k) ;
    Eva_out(act_out,t,max,rules) ;
    t.output(&error,act_out) ;
    Save_Con(act_out);
    t.Save();
}
}
void Save_Con(float *u)
{
     FILE *fout ;
if( (fout=fopen(Cont_name,"a")==NULL) exit(1) ;
  fprintf(fout,"%f \n", u[0] ) ;
   fclose(fout) ;
}
void Data::Save()
{
   FILE *fout ;
if( (fout=fopen(Result_name,"a")==NULL) exit(1) ;
  fprintf(fout,"%f %f \n", yp[_order],ym[_order] ) ;
   fclose(fout) ;
}
void Population::Save_m_v(FILE  *ft)
{
  int k ;
  for(k=1;k<=_lchrom;k++)
       fprintf(ft," %f", chrom[k] ) ;
  fprintf(ft,"\n" ;
}
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wu20811055

Í­³æ (Ö°Òµ×÷¼Ò)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
²»ºÃÒ룻µ«¿ÉÒÔÔÚmatlabÖе÷ÓþÍÐÐÁË£¬£¨¾ßÌåµ÷ÓÃÈ¥ÍøÉÏÕÒ£¬Ò»´ó¶Ñ£©ÒòΪµ¥¶À´Ó³ÌÐòÉÏÀ´Ëµ£¬¼òµ¥×ª»¯ÊÇ¿ÉÒԵ쬵«ÊÇÄãµÄ³ÌÐòÀïÃæÓÖµ÷ÓÃÁ˲»Éٿ⺯Êý£¬ÔÚmatlabÖжÔÓ¦ÆðÀ´Ï൱À§ÄÑ£¬Èç¹ûûÓÐÍ·ÎļþʲôµÄ£¬×ª»»µ¹²»ÊÇÎÊÌ⣬¡£¡£¡£
Ï£Íû´ÓÕâÀïÌÚ·É
2Â¥2012-06-07 18:07:40
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ÕâÊÇÒÅ´«Ëã·¨°É,matlabÓÐÏֳɵÄ
CODE:
>> help ga
GA    Constrained optimization using genetic algorithm.
    GA attempts to solve problems of the form:
        min F(X)  subject to:  A*X  <= B, Aeq*X  = Beq (linear constraints)
         X                     C(X) <= 0, Ceq(X) = 0 (nonlinear constraints)
                               LB <= X <= ub

    X = GA(FITNESSFCN,NVARS) finds a local unconstrained minimum X to the
    FITNESSFCN using GA. NVARS is the dimension (number of design
    variables) of the FITNESSFCN. FITNESSFCN accepts a vector X of size
    1-by-NVARS, and returns a scalar evaluated at X.

    X = GA(FITNESSFCN,NVARS,A,b) finds a local minimum X to the function
    FITNESSFCN, subject to the linear inequalities A*X <= B. Linear
    constraints are not satisfied when the PopulationType option is set to
    'bitString' or 'custom'. See the documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq) finds a local minimum X to the
    function FITNESSFCN, subject to the linear equalities Aeq*X = beq as
    well as A*X <= B. (Set A=[] and B=[] if no inequalities exist.) Linear
    constraints are not satisfied when the PopulationType option is set to
    'bitString' or 'custom'. See the documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub) defines a set of lower and
    upper bounds on the design variables, X, so that a solution is found in
    the range lb <= X <= ub. Use empty matrices for lb and ub if no bounds
    exist. Set lb(i) = -Inf if X(i) is unbounded below;  set ub(i) = Inf if
    X(i) is unbounded above. Linear constraints are not satisfied when the
    PopulationType option is set to 'bitString' or 'custom'. See the
    documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON) subjects the
    minimization to the constraints defined in NONLCON. The function
    NONLCON accepts X and returns the vectors C and Ceq, representing the
    nonlinear inequalities and equalities respectively. GA minimizes
    FITNESSFCN such that C(X)<=0 and Ceq(X)=0. (Set lb=[] and/or ub=[] if
    no bounds exist.) Nonlinear constraints are not satisfied when the
    PopulationType option is set to 'bitString' or 'custom'. See the
    documentation for details.

    X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options) minimizes
    with the default optimization parameters replaced by values in the
    structure OPTIONS. OPTIONS can be created with the GAOPTIMSET function.
    See GAOPTIMSET for details.

    X = GA(PROBLEM) finds the minimum for PROBLEM. PROBLEM is a structure
    that has the following fields:
        fitnessfcn:
             nvars:
             Aineq:
             bineq:
               Aeq:
               beq:
                lb:
                ub:
           nonlcon:
           options:
          rngstate:

    [X,FVAL] = GA(FITNESSFCN, ...) returns FVAL, the value of the fitness
    function FITNESSFCN at the solution X.

    [X,FVAL,EXITFLAG] = GA(FITNESSFCN, ...) returns EXITFLAG which
    describes the exit condition of GA. Possible values of EXITFLAG and the
    corresponding exit conditions are

      1 Average change in value of the fitness function over
         options.StallGenLimit generations less than options.TolFun and
         constraint violation less than options.TolCon.
      3 The value of the fitness function did not change in
         options.StallGenLimit generations and constraint violation less
         than options.TolCon.
      4 Magnitude of step smaller than machine precision and constraint
         violation less than options.TolCon. This exit condition applies
         only to nonlinear constraints.
      5 Fitness limit reached and constraint violation less than
         options.TolCon.
      0 Maximum number of generations exceeded.
     -1 Optimization terminated by the output or plot function.
     -2 No feasible point found.
     -4 Stall time limit exceeded.
     -5 Time limit exceeded.

    [X,FVAL,EXITFLAG,OUTPUT] = GA(FITNESSFCN, ...) returns a
    structure OUTPUT with the following information:
              rngstate:
           generations:
             funccount:
         maxconstraint: , if any
               message:

    [X,FVAL,EXITFLAG,OUTPUT,POPULATION] = GA(FITNESSFCN, ...) returns the
    final POPULATION at termination.

    [X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] = GA(FITNESSFCN, ...) returns
    the SCORES of the final POPULATION.


    Example:
      Unconstrained minimization of 'rastriginsfcn' fitness function of
      numberOfVariables = 2
       x = ga(@rastriginsfcn,2)

      Display plotting functions while GA minimizes
       options = gaoptimset('PlotFcns',...
         {@gaplotbestf,@gaplotbestindiv,@gaplotexpectation,@gaplotstopping});
       [x,fval,exitflag,output] = ga(@rastriginsfcn,2,[],[],[],[],[],[],[],options)

    An example with inequality constraints and lower bounds
     A = [1 1; -1 2; 2 1];  b = [2; 2; 3];  lb = zeros(2,1);
     % Use mutation function which can handle constraints
     options = gaoptimset('MutationFcn',@mutationadaptfeasible);
     [x,fval,exitflag] = ga(@lincontest6,2,A,b,[],[],lb,[],[],options);

      FITNESSFCN can also be an anonymous function:
         x = ga(@(x) 3*sin(x(1))+exp(x(2)),2)

    If FITNESSFCN or NONLCON are parameterized, you can use anonymous
    functions to capture the problem-dependent parameters. Suppose you want
    to minimize the fitness given in the function myfit, subject to the
    nonlinear constraint myconstr, where these two functions are
    parameterized by their second argument a1 and a2, respectively. Here
    myfit and myconstr are M-file functions such as

         function f = myfit(x,a1)
         f = exp(x(1))*(4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + a1);

    and

         function [c,ceq] = myconstr(x,a2)
         c = [1.5 + x(1)*x(2) - x(1) - x(2);
               -x(1)*x(2) - a2];
         % No nonlinear equality constraints:
          ceq = [];

    To optimize for specific values of a1 and a2, first assign the values
    to these two parameters. Then create two one-argument anonymous
    functions that capture the values of a1 and a2, and call myfit and
    myconstr with two arguments. Finally, pass these anonymous functions to
    GA:

      a1 = 1; a2 = 10; % define parameters first
      % Mutation function for constrained minimization
      options = gaoptimset('MutationFcn',@mutationadaptfeasible);
      x = ga(@(x)myfit(x,a1),2,[],[],[],[],[],[],@(x)myconstr(x,a2),options)

    See also gaoptimset, fitnessfunction, gaoutputfcntemplate, patternsearch, @.

    Reference page in Help browser
       doc ga

Èç¹û²»ÈÃÓÃÏֳɵÄ,Ä㻹ÊÇÈ¥matlabÏÖд°É,Ò²±Èת´úÂë¿ì
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
3Â¥2012-06-07 19:41:09
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÑÇstar

гæ (СÓÐÃûÆø)

ÒýÓûØÌû:
3Â¥: Originally posted by libralibra at 2012-06-07 19:41:09
ÕâÊÇÒÅ´«Ëã·¨°É,matlabÓÐÏֳɵÄ
>> help ga
GA    Constrained optimization using genetic algorithm.
    GA attempts to solve problems of the form:
        min F(X)  subject to:  A*X  <= B ...

ÊÇÓÃÒÅ´«Ëã·¨À´È·¶¨Ä£ºýTSKÄ£Ð͵쬹âÒÅ´«Ëã·¨µÄ±È½ÏºÃŪ£¬µ«ÊǺÍTSKÄ£ÐͽáºÏµÄÎҾͲ»»áŪÁË~~
4Â¥2012-06-07 20:54:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÑÇstar

гæ (СÓÐÃûÆø)

ÒýÓûØÌû:
2Â¥: Originally posted by wu20811055 at 2012-06-07 18:07:40
²»ºÃÒ룻µ«¿ÉÒÔÔÚmatlabÖе÷ÓþÍÐÐÁË£¬£¨¾ßÌåµ÷ÓÃÈ¥ÍøÉÏÕÒ£¬Ò»´ó¶Ñ£©ÒòΪµ¥¶À´Ó³ÌÐòÉÏÀ´Ëµ£¬¼òµ¥×ª»¯ÊÇ¿ÉÒԵ쬵«ÊÇÄãµÄ³ÌÐòÀïÃæÓÖµ÷ÓÃÁ˲»Éٿ⺯Êý£¬ÔÚmatlabÖжÔÓ¦ÆðÀ´Ï൱À§ÄÑ£¬Èç¹ûûÓÐÍ·ÎļþʲôµÄ£¬×ª»»µ¹²»ÊÇ ...

µ÷ÓõÄÎÒÒ²¿´ÁË£¬ËµÊÇÒªÓÃʲôMEX£¬ÎÒ»¹ÊÇû¸ãÃ÷°×~~
5Â¥2012-06-07 20:56:24
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lijie169

Í­³æ (ÖøÃûдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ÒýÓûØÌû:
5Â¥: Originally posted by ÑÇstar at 2012-06-07 20:56:24
µ÷ÓõÄÎÒÒ²¿´ÁË£¬ËµÊÇÒªÓÃʲôMEX£¬ÎÒ»¹ÊÇû¸ãÃ÷°×~~...

Õâ¸öÄãÖªµÀÔ­Àí£¬×Ô¼º¿ÉÒÔд°É...ûʲôÄѵģ¡cÓïÑÔÄÜд³öÀ´£¬matlabÒ²ÄÜд³öÀ´
6Â¥2012-06-07 21:00:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÑÇstar

гæ (СÓÐÃûÆø)

ÒýÓûØÌû:
6Â¥: Originally posted by lijie169 at 2012-06-07 21:00:12
Õâ¸öÄãÖªµÀÔ­Àí£¬×Ô¼º¿ÉÒÔд°É...ûʲôÄѵģ¡cÓïÑÔÄÜд³öÀ´£¬matlabÒ²ÄÜд³öÀ´...

CÓïÑÔµÄÊÇÎÒ´ÓÍøÉÏϵÄ~~~
7Â¥2012-06-07 21:06:57
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lijie169

Í­³æ (ÖøÃûдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ÒýÓûØÌû:
7Â¥: Originally posted by ÑÇstar at 2012-06-07 21:06:57
CÓïÑÔµÄÊÇÎÒ´ÓÍøÉÏϵÄ~~~...

Äã×Ô¼º²»¶®Ô­Àí¾ÍÖ±½ÓÓÃô£¿ÕâÑù²»ºÃ°É¡£Ïñ2¥˵µÄ£¬ÓпÉÄÜ»¹²»Ó÷­Ò룬ֱ½ÓÓÃmatlabµÄ´úÂëÄØ
8Â¥2012-06-08 06:40:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÑÇstar

гæ (СÓÐÃûÆø)

ÒýÓûØÌû:
8Â¥: Originally posted by lijie169 at 2012-06-08 06:40:12
Äã×Ô¼º²»¶®Ô­Àí¾ÍÖ±½ÓÓÃô£¿ÕâÑù²»ºÃ°É¡£Ïñ2¥˵µÄ£¬ÓпÉÄÜ»¹²»Ó÷­Ò룬ֱ½ÓÓÃmatlabµÄ´úÂëÄØ...

Ô­ÀíÎÒ¶®°¡~~µ«Õâ¸ö²»Êǵ¥´¿µÄÒÅ´«Ëã·¨°¡£¬ÒªÓÃÄ£ºýϵͳ£¬×îºó»¹ÒªÊµÏÖµü´úѧϰ¿ØÖư¡~~~ÕâºÃ¶à½áºÏÆðÀ´ÎҾͲ»ÖªµÀ¸ÃÔõôŪÁË¡£
9Â¥2012-06-08 08:48:47
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lijie169

Í­³æ (ÖøÃûдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

Èý¸ö¹ý³Ìµþ¼Ó...Ó¦¸Ã»¹¿ÉÒÔ°É
10Â¥2012-06-08 09:38:44
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ ÑÇstar µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 326Çóµ÷¼Á +4 ŵ±´¶û»¯Ñ§½±êéê 2026-03-15 7/350 2026-03-16 17:11 by ŵ±´¶û»¯Ñ§½±êéê
[¿¼ÑÐ] 070303Ò»Ö¾Ô¸Î÷±±´óѧѧ˶310ÕÒµ÷¼Á +5 dÈçÔ¸Éϰ¶ 2026-03-12 8/400 2026-03-16 15:19 by peike
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤×¨Ë¶µ÷¼Á +3 heming3743 2026-03-16 3/150 2026-03-16 15:05 by peike
[¿¼ÑÐ] 326Çóµ÷¼Á +3 mlpqaz03 2026-03-15 3/150 2026-03-16 07:33 by Iveryant
[¿¼ÑÐ] 327Çóµ÷¼Á +6 ʰ¹âÈÎȾ 2026-03-15 11/550 2026-03-15 22:47 by ʰ¹âÈÎȾ
[¿¼ÑÐ] 294Çóµ÷¼Á +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[¿¼ÑÐ] 288Çóµ÷¼Á +4 Ææµã0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[¿¼ÑÐ] 289Çóµ÷¼Á +4 ÕâôÃû×ÖÕ¦Ñù 2026-03-14 6/300 2026-03-14 18:58 by userper
[¿¼ÑÐ] Çóµ÷¼Á£¬Ò»Ö¾Ô¸½­ÄÏ´óѧ»·¾³¹¤³Ì085701 +3 Djdjj12 2026-03-10 4/200 2026-03-14 00:31 by JourneyLucky
[¿¼ÑÐ] 311Çóµ÷¼Á +5 Å£ÈéÌǵĿ¨¿¨ 2026-03-10 5/250 2026-03-14 00:05 by JourneyLucky
[¿¼ÑÐ] 311Çóµ÷¼Á +8 zchqwer 2026-03-10 8/400 2026-03-14 00:01 by JourneyLucky
[¿¼ÑÐ] 337Ò»Ö¾Ô¸»ªÄÏÀí¹¤0805²ÄÁÏÇóµ÷¼Á +7 mysdl 2026-03-11 9/450 2026-03-13 22:43 by JourneyLucky
[¿¼ÑÐ] 308Çóµ÷¼Á +5 ÊÇLupa°¡ 2026-03-11 5/250 2026-03-13 22:13 by JourneyLucky
[¿¼ÑÐ] 336Çóµ÷¼Á +6 Iuruoh 2026-03-11 6/300 2026-03-13 22:06 by JourneyLucky
[¿¼ÑÐ] 290Çóµ÷¼Á +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[¿¼ÑÐ] ËÄ´¨´óѧ085601²ÄÁϹ¤³Ìר˶ ³õÊÔ294Çóµ÷¼Á +4 ×£ÎÒÃǺÃÔÚ¶¬Ìì 2026-03-11 4/200 2026-03-13 21:39 by peike
[ÂÛÎÄͶ¸å] Ͷ¸åÎÊÌâ 5+4 Ðǹâ²ÓÀÃxt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[¿¼ÑÐ] 070303Ò»Ö¾Ô¸Î÷±±´óѧѧ˶310ÕÒµ÷¼Á +3 dÈçÔ¸Éϰ¶ 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
[¿¼ÑÐ] 270Çóµ÷¼Á 085600²ÄÁÏÓ뻯¹¤×¨Ë¶ +3 YXCT 2026-03-11 3/150 2026-03-13 10:13 by houyaoxu
[¿¼ÑÐ] »¯¹¤0817µ÷¼Á +8 ²ÓÈôÐdz¿ 2026-03-10 8/400 2026-03-10 22:44 by ÐÇ¿ÕÐÇÔÂ
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û