Matlab优化工具箱.doc_第1页
Matlab优化工具箱.doc_第2页
Matlab优化工具箱.doc_第3页
Matlab优化工具箱.doc_第4页
Matlab优化工具箱.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab优化工具箱Matlab Optimization Toolbox优化工具箱提供了一般和大型的非线性优化函数,同时还提供了线性规划,二次规划,非线性最小二乘以及非线性方程求解的工具。 主要特性: 无约束非线性极小化问题 约束性线性极小化、极大极小、多目标优化,半无穷极小化问题。 二次规划和线性规划问题 非线性最小二乘和边界曲线拟合问题 非线性系统方程求解问题 约束线性最小二乘问题 大型问题的特殊算法一最小化问题Minimization0-1 规划 (binary integer programming problems)x = bintprog(f)x = bintprog(f, A, b)x = bintprog(f, A, b, Aeq, beq)x = bintprog(f, A, b, Aeq, beq, x0)x = bintprog(f, A, b, Aeq, Beq, x0, options)x, fval = bintprog(.)x,fval, exitflag = bintprog(.)x, fval, exitflag, output = bintprog(.)参数描述见helpf Vector containing the coefficients of the linear objective functionA Matrix containing the coefficients of the linear inequality constraints b Vector corresponding to the right-hand side of the linear inequality constraints Aeq Matrix containing the coefficients of the linear equality constraints beq Vector containing the constants of the linear equality constraintsx0 Initial point for the algorithm options Options structure containing options for the algorithm.Example1:f = -9; -5; -6; -4; A = 6 3 5 2; 0 0 1 1; -1 0 1 0; 0 -1 0 1;b = 9; 1; 0; 0;x = bintprog(f,A,b) Example2:问题求解:min 3*x(1)-2*x(2)+5*x(3)s.t.x(1)+2*x(2)-x(3)=2x(1)+4*x(2)+x(3)=4x(1)+x(2)=34*x(2)+x(3)0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflagf = -5; -4; -6;A = 1 -1 1;3 2 4;3 2 0;b = 20; 42; 30;lb = zeros(3,1);x,fval,exitflag,output,lambda = linprog(f,A,b,lb)结果为:x = %最优解 0.0000 15.0000 3.0000fval = %最优值 -78.0000exitflag = %收敛 1output = iterations: 6 %迭代次数 cgiterations: 0 algorithm: lipsol %所使用规则lambda = ineqlin: 3x1 double eqlin: 0x1 double upper: 3x1 double lower: 3x1 double lambda.ineqlinans = 0.0000 1.5000 0.5000 lambda.lowerans = 1.0000 0.0000 0.0000表明:不等约束条件2和3以及第1个下界是有效的Example2: max 0.27x(1)+0.19x(2)+0.22x(3)+0.18x(4) Subject to x(1)-x(2)-x(3)-x(4)=0 x(1)+x(2)+x(3)+x(4)=1 x(i)=0, i=1, 2 ,3, 4二次规划 quadratic programming二次规划问题(quadratic programming)的标准形式为:sub.to 其中,H、A、Aeq为矩阵,f、b、beq、lb、ub、x为向量其它形式的二次规划问题都可转化为标准形式。x = quadprog(H,f,A,b) x = quadprog(H,f,A,b,Aeq,beq) x = quadprog(H,f,A,b,Aeq,beq,lb,ub) x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0) x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) x,fval = quadprog(.) x,fval,exitflag = quadprog(.) x,fval,exitflag,output = quadprog(.) x,fval,exitflag,output,lambda = quadprog(.)EXAMPLE1:求解下面二次规划问题sub.to 解:则,在MATLAB中实现如下:H = 1 -1; -1 2 ;f = -2; -6;A = 1 1; -1 2; 2 1;b = 2; 2; 3;lb = zeros(2,1);x,fval,exitflag,output,lambda = quadprog(H,f,A,b, , ,lb)结果为:x = %最优解 0.6667 1.3333fval = %最优值 -8.2222exitflag = %收敛 1output = iterations: 3 algorithm: medium-scale: active-set firstorderopt: cgiterations: lambda = lower: 2x1 double upper: 2x1 double eqlin: 0x1 double ineqlin: 3x1 double lambda.ineqlinans = 3.1111 0.4444 0 lambda.lowerans = 0 0说明 第1、2个约束条件有效,其余无效。EXAMPLE2:求二次规划的最优解max f (x1, x2)=x1x2+3sub.to x1+x2-2=0解:化成标准形式: sub.to x1+x2=2在Matlab中实现如下:H=0,-1;-1,0;f=0;0;Aeq=1 1;b=2;x,fval,exitflag,output,lambda = quadprog(H,f, , ,Aeq,b)结果为:x = 1.0000 1.0000fval = -1.0000exitflag = 1output = firstorderopt: 0 iterations: 1 cgiterations: 1 algorithm: 1x58 charlambda = eqlin: 1.0000 ineqlin: lower: upper: fminbndFind a minimum of a function of one variable on a fixed interval求一元函数在(xl,x2)区间中的极小值点x和最小值fval。x = fminbnd(fun,x1,x2) x = fminbnd(fun,x1,x2,options) x,fval = fminbnd(.) x,fval,exitflag = fminbnd(.) x,fval,exitflag,output = fminbnd(.)function f = myfun(x)f = (x-3)2 - 1;x = fminbnd(myfun,0,5)例:求函数在区间(-10,1)和(1,10)上的最小值点。首先建立函数文件fx.m:function f=f(x)f=x-1/x+5;上述函数文件也可用一个语句函数代替:f=inline(x-1/x+5)再在MATLAB命令窗口,输入命令:fminbnd(fx,-10,-1) %求函数在(-10,-1)内的最小值点和最小值fminbnd(f,1,10) %求函数在(1,10)内的最小值点。注意函数名f不用加fminsearchFind a minimum of an unconstrained multivariable function基于单纯形算法求一元函数或多元函数的极小值点x和最小值fval。x = fminsearch(fun,x0) x = fminsearch(fun,x0,options) x,fval = fminsearch(.) x,fval,exitflag = fminsearch(.) x,fval,exitflag,output = fminsearch(.)Example1:100*(x(2)-x(1)2)2+(1-x(1)2banana = (x)100*(x(2)-x(1)2)2+(1-x(1)2;Pass the function handle to fminsearch:x,fval = fminsearch(banana,-1.2, 1)Example2:设求函数f在(0.5,0.5,0.5)附近的最小值。建立函数文件fxyz.m:function f=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.2./x/4+z.2./y+2./z;在MALAB命令窗口,输入命令:U,fmin=fminsearch(fxyz,0.5,0.5,0.5) %求函数的最小值点和最小值fminuncFind a minimum of an unconstrained multivariable function:基于拟牛顿法求多元函数的极小值点x和最小值fval。x,fval=fminunc(filename,x0,option)function f = myfun(x)f = 3*x(1)2 + 2*x(1)*x(2) + x(2)2; % Cost functionx0 = 1,1;x,fval = fminunc(myfun,x0)fmincon (非线性目标函数和约束条件)Find a minimum of a constrained nonlinear multivariable functionx = fmincon(fun,x0,A,b) x = fmincon(fun,x0,A,b,Aeq,beq) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) x,fval = fmincon(.) x,fval,exitflag = fmincon(.) x,fval,exitflag,output = fmincon(.) x,fval,exitflag,output,lambda = fmincon(.) x,fval,exitflag,output,lambda,grad = fmincon(.) x,fval,exitflag,output,lambda,grad,hessian = fmincon(.)MATLAB最优化工具箱提供了一个fmincon函数,专门用于求解各种约束下的最优化问题。该函数的调用格式为:x,fval=fmincon(filename,x0,A,b, Aeq,beq,Lbnd,Ubnd, NonF,option)其中x、fval、filename、x0和option的含义与求最小值函数相同。其余参数为约束条件,参数NonF为非线性约束函数的M文件名。如果某个约束不存在,则用空矩阵来表示。function f = myfun(x)f = -x(1) * x(2) * x(3); x0 = 10; 10; 10; % Starting guess at the solutionx,fval = fmincon(myfun,x0,A,b)Z=2*(xy+yz+zx)zyz=2function f=myobj(X)x=X(1);y=X(2);z=X(3);f=2*(x*y+y*z+z*x)function c,ceq = mycon(X)x=X(1);y=X(2);z=X(3);c=;ceq=x*y*z-2x,f=fmincon(myobj,1;1;1,mycon)求解有约束最优化问题。首先编写目标函数M文件fop.m。function f=fop(x)f=0.4*x(2)+x(1)2+x(2)2-x(1)*x(2)+1/30*x(1)3;再设定约束条件,并调用fmincon函数求解此约束最优化问题。x0=0.5;0.5;A=-1,-0.5;-0.5,-1;b=-0.4;-0.5;lb=0;0;option=optimset; option.LargeScale=off; option.Display =off;x,f=fmincon(fop,x0,A,b,lb,option)二Equation SolvingfsolveSolve a system of nonlinear equationsx = fsolve(fun,x0) x = fsolve(fun,x0,options) x,fval = fsolve(fun,x0) x,fval,exitflag = fsolve(.) x,fval,exitflag,output = fsolve(.) x,fval,exitflag,output,jacobian = fsolve(.)First, write an M-file that computes F, the values of the equations at x.function F = myfun(x)F = 2*x(1) - x(2) - exp(-x(1); -x(1) + 2*x(2) - exp(-x(2);Next, call an optimization routine.x0 = -5; -5; % Make a starting guess at the solutionoptions=optimset(Display,iter); % Option to display outputx,fval = fsolve(myfun,x0,options) % Call optimizerfzeroZero of a continuous function of one variable Syntax x = fzero(fun,x0) x = fzero(fun,x0,options) x,fval = fzero(.) x,fval,exitflag = fzero(.) x,fval,exitflag,output = fzero(.)Example1:function y = f(x)y = x.3-2*x-5;To find the zero near 2, enterz = fzero(f,2)z = 2.0946Example2:function f=myd(x)f=exp(x)+10*x-2x=fzero(myd, 0)Example3:function f=mdys(x)f=x3-3*x-1Example3:求的根解: fun=x3-2*x-5; z=fzero(fun,2) %初始估计值为2结果为z = 2.0946约束线性最小二乘Solve the constrained linear least-squares problem有约束线性最小二乘的标准形式为其中:C、A、Aeq为矩阵;d、b、beq、lb、ub、x是向量。x = lsqlin(C,d,A,b)x = lsqlin(C,d,A,b,Aeq,beq)x = lsqlin(C,d,A,b,Aeq,beq,lb,ub)x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)x,resnorm = lsqlin(.)x,resnorm,residual = lsqlin(.)x,resnorm,residual,exitflag = lsqlin(.)x,resnorm,residual,exitflag,output = lsqlin(.)x,resnorm,residual,exitflag,output,lambda = lsqlin(.)函数lsqlin 格式x = lsqlin(C,d,A,b) %求在约束条件 下,方程Cx = d的最小二乘解x。x = lsqlin(C,d,A,b,Aeq,beq) %Aeq、beq满足等式约束 ,若没有不等式约束,则设A= ,b= 。x = lsqlin(C,d,A,b,Aeq,beq,lb,ub) %lb、ub满足 ,若没有等式约束,则Aeq= ,beq= 。x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0) % x0为初始解向量,若x没有界,则lb= ,ub= 。x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options) % options为指定优化参数x,resnorm = lsqlin() % resnorm=norm(C*x-d)2,即2-范数。x,resnorm,residual = lsqlin() %residual=C*x-d,即残差。x,resnorm,residual,exitflag = lsqlin() %exitflag为终止迭代的条件x,resnorm,residual,exitflag,output = lsqlin() % output表示输出优化信息x,resnorm,residual,exitflag,output,lambda = lsqlin() % lambda为解x的Lagrange乘子例: 求解下面系统的最小二乘解系统:Cx=d约束:A;b先输入系统系数和x的上下界:C = 0.95010.76200.61530.4057;0.23110.45640.79190.9354;0.60680.01850.92180.9169;0.48590.82140.73820.4102;0.89120.44470.17620.8936;d = 0.0578; 0.3528; 0.8131; 0.0098; 0.1388;A = 0.20270.27210.74670.4659;0.19870.19880.44500.4186;0.60370.01520.93180.8462;b = 0.5251; 0.2026; 0.6721;lb = -0.1*ones(4,1);ub = 2*ones(4,1);然后调用最小二乘命令:x,resnorm,residual,exitflag,output,lambda = lsqlin(C,d,A,b, , ,lb,ub);结果为:x = -0.1000 -0.10000.21520.3502resnorm =0.1672residual =0.04550.0764 -0.35620.16200.0784exitflag = 1%说明解x是收敛的output = iterations: 4algorithm: medium-scale: active-setfirstorderopt: cgiterations: lambda = lower: 4x1 doubleupper: 4x1 doubleeqlin: 0x1 doubleineqlin: 3x1 double通过lambda.ineqlin可查看非线性不等式约束是否有效。非线性数据(曲线)拟合Solve nonlinear curve-fitting (data-fitting) problems in the least-squares sense.非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。今进行曲线拟合,求x使得下式成立:函数lsqcurvefitx = lsqcurvefit(fun,x0,xdata,ydata)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)x,resnorm = lsqcurvefit(.)x,resnorm,residual = lsqcurvefit(.)x,resnorm,residual,exitflag = lsqcurvefit(.)x,resnorm,residual,exitflag,output = lsqcurvefit(.)x,resnorm,residual,exitflag,output,lambda = lsqcurvefit(.)x,resnorm,residual,exitflag,output,lambda,jacobian = lsqcurvefit(.)参数说明:x0为初始解向量;xdata,ydata为满足关系ydata=F(x, xdata)的数据;lb、ub为解向量的下界和上界 ,若没有指定界,则lb= ,ub= ;options为指定的优化参数;fun为拟合函数,其定义方式为:x = lsqcurvefit(myfun,x0,xdata,ydata),其中myfun已定义为 function F = myfun(x,xdata)F = % 计算x处拟合函数值fun的用法与前面相同;resnorm=sum (fun(x,xdata)-ydata).2),即在x处残差的平方和;residual=fun(x,xdata)-ydata,即在x处的残差;exitflag为终止迭代的条件;output为输出的优化信息;lambda为解x处的Lagrange乘子;jacobian为解x处拟合函数fun的jacobian矩阵。例 求解如下最小二乘非线性拟合问题已知输入向量xdata和输出向量ydata,且长度都是n,拟合函数为即目标函数为其中:F(x,xdata) = x(1)*xdata.2 + x(2)*sin(xdata) + x(3)*xdata.3 初始解向量为x0=0.3, 0.4, 0.1。解:先建立拟合函数文件,并保存为myfun.mfunction F = myfun(x,xdata)F = c(1)*xdata.2 + c(2)*sin(xdata) + c(3)*xdata.3;然后给出数据xdata和ydataxdata = 3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4;ydata = 16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3;x0 = 10, 10, 10;%初始估计值x,resnorm = lsqcurvefit(myfun,x0,xdata,ydata)结果为:Optimization terminated successfully:Relative function value changing by less than OPTIONS.TolFunx = 0.22690.33850.3021resnorm = 6.2950非线性最小二乘nonlinear least-squares (nonlinear data-fitting) problem非线性最小二乘(非线性数据拟合)的标准形式为其中:L为常数函数lsqnonlin。设,则目标函数可表达为其中:x为向量,F(x)为函数向量。函数lsqnonlin格式x = lsqnonlin(fun,x0) %x0为初始解向量;fun为 ,i=1,2,m,fun返回向量值F,而不是平方和值,平方和隐含在算法中,fun的定义与前面相同。x = lsqnonlin(fun,x0,lb,ub)%lb、ub定义x的下界和上界: 。x = lsqnonlin(fun,x0,lb,ub,options) %options为指定优化参数,若x没有界,则lb= ,ub= 。x,resnorm = lsqnonlin()% resnorm=sum(fun(x).2),即解x处目标函数值。x,resnorm,residual = lsqnonlin() % residual=fun(x),即解x处fun的值。x,resnorm,residual,exitflag = lsqnonlin()%exitflag为终止迭代条件。x,resnorm,residual,exitflag,output = lsqnonlin() %output输出优化信息。x,resnorm,residual,exitflag,output,lambda = lsqnonlin() %lambda为Lagrage乘子。x,resnorm,residual,exitflag,output,lambda,jacobian =lsqnonlin() %fun在解x处的Jacobian矩阵。例 求下面非线性最小二乘问题 初始解向量为x0=0.3, 0.4。解:先建立函数文件,并保存为myfun.m,由于lsqnonlin中的fun为向量形式而不是平方和形式,因此,myfun函数应由 建立: k=1,2,10functionF = myfun(x)k = 1:10;F = 2 + 2*k-exp(k*x(1)-exp(k*x(2);然后调用优化程序:x0 = 0.3 0.4;x,resnorm = lsqnonlin(myfun,x0) 结果为:Optimization terminated successfully:Norm of the current step is less than OPTIONS.TolXx =0.25780.2578resnorm =%求目标函数值124.3622非负线性最小二乘the nonnegative least-squares problem非负线性最小二乘的标准形式为: 其中:矩阵C和向量d为目标函数的系数,向量x为非负独立变量。函数lsqnonneg格式x = lsqnonneg(C,d) %C为实矩阵,d为实向量x = lsqnonneg(C,d,x0) % x0为初始值且大于0x = lsqnonneg(C,d,x0,options) % options为指定优化参数x,resnorm = lsqnonneg() % resnorm=norm (C*x-d)2x,resnorm,residual = lsqnonneg() %residual=C*x-dx,resnorm,residual,exitflag = lsqnonneg()x,resnorm,residual,exitflag,output = lsqnonneg()x,resnorm,residual,exitflag,output,lambda = lsqnonneg()例一个最小二乘问题的无约束与非负约束解法的比较。先输入数据:C = 0.03720.2869; 0.68610.7071; 0.62330.6245; 0.63440.6170;d = 0.8587; 0.1781; 0.0747; 0.8405; Cd, lsqnonneg(C,d)ans = -2.5627 03.11080.6929注意:1。当问题为无约束线性最小二乘问题时,使用MATLAB下的“”运算即可以解决。2对于非负最小二乘问题,调用lsqnonneg(C,d)求解。fminbnd有边界的标量非线性最小化fmincon有约束的非线性最小化fminimax最大最小化fminsearch, fminunc无约束非线性最小化fseminf半无限问题linprog线性课题quadprog二次课题Minimization0-2 规划 x = bintprog(f)x = bintprog(f, A, b)x = bintprog(f, A, b, Aeq, beq)x = bintprog(f, A, b, Aeq, beq, x0)x = bintprog(f, A, b, Aeq, Beq, x0, options)x, fval = bintprog(.)x,fval, exitflag = bintprog(.)x, fval, exitflag, output = bintprog(.)f = -9; -5; -6; -4; A = 6 3 5 2; 0 0 1 1; -1 0 1 0; 0 -1 0 1;b = 9; 1; 0; 0;x = bintprog(f,A,b) Optimization terminated successfully.问题求解:min 3*x(1)-2*x(2)+5*x(3)s.t.x(1)+2*x(2)-x(3)=2x(1)+4*x(2)+x(3)=4x(1)+x(2)=34*x(2)+x(3)=6x(1),x(2),x(3)为0,1f=3,-2,5A=1 2 -1;1 4 1; 1 1 0; 0 4 1b=2 4 3 6线性规划x = linprog(f,A,b) x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) x = linprog(f,A,b,Aeq,beq,lb,ub,x0) x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) x,fval = linprog(.) x,lambda,exitflag = linprog(.) x,lambda,exitflag,output = linprog(.) x,fval,exitflag,output,lambda = linprog(.)二次规划 x = quadprog(H,f,A,b) x = quadprog(H,f,A,b,Aeq,beq) x = quadprog(H,f,A,b,Aeq,beq,lb,ub) x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0) x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) x,fval = quadprog(.) x,fval,exitflag = quadprog(.) x,fval,exitflag,output = quadprog(.) x,fval,exitflag,output,lambda = quadprog(.)fminbndFind a minimum of a function of one variable on a fixed interval求一元函数在(xl,x2)区间中的极小值点x和最小值fval。x = fminbnd(fun,x1,x2) x = fminbnd(fun,x1,x2,options) x,fval = fminbnd(.) x,fval,exitflag = fminbnd(.) x,fval,exitflag,output = fminbnd(.)function f = myfun(x)f = (x-3)2 - 1;x = fminbnd(myfun,0,5)例:求函数在区间(-10,1)和(1,10)上的最小值点。首先建立函数文件fx.m:function f=f(x)f=x-1/x+5;上述函数文件也可用一个语句函数代替:f=inline(x-1/x+5)再在MATLAB命令窗口,输入命令:fminbnd(fx,-10,-1) %求函数在(-10,-1)内的最小值点和最小值fminbnd(f,1,10) %求函数在(1,10)内的最小值点。注意函数名f不用加fminsearchFind a minimum of an unconstrained multivariable function基于单纯形算法求多元函数的极小值点x和最小值fval。x = fminsearch(fun,x0) x = fminsearch(fun,x0,options) x,fval = fminsearch(.) x,fval,exitflag = fminsearch(.) x,fval,exitflag,output = fminsearch(.)banana = (x)100*(x(2)-x(1)2)2+(1-x(1)2;Pass the function handle to fminsearch:x,fval = fminsearch(banana,-1.2, 1)设求函数f在(0.5,0.5,0.5)附近的最小值。建立函数文件fxyz.m:function f=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.2./x/4+z.2./y+2./z;在MALAB命令窗口,输入命令:U,fmin=fminsearch(fxyz,0.5,0.5,0.5) %求函数的最小值点和最小值fminuncFind a minimum of an unconstrained multivariable function:基于拟牛顿法求多元函数的极小值点x和最小值fval。x,fval=fminunc(filename,x0,option)function f = myfun(x)f = 3*x(1)2 + 2*x(1)*x(2) + x(2)2; % Cost functionx0 = 1,1;x,fval = fminunc(myfun,x0)Fmincon (非线性目标函数和约束条件)Find a minimum of a constrained nonlinear multivariable functionx = fmincon(fun,x0,A,b) x = fm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论