版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第10章LabVIEW與仿真技術(shù)10.1仿真技術(shù)概述10.2LabVIEW中的數(shù)字仿真本章小結(jié)練習(xí)與思考
10.1仿真技術(shù)概述
計(jì)算機(jī)仿真技術(shù)是一門利用計(jì)算機(jī)軟件模擬實(shí)際環(huán)境進(jìn)行科學(xué)試驗(yàn)的技術(shù)。它具有經(jīng)濟(jì)、可靠、實(shí)用、安全、靈活、可多次重復(fù)使用的優(yōu)點(diǎn),已經(jīng)成為對許多復(fù)雜系統(tǒng)進(jìn)行分析、設(shè)計(jì)、試驗(yàn)、評估的必不可少的手段。它是以數(shù)學(xué)理論為基礎(chǔ),以計(jì)算機(jī)和各種物理設(shè)施為設(shè)備工具,利用系統(tǒng)模型對實(shí)際的或設(shè)想的系統(tǒng)進(jìn)行試驗(yàn)仿真研究的一門綜合技術(shù)。
關(guān)于仿真的定義有很多種,其中雷諾(T.H.Naylar)于1966年在其專著中給出了仿真的定義:“仿真就是在數(shù)字計(jì)算機(jī)上進(jìn)行試驗(yàn)的數(shù)字化技術(shù),它包括數(shù)字與邏輯模型的某些模式,這些模式描述了某一事件或經(jīng)濟(jì)系統(tǒng)若干周期內(nèi)的特征?!睆囊陨系亩x我們可以看出,系統(tǒng)仿真實(shí)質(zhì)上包括了三個(gè)基本要素:系統(tǒng)、系統(tǒng)模型和計(jì)算機(jī)。而聯(lián)系這三個(gè)要素的就是我們在系統(tǒng)仿真過程中所涉及到的建立模型、建立仿真模型和仿真實(shí)驗(yàn)。從學(xué)科的角度,我們也可以作如下定義:系統(tǒng)仿真是建立在控制理論、相似理論、信息理論和計(jì)算機(jī)技術(shù)等理論基礎(chǔ)之上的,以計(jì)算機(jī)和其他物理效應(yīng)設(shè)備為工具,利用系統(tǒng)模型對真實(shí)或者是假想的系統(tǒng)進(jìn)行實(shí)驗(yàn),并借助專家經(jīng)驗(yàn)知識、統(tǒng)計(jì)數(shù)據(jù)和信息資料對試驗(yàn)結(jié)果進(jìn)行分析和研究,進(jìn)而作出決策的一門綜合性的試驗(yàn)性科學(xué)。
1.系統(tǒng)仿真的分類
系統(tǒng)仿真按照不同的分類規(guī)則有著不同的分類方法。根據(jù)研究系統(tǒng)的特征可以分為兩大類,即連續(xù)系統(tǒng)仿真和離散事件系統(tǒng)仿真。按照仿真實(shí)驗(yàn)中所取時(shí)間標(biāo)尺與自然時(shí)間的時(shí)間標(biāo)尺之間的關(guān)系,可以分為實(shí)時(shí)系統(tǒng)仿真和非實(shí)時(shí)系統(tǒng)仿真兩類。按照參與仿真的模型種類的不同,可將其分為物理系統(tǒng)仿真、數(shù)學(xué)系統(tǒng)仿真和半實(shí)物系統(tǒng)仿真三種類型。
2.系統(tǒng)仿真實(shí)驗(yàn)的過程和步驟
系統(tǒng)仿真實(shí)驗(yàn)的過程和步驟一般包含以下幾個(gè)階段。
1)建模階段
在建模階段,主要是按照系統(tǒng)模塊建立各個(gè)模塊的模型。若系統(tǒng)模型為數(shù)學(xué)模型,則需要將數(shù)學(xué)模型轉(zhuǎn)換為可以在仿真計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)模型;若為物理模型,則需要我們按照系統(tǒng)功能模塊在性能和功能上覆蓋系統(tǒng)的對應(yīng)部分。
2)模型實(shí)驗(yàn)階段
模型實(shí)驗(yàn)階段可以分為以下幾個(gè)部分:根據(jù)實(shí)驗(yàn)?zāi)康闹贫▽?shí)驗(yàn)計(jì)劃、核實(shí)實(shí)驗(yàn)大綱,根據(jù)計(jì)劃和大綱設(shè)計(jì)最為合理的實(shí)驗(yàn)流程,選擇待測參數(shù)和相應(yīng)的測量儀器,運(yùn)轉(zhuǎn)模型并記錄仿真實(shí)驗(yàn)結(jié)果。
3)結(jié)果分析階段
建模階段和模型實(shí)驗(yàn)階段的最終目的就是得出實(shí)驗(yàn)結(jié)果,這也是我們仿真的主要目的,因?yàn)閷?shí)驗(yàn)的結(jié)果反映的是仿真模型系統(tǒng)的特性和本質(zhì)。在這里,就需要我們對記錄的實(shí)驗(yàn)結(jié)果進(jìn)行分析,通過分析來判斷仿真系統(tǒng)的合理性。如果結(jié)果判定為合理的,證明仿真系統(tǒng)模型較為良好;否則,需要對我們前面建立的模型和模型實(shí)驗(yàn)階段進(jìn)行的實(shí)驗(yàn)工作進(jìn)行修改和檢查,然后再進(jìn)行實(shí)驗(yàn),直到獲得滿意的結(jié)果。10.2LabVIEW中的數(shù)字仿真
10.2.1LabVIEW中的數(shù)字仿真簡介
作為測試領(lǐng)域?qū)S玫腖abVIEW,其最早期的主要任務(wù)是完成測試的相關(guān)功能。隨著LabVIEW不斷地更新和發(fā)展,其在數(shù)學(xué)分析和信號處理方面的能力也在不斷地增強(qiáng)。我們可以利用LabVIEW本身含有的數(shù)學(xué)工具做一些仿真方面的工作,NI公司推出的LabVIEW仿真與控制工具包對仿真和控制也提供了強(qiáng)大的支持。10.2.2LabVIEW中的數(shù)字仿真算法模塊
在LabVIEW中,可以利用Function模板中的數(shù)學(xué)分析工具實(shí)現(xiàn)數(shù)字仿真算法。在此,我們主要介紹利用Function→Analyze→Mathematics→Calculus→DifferentialEquation模塊來求解微分方程。在此模塊中主要包括了經(jīng)典4階Runge-Kutta方法、5階Cash-Karp方法、歐拉(Euler)方法等常見的求解微分方程數(shù)值解的仿真算法。在求解n維齊次線性微分方程和n階齊次微分方程的時(shí)候,還可以求解相應(yīng)的公式解。
圖10-1顯示了DifferentialEquation模塊中包含的函數(shù)模塊。圖10-1DifferentialEquations模塊示意圖
DifferentialEquations模板中的模塊功能簡介如表10-1所示。下面我們結(jié)合LabVIEW和實(shí)際的仿真算法給出一些實(shí)例。
1.用Euler法求解微分方程
Euler(歐拉)法是一種最簡單的顯式單步法求解微分方程,它利用差商代替導(dǎo)數(shù)進(jìn)行計(jì)算。對于如下形式的微分方程:求在區(qū)間[a,b]上的解。設(shè)節(jié)點(diǎn)為
xn=x0+nh
n?=?0,1,2,…則可以得到微分方程近似的形式為即那么我們從x0出發(fā),可以求解出y(x0)?=?y0,進(jìn)而得到:繼續(xù)這個(gè)過程,我們可以得到一般的形式:
這就是Euler方法。下面我們給出一個(gè)實(shí)例來說明如何利用LabVIEW中的ODEEulerMethod.vi來求解微分方程。求解如下的微分方程:在區(qū)間[0,1]上的數(shù)值解,取h=0.1并與精確解相比較。以下是對本實(shí)例中所用到的幾個(gè)VI的詳細(xì)介紹:
1)?ODEEulerMethod.vi
ODEEulerMethod.vi位于Function→Analyze→Mathematics→Calculus→DifferentialEquation中,其圖標(biāo)和端口如圖10-2所示。圖10-2ODEEulerMethod.vi端口功能:用于求解微分方程。
主要端口說明:
X(nameofvariables):變量名;
timestart:開始時(shí)間,默認(rèn)值為0;
timeend:結(jié)束時(shí)間,默認(rèn)值為1.0;
h(steprate):積分步長,默認(rèn)值為0.1;
X0:初始條件;
time:時(shí)間變量名稱,默認(rèn)值為t;
F(X,t):微分方程的右邊公式;
Times:時(shí)間步長,為一個(gè)數(shù)組形式;
XValues:變量值,為最后的計(jì)算結(jié)果;
ticks:計(jì)算所耗去的時(shí)間;
error:錯(cuò)誤輸出。
2)?Evaly=f(x).vi
Evaly=f(x).vi位于Function→Analyze→Mathematics→1Dand2DEvaluation中,其圖標(biāo)和端口如圖10-3所示。圖10-3Evaly=f(x).vi端口功能:用于按照公式計(jì)算函數(shù)值。
主要端口說明:
numberofpoints:所要參與計(jì)算的點(diǎn)數(shù);
start:自變量的起始值;
end:自變量的終值;
formula:函數(shù)公式;
Xvalues:參與計(jì)算的自變量值,其值按照步長給定;
Yvalues:計(jì)算的函數(shù)值;
ticks:完成函數(shù)計(jì)算所耗費(fèi)的時(shí)間;
error:錯(cuò)誤輸出。在進(jìn)行計(jì)算時(shí),需要注意以下幾點(diǎn):
(1)變量名X(nameofvariables)主要是指所要求解的y(x)。在LabVIEW中我們建議采用x、y、z等符號來表示,在后面的Runge-Kutta方法中我們會看到一個(gè)實(shí)例,其中需要求解三個(gè)參量的數(shù)值解,就采用的是x、y、z這樣的表示方法。
(2)端口timestart和timeend在平時(shí)我們求解微分方程的時(shí)候常常稱為求解區(qū)間,也就是自變量的取值區(qū)間。h為積分步長,可以按照我們自己的定義進(jìn)行設(shè)置。
(3)端口time是指自變量的名稱值,默認(rèn)值為t。在進(jìn)行設(shè)定的時(shí)候要注意time的值要與F(X,t)表達(dá)式中的自變量值取得一致。在本例中我們將time值設(shè)定為x,這樣可以將原微分方程的表達(dá)式直接填寫在F(X,t)中。
(4)端口Times為一時(shí)間步長的數(shù)組,可以用來標(biāo)定我們所得到的數(shù)值解,其每個(gè)時(shí)間值均對應(yīng)著一個(gè)數(shù)值解。這樣我們可以很方便地定位其中的某一個(gè)數(shù)值解。端口XValues為輸出的數(shù)值解,其輸出和X(nameofvariables)變量名一一對應(yīng)。
(5)端口ticks為完成整個(gè)函數(shù)所耗費(fèi)的時(shí)間。我們可以通過這個(gè)端口來判斷計(jì)算是否超時(shí),因?yàn)樵谝恍?shí)時(shí)性要求比較高的場合,若函數(shù)計(jì)算所耗費(fèi)的時(shí)間比較高,就不能滿足要求,這樣的話需要重新考慮編寫微分方程的求解算法。
圖10-4為用Euler法求解微分方程的前面板圖,圖10-5為相對應(yīng)的流程框圖。圖10-4用Euler法求解微分方程的前面板圖圖10-5用Euler法求解微分方程的流程框圖
2.用4階Runge-Kutta法求解微分方程
在求解微分方程的時(shí)候,為了避免計(jì)算高階導(dǎo)數(shù),且能夠得到較高階的數(shù)值方法,Runge-Kutta方法利用原函數(shù)在某些點(diǎn)處的值的線性組合,構(gòu)造出一類計(jì)算公式,使其按照泰勒公式展開后與初值問題的解的泰勒展開比較,有盡可能多的項(xiàng)完全相同,這種方法間接應(yīng)用了泰勒展開的思想,避免了計(jì)算高階導(dǎo)數(shù)。
經(jīng)典的4階RungeKutta方法公式為:利用上面所給的公式求解微分方程是比較耗費(fèi)時(shí)間的。如果利用LabVIEW中提供的ODERungeKutta4thOrder.vi來求解微分方程的數(shù)值解則會變得很方便。下面,我們給出一個(gè)運(yùn)用ODERungeKutta4thOrder.vi求解微分方程的實(shí)例。求解如下的微分方程:初始條件為:x(0)=1,y(0)=1,z(0)=1,t∈[0,1]。
ODERungeKutta4thOrder.vi位于Function→Analyze→Mathematics→Calculus→DifferentialEquation中,其圖標(biāo)和端口如圖10-6所示。
圖10-6ODERungeKutta4thOrder.vi端口功能:用于求解微分方程。主要端口說明:
X(nameofvariables):變量名;
timestart:開始時(shí)間,默認(rèn)值為0;
timeend:結(jié)束時(shí)間,默認(rèn)值為1.0;
h(steprate):積分步長,默認(rèn)值為0.1;
X0:初始條件;
time:時(shí)間變量名稱,默認(rèn)值為t;
F(X,t):微分方程的右邊公式;
Times:時(shí)間步長,為一個(gè)數(shù)組形式;
XValues:變量值,為最后的計(jì)算結(jié)果;
ticks:計(jì)算所耗去的時(shí)間;
error:錯(cuò)誤輸出。
在進(jìn)行計(jì)算時(shí),需要注意以下幾點(diǎn):
(1)?X(變量名)就是在圖10-7中所列出的x、y和z,分別對應(yīng)在微分方程中出現(xiàn)的x(t)、y(t)、z(t)。
(2)?F(X,t)則對應(yīng)了微分方程右邊的公式。在本例中我們可以按照X(變量名)的規(guī)則來替代。這樣我們可以把F(X,t)分別變換為:10*(y-x),x*(28-z)-y,x*y-(8/3)*z。
(3)?XValues(數(shù)值解)就是我們所需要的數(shù)值解。其中第一列對應(yīng)x(t),第二列對應(yīng)y(t),第三列對應(yīng)z(t)。
圖10-7為用4階RungeKutta法求解微分方程的前面板圖,圖10-8為相對應(yīng)的流程框圖。圖10-7用4階RungeKutta法求解微分方程的前面板圖圖10-8用4階RungeKutta法求解微分方程的流程框圖
3.用5階CashKarp法求解微分方程
在前面的例子中我們已經(jīng)介紹了用經(jīng)典的4階RungeKutta法求解微分方程,本例中我們將介紹5階CashKarp法。5階CashKarp法用于求解包含起始條件的常微分方程。CashKarp法為Runge-Kutta公式,每次循環(huán)需要6個(gè)等式,如下所示:上述公式比Runge-Kutta公式更為復(fù)雜,參數(shù)也更多,所需的計(jì)算量也相應(yīng)地增加了。但該算法的計(jì)算效率較高,因此在一些要求較嚴(yán)格的場合是比較適用的。在這里,我們用5階CashKarp法來求解和介紹Runge-Kutta法時(shí)所用的相同的微分方程,可以將兩種計(jì)算結(jié)果進(jìn)行比較。
求解如下的微分方程:初始條件為:x(0)=0.6,y(0)=0.6,x(0)=0.6,t∈[0,50]。
ODECashKarp5thOrder.vi位于Function→Analyze→Mathematics→Calculus→DifferentialEquation中,其圖標(biāo)和端口如圖10-9所示。圖10-9ODECashKarp5thOrder.vi端口功能:用于求解微分方程。
主要端口說明:
X(nameofvariables):變量名;
timestart:開始時(shí)間,默認(rèn)值為0;
timeend:結(jié)束時(shí)間,默認(rèn)值為1.0;
h(steprate):積分步長,默認(rèn)值為0.1;
X0:初始條件;
accuracy:準(zhǔn)確度,用來控制計(jì)算結(jié)果。默認(rèn)值為0.0;
time:時(shí)間變量名稱,默認(rèn)值為t;
F(X,t):微分方程的右邊公式;
Times:時(shí)間步長,為一個(gè)數(shù)組形式;
XValues:變量值,為最后的計(jì)算結(jié)果;
ticks:計(jì)算所耗去的時(shí)間;
error:錯(cuò)誤輸出。
在計(jì)算時(shí),需要注意以下幾點(diǎn):
(1)5階CashKarp法比Runge-Kutta法多了一個(gè)參數(shù)設(shè)定,即accuracy端口??梢岳胊ccuracy來控制計(jì)算結(jié)果的準(zhǔn)確度。
(2)圖10-10為用5階CashKarp法求解微分方程的前面板圖。我們把計(jì)算結(jié)果以圖表的形式顯示在XYGraph中,雖然求解了三組結(jié)果,但看起來像只有兩組結(jié)果。這是因?yàn)閷τ趚(t)和y(t)來說,其結(jié)果非常接近,所以不太好分辨。在實(shí)際計(jì)算時(shí)圖表的表示是非常清楚的,我們可以設(shè)置不同的顏色來區(qū)分不同的計(jì)算結(jié)果。圖10-10用5階CashKarp法求解微分方程的前面板圖圖10-11為用5階CashKarp法求解微分方程的前面板圖對應(yīng)的流程框圖。圖10-11用5階CashKarp法求解微分方程的流程框圖
4.用LinearnthOrder法求解微分方程下面我們介紹利用ODELinearnthOrderNumeric.vi來求解n階齊次常微分方程。考慮如下常系數(shù)n階微分方程:初始條件為以下是對本例中所用到的幾個(gè)VI的詳細(xì)介紹:
1)?ODELinearnthOrderNumeric.vi
ODELinearnthOrderNumeric.vi位于Function→Analyze→Mathematics→Calculus→DifferentialEquation,其圖標(biāo)和端口如圖10-12所示。圖10-12ODELinearnthOrderNumeric.vi端口功能:用于求解微分方程(數(shù)值解)。
主要端口說明:
A(a0,a1,…,an-1):系數(shù)矩陣;
X0:初始條件;
numberofpoints:所需要的計(jì)算點(diǎn)數(shù);
timestart:開始時(shí)間,默認(rèn)值為0;
timeend:結(jié)束時(shí)間,默認(rèn)值為1.0;
Times:時(shí)間步長,為一個(gè)數(shù)組形式;
X:變量值,為最后的計(jì)算結(jié)果;
error:錯(cuò)誤輸出。
2)?ODELinearnthOrderSymbolic.vi
ODELinearnthOrderSymbolic.vi位于Function→Analyze→Mathematics→Calculus→DifferentialEquation中,其圖標(biāo)和端口如圖10-13所示。圖10-13ODELinearnthOrderSymbolic.vi端口功能:用于求解微分方程(公式形式)。
主要端口說明:
A(a0,a1,...,an-1):系數(shù)矩陣;
X0:初始條件;
formula:所得到的公式解;
error:錯(cuò)誤輸出。
在進(jìn)行計(jì)算時(shí),需要注意:在本例中我們采用了ODELinearnthOrderNumeric.vi和ODELinearnthOrderSymbolic.vi兩種不同的表示形式來求解微分方程。在實(shí)際應(yīng)用的時(shí)候,可以根據(jù)需要來選擇最后的表示形式。從這個(gè)例子我們也可以看出,在LabVIEW中求解n階齊次常微分方程變得非常簡單。圖10-14為用LinearnthOrder法求解微分方程的前面板圖,圖10-15為相對應(yīng)的流程框圖。圖10-14用LinearnthOrder法求解微分方程的前面板圖圖10-15用LinearnthOrder法求解微分方程的流程框圖
5.用LinearSystem法求解n維齊次線性微分方程
下面我們介紹利用ODELinearSystemNumeric.vi求解n維齊次線性微分方程。考慮如下常系數(shù)n維齊次線性微分方程:初始條件為:對于此類微分方程,我們可以利用ODELinearSystemNumeric.vi或者ODELinearSystemSymbolic.vi來求解。ODELinearSystemNumeric.vi輸出為方程的數(shù)值解,而ODELinearSystemSymbolic.vi輸出為公式解。以下是對本例中所用到的幾個(gè)VI的詳細(xì)介紹:
1)?ODELinearSystemNumeric.vi
ODELinearSystemNumeric.vi位于Function→Analyze→Mathematics→Calculus→DifferentialEquation中,其圖標(biāo)和端口如圖10-16所示。圖10-16ODELinearSystemNumeric.vi端口功能:用于求解n維齊次線性微分方程(數(shù)值解)。
主要端口說明:
A(matrixofcoefficients):系數(shù)矩陣;
X0(startvalue):初始條件;
numberofpoints:所需要的計(jì)算點(diǎn)數(shù);
timestart:開始時(shí)間,默認(rèn)值為0;
timeend:結(jié)束時(shí)間,默認(rèn)值為1.0;
Times:時(shí)間步長,為一個(gè)數(shù)組形式;
X:變量值,為最后的計(jì)算結(jié)果;
error:錯(cuò)誤輸出。
2)?ODELinearSystemSymbolic.vi
ODELinearSystemSy
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024山東勞動合同履行監(jiān)督與評估合同3篇
- 《需要多少錢》(教學(xué)實(shí)錄)-2024-2025學(xué)年三年級上冊數(shù)學(xué)北師大版
- 2025版高考生物一輪總復(fù)習(xí)第4單元細(xì)胞的生命歷程第3講減數(shù)分裂和受精作用課后提能演練
- 2024年度全程無憂雞苗運(yùn)輸與養(yǎng)殖保險(xiǎn)服務(wù)合同3篇
- 2024年度中央空調(diào)運(yùn)行管理合同3篇
- 2024版壁紙創(chuàng)意設(shè)計(jì)大賽作品授權(quán)合同范本2篇
- 六安職業(yè)技術(shù)學(xué)院《英語學(xué)科與教材研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度教育機(jī)構(gòu)合作協(xié)議:學(xué)校信報(bào)箱使用管理與維護(hù)3篇
- 個(gè)人貨物抵押借款合同
- 主題六 任務(wù)一 初識計(jì)算機(jī)網(wǎng)絡(luò) 教學(xué)實(shí)錄 -2023-2024學(xué)年桂科版初中信息技術(shù)七年級上冊
- 期末測試卷(一)2024-2025學(xué)年 人教版PEP英語五年級上冊(含答案含聽力原文無聽力音頻)
- 2023-2024學(xué)年廣東省深圳市南山區(qū)八年級(上)期末英語試卷
- 2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(100分)
- 2024年上海市中考語文備考之150個(gè)文言實(shí)詞刷題表格及答案
- 2024年漢口銀行股份有限公司招聘筆試沖刺題(帶答案解析)
- 2024年日歷表(空白)(一月一張-可編輯做工作日歷)
- 廣東省中山市2023-2024學(xué)年四年級上學(xué)期期末數(shù)學(xué)試卷
- 2022-2024年國際經(jīng)濟(jì)與貿(mào)易專業(yè)人才培養(yǎng)調(diào)研報(bào)告
- 奇門遁甲入門教程(不收費(fèi))課件
- 13.56M天線的設(shè)計(jì)
- 慢性腎衰中醫(yī)護(hù)理方案
評論
0/150
提交評論