MATLAB總結(jié)與上機(jī)指南
化工計(jì)算中常用的MATLAB命令總結(jié)
化學(xué)工程中的計(jì)算問(wèn)題一般比較復(fù)雜,其操作的數(shù)據(jù)對(duì)象通常是數(shù)組,具體計(jì)算涉及到插值、求積分、參數(shù)擬合、解常微分和偏微分微分方程、解線性和非線性方程等。MATLAB是新一代的科學(xué)計(jì)算語(yǔ)言,在解決上述問(wèn)題上,相對(duì)于FORTRAN、C和BASIC等傳統(tǒng)的計(jì)算語(yǔ)言具有明顯的優(yōu)越性。本文針對(duì)應(yīng)用MATLAB解決化工中的典型問(wèn)題進(jìn)行計(jì)算常用方法和命令做以小結(jié)。1.最小二乘法擬合1.1最小二乘擬合直線
函數(shù)lsline
格式lsline%最小二乘擬合直線h=lsline%h為直線的句柄1.2約束線性最小二乘
有約束線性最小二乘的標(biāo)準(zhǔn)形式為
minx1Cxd222
sub.toAxb
Aeqxbeq
lbxub
其中:C、A、Aeq為矩陣;d、b、beq、lb、ub、x是向量。在MATLAB5.x中,約束線性最小二乘用函數(shù)conls求解。
函數(shù)lsqlin
格式x=lsqlin(C,d,A,b)%求在約束條件Axb下,方程Cx=d的最小二
乘解x。
x=lsqlin(C,d,A,b,Aeq,beq)%Aeq、beq滿足等式約束Aeqxbeq,若沒(méi)有不等式約束,則設(shè)A=[],b=[]。
x=lsqlin(C,d,A,b,Aeq,beq,lb,ub)%lb、ub滿足lbxub,若沒(méi)有等
式約束,則Aeq=[],beq=[]。
x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)%x0為初始解向量,若x沒(méi)有界,則lb=[],ub=[]。
x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)%options為指定優(yōu)化參數(shù)[x,resnorm]=lsqlin(…)%resnorm=norm(C*x-d)^2,即2-范數(shù)。[x,resnorm,residual]=lsqlin(…)%residual=C*x-d,即殘差。
[x,resnorm,residual,exitflag]=lsqlin(…)%exitflag為終止迭代的條件[x,resnorm,residual,exitflag,output]=lsqlin(…)%output表示輸出優(yōu)化
第1頁(yè)共6頁(yè)信息
[x,resnorm,residual,exitflag,output,lambda]=lsqlin(…)%lambda為解x
的Lagrange乘子
1.3非線性最小二乘
非線性最小二乘(非線性數(shù)據(jù)擬合)的標(biāo)準(zhǔn)形式為
minxf(x)f1(x)2f2(x)2fm(x)2L
其中:L為常數(shù)
在MATLAB5.x中,用函數(shù)leastsq解決這類問(wèn)題,在6.0版中使用函數(shù)lsqnonlin。
f1(x)f2(x)設(shè)F(x)fm(x)則目標(biāo)函數(shù)可表達(dá)為minx12F(x)221fi(x)22i其中:x為向量,F(xiàn)(x)為函數(shù)向量。函數(shù)lsqnonlin
格式x=lsqnonlin(fun,x0)%x0為初始解向量;fun為fi(x),i=1,2,…,m,fun返回向量值F,而不是平方和值,平方和隱含在算法中,fun的定義與前面相同。
lbxubx=lsqnonlin(fun,x0,lb,ub)%lb、ub定義x的下界和上界:。
x=lsqnonlin(fun,x0,lb,ub,options)%options為指定優(yōu)化參數(shù),若x沒(méi)有界,則lb=[],ub=[]。
[x,resnorm]=lsqnonlin(…)%resnorm=sum(fun(x).^2),即解x處函數(shù)值。[x,resnorm,residual]=lsqnonlin(…)%residual=fun(x),即解x處fun的值。[x,resnorm,residual,exitflag]=lsqnonlin(…)%exitflag為終止迭代條件。[x,resnorm,residual,exitflag,output]=lsqnonlin(…)%output輸出優(yōu)化信息。[x,resnorm,residual,exitflag,output,lambda]=lsqnonlin(…)%lambda為
Lagrage乘子。
[x,resnorm,residual,exitflag,output,lambda,jacobian]=lsqnonlin(…)%fun
在解x處的Jacobian矩陣。
第2頁(yè)共6頁(yè)2多項(xiàng)式2.1多項(xiàng)式求值
函數(shù)名稱:polyval
調(diào)用格式:y=polyval(p,x),[y,delta]=polyval(p,x,S)
返回多項(xiàng)式p在x點(diǎn)處的取值。X可以是向量也可以是矩陣。[y,delta]=polyval(p,x,S)同時(shí)還生成誤差估計(jì)。2.2多項(xiàng)式求根
函數(shù)名稱:roots
調(diào)用格式:r=roots(c)
返回一個(gè)元素為多項(xiàng)式c的根的列向量。行向量中包含按降冪排列的多項(xiàng)式的系數(shù),如果c中包含n+1個(gè)元素,則多項(xiàng)式的表達(dá)式為:c1sn+…+cns+cn+1。3插值3.1一維插值
函數(shù)名稱:interp1
調(diào)用格式:yi=interp1(x,Y,xi),yi=interp1(x,Y,xi,method)
MATLAB中有兩類一維數(shù)據(jù)插值方法:多項(xiàng)式插值法和基于FFT的插值法。函數(shù)interp1采用多項(xiàng)式插值法,它用多項(xiàng)式擬合所給出的數(shù)據(jù),然后在插值點(diǎn)上根據(jù)多項(xiàng)式算出相應(yīng)的值。調(diào)用格式中,xi為需要插值的位置所組成的向量,yi為根據(jù)插值算法求得的值所組成的向量。x,Y為已知的數(shù)據(jù)點(diǎn)向量。參數(shù)method用于確定具體的插值方法,包括:
‘linear’表示采用線性插值方法;‘cubic’表示采用三次插值的方法;‘nearest’表示采用最近點(diǎn)插值法;‘spline’表示用三次樣條插值方法。3.2二維插值
函數(shù)名稱:interp2
調(diào)用格式ZI=interp2(X,Y,Z,XI,YI)
返回矩陣ZI,其元素包含對(duì)應(yīng)于參量XI與YI(可以是向量、或
同型矩陣)的元素,即Zi(i,j)←[Xi(i,j),yi(i,j)]。。
ZI=interp2(Z,XI,YI)
缺省地,X=1:n、Y=1:m,其中[m,n]=size(Z)。再按第一種情形進(jìn)
行計(jì)算。
ZI=interp2(Z,n)
作n次遞歸計(jì)算,在Z的每?jī)蓚(gè)元素之間插入它們的二維插值,
這樣,Z的階數(shù)將不斷增加。interp2(Z)等價(jià)于interp2(z,1)。
ZI=interp2(X,Y,Z,XI,YI,method)
用指定的算法method計(jì)算二維插值:
’linear’:雙線性插值算法(缺省算法);
第3頁(yè)共6頁(yè)’nearest’:最臨近插值;’spline’:三次樣條插值;’cubic’:雙三次插值。
4非線性數(shù)據(jù)(曲線)擬合
非線性曲線擬合是已知輸入向量xdata和輸出向量ydata,并且知道輸入與輸出的函數(shù)關(guān)系為ydata=F(x,xdata),但不知道系數(shù)向量x。今進(jìn)行曲線擬合,求x使得下式成立:
minx1F(x,xdata)ydata2221(F(x,xdatai)ydatai)22i在MATLAB5.x中,使用函數(shù)curvefit解決這類問(wèn)題。函數(shù)lsqcurvefit
格式x=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(…)
參數(shù)說(shuō)明:
x0為初始解向量;xdata,ydata為滿足關(guān)系ydata=F(x,xdata)的數(shù)據(jù);lb、ub為解向量的下界和上界lbxub,若沒(méi)有指定界,則lb=[],
ub=[];
options為指定的優(yōu)化參數(shù);
fun為擬合函數(shù),其定義方式為:x=lsqcurvefit(@myfun,x0,xdata,ydata),
其中myfun已定義為functionF=myfun(x,xdata)F=…%計(jì)算x處擬合函數(shù)值fun的用法與前面相同;resnorm=sum((fun(x,xdata)-ydata).^2),即在x處殘差的平方和;residual=fun(x,xdata)-ydata,即在x處的殘差;exitflag為終止迭代的條件;output為輸出的優(yōu)化信息;lambda為解x處的Lagrange乘子;
jacobian為解x處擬合函數(shù)fun的jacobian矩陣。
第4頁(yè)共6頁(yè)5數(shù)值積分
5.1一元函數(shù)的數(shù)值積分
函數(shù)名稱:quad、quadl、quad8
調(diào)用格式q=quad(fun,a,b)%近似地從a到b計(jì)算函數(shù)fun的數(shù)值積分,誤
差為10。給fun輸入向量x,應(yīng)返回向量y,即fun是一單值函數(shù)。q=quad(fun,a,b,tol)%用指定的絕對(duì)誤差tol代替缺省誤差。tol越大,函數(shù)計(jì)算的次數(shù)越少,速度越快,但結(jié)果精度變小。
q=quad(fun,a,b,tol,trace,p1,p2,…)%將可選參數(shù)p1,p2,…等傳遞給函數(shù)fun(x,p1,p2,…),再作數(shù)值積分。若tol=[]或trace=[],則用缺省值進(jìn)行計(jì)算。
[q,n]=quad(fun,a,b,…)%同時(shí)返回函數(shù)計(jì)算的次數(shù)n
…=quadl(fun,a,b,…)%用高精度進(jìn)行計(jì)算,效率可能比quad更好!=quad8(fun,a,b,…)%該命令是將廢棄的命令,用quadl代替。
5.2一元函數(shù)的數(shù)值積分
函數(shù)名稱:dblquad
功能矩形區(qū)域上的二重積分的數(shù)值計(jì)算
調(diào)用格式q=dblquad(fun,xmin,xmax,ymin,ymax)調(diào)用函數(shù)quad在區(qū)域
[xmin,xmax,ymin,ymax]上計(jì)算二元函數(shù)z=f(x,y)的二重積分。輸入向量x,標(biāo)量y,則f(x,y)必須返回一用于積分的向量。
q=dblquad(fun,xmin,xmax,ymin,ymax,tol)用指定的精度tol代替缺省精度10-6,再進(jìn)行計(jì)算。
q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)用指定的算法
method代替缺省算法quad。method的取值有@quadl或用戶指定的、與命令quad與quadl有相同調(diào)用次序的函數(shù)句柄。
q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,…)將可選參數(shù)
p1,p2,..等傳遞給函數(shù)fun(x,y,p1,p2,…)。若tol=[],method=[],則使用缺省精度和算法quad。
6非線性方程組的解
非線性方程組的標(biāo)準(zhǔn)形式為:F(x)=0其中:x為向量,F(xiàn)(x)為函數(shù)向量。函數(shù)fsolve
格式x=fsolve(fun,x0)
用fun定義向量函數(shù),其定義方式為:先定義方程函數(shù)
functionF=myfun(x)。
F=[表達(dá)式1;表達(dá)式2;…表達(dá)式m]
保存為myfun.m,并用下面方式調(diào)用:x=
第5頁(yè)共6頁(yè)
-fsolve(@myfun,x0),x0為初始估計(jì)值。
x=fsolve(fun,x0,options)[x,fval]=fsolve(…)
fval=F(x),即函數(shù)值向量[x,fval,exitflag]=fsolve(…)
[x,fval,exitflag,output]=fsolve(…)
[x,fval,exitflag,output,jacobian]=fsolve(…)
jacobian為解x處的Jacobian陣。
其余參數(shù)與前面參數(shù)相似。7常微分方程數(shù)值解
函數(shù)名稱:ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb功能常微分方程(ODE)組初值問(wèn)題的數(shù)值解參數(shù)說(shuō)明:
solver為命令ode45、ode23,ode113,ode15s,ode23s,ode23t,ode23tb之一。
Odefun為顯式常微分方程y’=f(t,y),或?yàn)榘换旌暇仃嚨姆匠?/p>
M(t,y)*y’=f(t,y)。命令ode23只能求解常數(shù)混合矩陣的問(wèn)題;命令ode23t與ode15s可以求解奇異矩陣的問(wèn)題。
Tspan積分區(qū)間(即求解區(qū)間)的向量tspan=[t0,tf]。要獲得問(wèn)題在其他指定時(shí)
間點(diǎn)t0,t1,t2,…上的解,則令tspan=[t0,t1,t2,…,tf](要求是單調(diào)的)。
Y0包含初始條件的向量。
Options用命令odeset設(shè)置的可選積分參數(shù)。P1,p2,…傳遞給函數(shù)odefun的可選參數(shù)。調(diào)用格式[T,Y]=solver(odefun,tspan,y0)
在區(qū)間tspan=[t0,tf]上,從t0到tf,用初始條件y0求解顯式微分方程y’=f(t,y)。對(duì)于標(biāo)量t與列向量y,函數(shù)f=odefun(t,y)必須返回一f(t,y)的列向量f。解矩陣Y中的每一行對(duì)應(yīng)于返回的時(shí)間列向量T中的一個(gè)時(shí)間點(diǎn)。要獲得問(wèn)題在其他指定時(shí)間點(diǎn)t0,t1,t2,…上的解,則令tspan=[t0,t1,t2,…,tf](要求是單調(diào)的)。
[T,Y]=solver(odefun,tspan,y0,options)
%用參數(shù)options(用命令odeset生成)設(shè)置的屬性(代替了缺省的積分參數(shù)),再進(jìn)行操作。常用的屬性包括相對(duì)誤差值RelTol(缺省值為1e-3)與絕對(duì)誤差向量AbsTol(缺省值為每一元素為1e-6)。
[T,Y]=solver(odefun,tspan,y0,options,p1,p2…)
將參數(shù)p1,p2,p3,..等傳遞給函數(shù)odefun,再進(jìn)行計(jì)算。若沒(méi)有參數(shù)設(shè)置,則令options=[]。
第6頁(yè)共6頁(yè)
擴(kuò)展閱讀:MATLAB應(yīng)用上機(jī)指導(dǎo)書
《MATLAB應(yīng)用》
上機(jī)指導(dǎo)書
黑龍江工程學(xué)院測(cè)繪工程系
201*年7月哈爾濱
目錄
MATLAB應(yīng)用上機(jī)實(shí)驗(yàn)說(shuō)明----------------------------------------------------------------------2實(shí)驗(yàn)一MATLAB操作基礎(chǔ)、矩陣及其運(yùn)算-----------------------------------------------4實(shí)驗(yàn)二MATLAB實(shí)驗(yàn)三MATLAB實(shí)驗(yàn)四
程序設(shè)計(jì)-------------------------------------------------------------------15文件操作及繪圖、數(shù)據(jù)分析-------------------------------------------18圖形句柄及圖形用戶界面設(shè)計(jì)--------------------------------------------------22
MATLAB應(yīng)用上機(jī)實(shí)驗(yàn)說(shuō)明
MATLAB是一種應(yīng)用于科學(xué)計(jì)算領(lǐng)域的高級(jí)語(yǔ)言,MATLAB應(yīng)用是一門實(shí)踐性非常強(qiáng)的課程。要學(xué)好MATLAB應(yīng)用,上機(jī)實(shí)踐是十分重要的環(huán)節(jié),只有通過(guò)大量的上機(jī)實(shí)驗(yàn),才能真正掌握MATLAB程序設(shè)計(jì)。
一、上機(jī)實(shí)驗(yàn)的目的
上機(jī)實(shí)驗(yàn)主要是為了驗(yàn)證自己所編寫的程序的正確性,幫助理解MATLAB的語(yǔ)法規(guī)則,訓(xùn)練對(duì)問(wèn)題的分析及解決、設(shè)計(jì)的能力。總的來(lái)看,上機(jī)實(shí)驗(yàn)的目的有以下幾個(gè)方面:
1.熟悉MATLAB的程序集成環(huán)境。2.掌握程序調(diào)試技術(shù)。
3.加深課堂講授和書本內(nèi)容的理解。
4.通過(guò)上機(jī)編寫和調(diào)試程序,可使學(xué)生真正了解程序在計(jì)算機(jī)中的執(zhí)行過(guò)程以及解決實(shí)際問(wèn)題的過(guò)程,提高學(xué)習(xí)MATLAB應(yīng)用的興趣。
二、上機(jī)實(shí)驗(yàn)的基本要求
1.上機(jī)前的準(zhǔn)備工作
要使實(shí)驗(yàn)達(dá)到應(yīng)有的效果,在上機(jī)實(shí)驗(yàn)之前,必須知道本次實(shí)驗(yàn)的任務(wù),根據(jù)實(shí)驗(yàn)任務(wù),做好充分準(zhǔn)備工作,只有這樣才能做到目的明確,使實(shí)驗(yàn)達(dá)到應(yīng)有的效果。上機(jī)前的準(zhǔn)備工作包括以下幾個(gè)方面:
1)復(fù)習(xí)和掌握與本次實(shí)驗(yàn)有關(guān)的教學(xué)內(nèi)容。
2)根據(jù)實(shí)驗(yàn)的內(nèi)容,對(duì)問(wèn)題進(jìn)行認(rèn)真的分析,搞清楚要解決的問(wèn)題是什么?給定的條件是什么?要求的結(jié)果是什么?
3)根據(jù)應(yīng)用程序的主要功能,考慮通過(guò)什么方法來(lái)實(shí)現(xiàn),關(guān)鍵問(wèn)題是使用什么算法,在紙上編寫好相關(guān)功能的事件代碼。
4)預(yù)習(xí)實(shí)驗(yàn)步驟,對(duì)實(shí)驗(yàn)步驟中提出的一些問(wèn)題進(jìn)行思考,并給出初步的解決方案。2.上機(jī)實(shí)驗(yàn)的過(guò)程
1)啟動(dòng)MATLAB集成環(huán)境。
2)根據(jù)程序功能和事先的準(zhǔn)備,在調(diào)試運(yùn)行之前,首先應(yīng)將工程保存,以防調(diào)試過(guò)程出現(xiàn)死機(jī),而需從頭開始,浪費(fèi)時(shí)間。
3)調(diào)試程序,如果出現(xiàn)編譯錯(cuò)誤,根據(jù)程序提示,分析錯(cuò)誤原因進(jìn)行修改。如果無(wú)語(yǔ)法錯(cuò)誤,使用多組數(shù)據(jù)進(jìn)行測(cè)試,分析其輸出結(jié)果是否與預(yù)期的結(jié)果相符,如果不符,應(yīng)檢查程序有無(wú)寫錯(cuò),算法是否合理,將發(fā)現(xiàn)的錯(cuò)誤并逐個(gè)修正,并作記錄。
4)在程序調(diào)試和測(cè)試完畢后,再次保存程序。如果條件允許將程序和運(yùn)行結(jié)果打印在紙上,以備檢查。
5)按照實(shí)驗(yàn)步驟中的要求,對(duì)程序作必要的改動(dòng),或者增加一些功能等。從而進(jìn)一步理解MATLAB的操作。
三、實(shí)驗(yàn)報(bào)告的整理與編寫
上機(jī)實(shí)驗(yàn)結(jié)束后,編寫實(shí)驗(yàn)報(bào)告是軟件工程的要求,也是培養(yǎng)科學(xué)作風(fēng)的重要途徑,實(shí)驗(yàn)報(bào)告的主要內(nèi)容包括:
1.實(shí)驗(yàn)?zāi)康?/p>
實(shí)驗(yàn)作為教學(xué)的一個(gè)重要環(huán)節(jié),其目的在于更深入地理解和掌握課程教學(xué)中的有關(guān)基本概念,應(yīng)用基本技術(shù)解決實(shí)際問(wèn)題,從而進(jìn)一步提高分析問(wèn)題和解決問(wèn)題的能力。因此,當(dāng)我們著手做一個(gè)實(shí)驗(yàn)的時(shí)候,必須明確實(shí)驗(yàn)的目的,以保證達(dá)到課程所指定的基本要求。在寫實(shí)驗(yàn)報(bào)告時(shí),要進(jìn)一步確認(rèn)是否達(dá)到了預(yù)期的目的。
2.實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)的目的是通過(guò)解決一些具體問(wèn)題來(lái)達(dá)到的。在書中,每一部分都安排了實(shí)驗(yàn)題目,根據(jù)教學(xué)安排、進(jìn)度、實(shí)驗(yàn)條件、可提供的機(jī)時(shí)、學(xué)生的基礎(chǔ)等因素,可以選擇其中的幾個(gè)或全部。因此,在實(shí)驗(yàn)報(bào)告中,實(shí)驗(yàn)內(nèi)容是指本次實(shí)驗(yàn)中實(shí)際完成的內(nèi)容。在每一個(gè)實(shí)驗(yàn)題目中,一般都提出一些具體要求,其中有些具體要求是為了達(dá)到實(shí)驗(yàn)?zāi)康亩岢龅,不僅有具體的實(shí)驗(yàn)題目,還應(yīng)包括具體要求。
3.程序設(shè)計(jì)說(shuō)明
可包括算法設(shè)計(jì)思路,必要的流程圖,界面設(shè)計(jì)說(shuō)明、使用變量的說(shuō)明等。4.經(jīng)調(diào)試正確的源程序
MATLAB的源程序包括界面設(shè)計(jì)和代碼。程序設(shè)計(jì)的產(chǎn)品是程序,它應(yīng)與算法或流程圖相一致,要與用戶界面設(shè)計(jì)一致。程序要有具有易讀性,符合結(jié)構(gòu)化原則。
5.程序的運(yùn)行情況(包括對(duì)不同測(cè)試數(shù)據(jù)的運(yùn)行結(jié)果)
程序運(yùn)行結(jié)果一般是輸出語(yǔ)句所輸出的結(jié)果。對(duì)于不同的輸入,其輸出的結(jié)果是不同的。因此,在輸出結(jié)果之前一般還應(yīng)注明輸入的數(shù)據(jù),以便對(duì)輸出結(jié)果進(jìn)行分析和比較。在程序的運(yùn)行中,還必須用各種不同情況的數(shù)據(jù)進(jìn)行調(diào)試,以檢查程序能否正常運(yùn)行。因?yàn),有時(shí)程序?qū)δ承┣闆r是可以正常運(yùn)行的,而對(duì)某些特殊情況的數(shù)據(jù)可能會(huì)出現(xiàn)運(yùn)行出錯(cuò)或死機(jī),通過(guò)各種數(shù)據(jù)的調(diào)試,盡量做到程序不會(huì)出問(wèn)題。
6.分析和體會(huì)實(shí)驗(yàn)中碰到的問(wèn)題及解決方法
這是實(shí)驗(yàn)報(bào)告中最重要的一項(xiàng),也是最容易忽視的一項(xiàng)。實(shí)驗(yàn)過(guò)程中大量的工作是程序調(diào)試,在調(diào)試過(guò)程中會(huì)遇到各種各樣的問(wèn)題,每解決一個(gè)問(wèn)題就能積累一點(diǎn)經(jīng)驗(yàn),提高自己的編程能力。因此,對(duì)實(shí)驗(yàn)的總結(jié),最主要的是程序調(diào)試經(jīng)驗(yàn)的總結(jié)。調(diào)試分析也包括對(duì)結(jié)果的分析。體會(huì)主要是指通過(guò)本次實(shí)驗(yàn)是否達(dá)到了實(shí)驗(yàn)?zāi)康,有哪些基本概念得到了澄清,碰到了哪些以前沒(méi)有見(jiàn)到的問(wèn)題,最后采用什么方法得到解決等。
友情提示:本文中關(guān)于《MATLAB總結(jié)與上機(jī)指南》給出的范例僅供您參考拓展思維使用,MATLAB總結(jié)與上機(jī)指南:該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。