




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1、. Ctrl+C 中斷正在執(zhí)行的操作如果程序不小心進(jìn)入死循環(huán),或者計算時間太長,可以在命令窗口中使用Ctrl+c來中斷。MATLAB這時可能正疲于應(yīng)付,響應(yīng)會有些滯后。2. figure命令新建一個繪圖窗口figure 可以打開一個空的繪圖窗口,接下的繪圖命令可以將圖畫在它里面,而不會覆蓋以前的繪圖窗口。當(dāng)有多個figure窗口時,在命令窗口中執(zhí)行如Plot等命令將覆蓋當(dāng)前figure窗口中的對象。所謂的當(dāng)前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到)。figure(N),將編號為N的窗口置為當(dāng)前figure,出現(xiàn)在所有窗口的最前面,如果該窗口不存
2、在,則新建一個編號為N的空白figure。3. 注釋掉一段程序:%、%。經(jīng)典方法是用 if 0,但缺點(diǎn)是不夠直觀,注釋掉的內(nèi)容仍然保持代碼的顏色?,F(xiàn)在可以用 %和 的組合。輸入%后,后面的代碼都會變綠,在注釋結(jié)束的地方再加上 % 。也可以選中要注釋內(nèi)容,在右鍵菜單中選擇Comment (Uncomment去掉注釋標(biāo)記),或使用快捷鍵Ctrl+R。將光標(biāo)放在需要注釋的行中,按Ctrl+R,將該行變?yōu)樽⑨?。取消注釋也是一樣的,快捷鍵為Ctrl+T。4. doc 命令名,打開命令的幫助文檔與help命令不同,幫助文檔MATLAB
3、Help中對命令的描述更詳細(xì),往往還有一些例子,更便于理解。5. clc 清屏清除命令窗口中的所有輸入和輸出信息,不影響命令的歷史記錄。6. clear 和clear allclear 變量名:可以清除workspace中的無用的變量,尤其是一些特別大的矩陣,不用時及時清理,可以減少內(nèi)存占用。clear all 清除所有的變量,使workspace一無所有,當(dāng)重新開始一次算法驗證時,最好執(zhí)行一次,讓workspace中的變量一目了然。7. close all如果開了多個繪圖窗口,用這個命令將它們一起關(guān)掉。8. 上下光標(biāo)鍵在命令窗口中,上下光標(biāo)鍵
4、可以將歷史記錄中的命令復(fù)制到輸入位置,便于快速重新執(zhí)行。如果輸入命令的前幾個字母如 row, col =,再使用光標(biāo)鍵,則只會選擇以這些字母開始的命令。9. Tab補(bǔ)全對名稱記得不太清楚的命令,可以輸入開頭的幾個字母,然后按Tab鍵,當(dāng)只有一個以這些字母開頭的命令時,將自動補(bǔ)全命令名,否則顯示一個命令名列表,方便從中選擇。當(dāng)然,只在命令窗口中有效。10. cell模式在一個長長的腳本m文件中,可能需要對其中的一段反復(fù)修改,查看執(zhí)行效果,這時,cell模式就非常有用了。cell模式相當(dāng)于將其中的代碼拷貝到命令窗口中運(yùn)行。兩個%后接一個空格(% )開始一個cell。將輸入光標(biāo)放到一個ce
5、ll中時,背景將變?yōu)闇\黃色,Ctrl+Enter執(zhí)行cell中的代碼。執(zhí)行cell中代碼時不需要保存m文件,該m文件可以不在路徑列表中。cell模式中,斷點(diǎn)不起作用,當(dāng)然,調(diào)用的子程序中的斷點(diǎn)還是正常的。11. 獲取文件列表,批處理MATLAB內(nèi)置了一些文件操作命令,例如cd(切換工作目錄),dir(同ls,顯示目錄內(nèi)文件列表)等。dir命令可以返回目錄中的文件和文件夾列表,存在一個結(jié)構(gòu)體數(shù)組中。如果需要對一些數(shù)據(jù)文件進(jìn)行批處理,而文件名又沒有一定的規(guī)律,你可能需要借助于這個命令。 Matlab注釋技巧1. m文件如果是函數(shù),保存的文件名最好與函數(shù)名一致,這點(diǎn)都很清楚。不過
6、容易疏忽的是,m文件名的命名盡量不要是簡單的英文單詞,最好是由大小寫英文/數(shù)字 /下劃線等組成。原因是簡單的單詞命名容易與matlab內(nèi)部函數(shù)名同名,結(jié)果會出現(xiàn)一些莫名其妙的錯誤。例如,寫個m文件,命名為spy,運(yùn)行時就彈出一個怪怪的figure,呵呵,我當(dāng)初還以為是什么bug。2. 調(diào)試程序時,經(jīng)常要屏蔽掉一整段程序進(jìn)行,也就是將其標(biāo)示注釋符%。有兩個辦法:一種是選定后 ctrl+r和ctrl+t 一種是在段首加 if 0 ,段尾加 end,中間都不執(zhí)行,也就相當(dāng)于注釋掉了3. 寫m文件時,選中某段程序內(nèi)容,ct
7、rl+i 讓matlab幫你自動對齊程序。這樣程序看起來很有層次,容易發(fā)現(xiàn)程序中的錯誤。4. ctrl+F2作標(biāo)簽,ctrl+g 跳至某一行,這些快捷鍵都很實(shí)用。5 matlab7中有塊注釋符號% 和 %6 多行加標(biāo)注時,也可以選中需要添加標(biāo)注程序,然后在Edit中/或者右鍵選擇Comment。或者Uncomment除掉標(biāo)注 MATLAB內(nèi)存管理用 Matlab 進(jìn)行大規(guī)??茖W(xué)計算或仿真時,內(nèi)存是一個需要時常注意的問題。在matlab里運(yùn)行>>system_dependent memstats就可以看到
8、內(nèi)存的使用狀況。當(dāng)你寫的 Matlab 程序跳出“Out of Memory” 時,以下幾點(diǎn)措施是需要優(yōu)先考慮的解決方法:1. 升級內(nèi)存2. 升級64位系統(tǒng)3. 增加虛擬內(nèi)存4. 采用3GB開關(guān)啟動系統(tǒng)由于32位 Windows 操作系統(tǒng)的限制,每個進(jìn)程只能使用最多 2GB 的虛擬內(nèi)存地址空間,因此 Matlab 的可分配內(nèi)存也受到相應(yīng)的限制。Matlab 7.0.1 引進(jìn)了新的內(nèi)存管理機(jī)制,可以利用 Windows 的 3G
9、B 開關(guān),使用 3GB 開關(guān)啟動的 Windows 每個進(jìn)程可以在多分配 1 GB 的虛擬地址空間。具體做法是:修改C盤根目錄 boot.ini 啟動選項加上 /3G,例如:multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3G5. 如果必有必要,不要啟動java虛擬機(jī),采用matlab -nojvm
10、啟動 (在快捷方式屬性里面的 "./matlab.exe") 改為("./matlab.exe" - nojvm)6. 關(guān)閉Matlab Server7. Windows中字體、窗口等都是要占用系統(tǒng)資源的,所以在Matlab運(yùn)行時盡量不要打開不用的窗口。除此以外,更關(guān)鍵的是需要弄清楚以下幾個問題:問題一:Matlab是如何存儲矩陣的?Matlab中矩陣是以Block,也就是塊的形式存儲的。也就是說,當(dāng)Matlab在為即將存儲的矩陣劃分塊時,如果沒有相應(yīng)大小的連續(xù)內(nèi)存,即使實(shí)際內(nèi)存沒有被完全使用,它還是會報告“Out
11、 of Memory”。問題二:如何高效使用Memory?Matlab 中數(shù)組必須占用連續(xù)分配的內(nèi)存段,當(dāng)無法為新建的數(shù)組分配連續(xù)的內(nèi)存段的時候,”O(jiān)ut of Memory” 就會出現(xiàn)。在使用的過程中,由于存儲單元的不斷的被分配和清除,反復(fù)分配和釋放數(shù)組會使內(nèi)存被分割成不連續(xù)的區(qū)域,可用的連續(xù)內(nèi)存段減少,很容易造成 “Out of Memory”。因此當(dāng)Matlab 剛剛啟動時其連續(xù)內(nèi)存最多,此時往往可以新建非常大的數(shù)組,這一點(diǎn)可以用命令 feature(memstats)(在 7.0 版本以上)看出。如果現(xiàn)實(shí)的最大連續(xù)內(nèi)
12、存段很小,但實(shí)際可用內(nèi)存(非連續(xù)的)仍舊很多,則表明內(nèi)存中碎片太多了。此時可以考慮用 pack 命令,pack 命令的作用就是將所有內(nèi)存中的數(shù)組寫入硬盤,然后重新建立這些數(shù)組,以減少內(nèi)存碎片。此外,在命令行或者程序中都可以使用 clear 命令,隨時減少不必要的內(nèi)存。因此,治本的方法如下:1. 在命令行輸入 pack 整理內(nèi)存空間當(dāng)內(nèi)存被分為很多碎片以后,其實(shí)本身可能有很大的空間,只是沒有作構(gòu)的連續(xù)空間即大的Block而已。如果此時Out of Memory,此時使用pack命令可以很好的解決此問題。2.
13、;使用稀疏矩陣或?qū)⒕仃囖D(zhuǎn)化成稀疏形式 sparse如果矩陣中有大量的0,最好存儲成稀疏形式。稀疏形式的矩陣使用內(nèi)存更少,執(zhí)行時間更短。例如:000×1000的矩陣X,它2/3的元素為0,使用兩種存儲方法的比較:NameSizeBytesClassX1000x10008000000double arrayY1000x10004004000double array (sparse)3. 盡量避免產(chǎn)生大的瞬時變量,把沒必要的變量clear掉或當(dāng)它們不用的時候應(yīng)該及時clear。4. 減少變量,盡量的重復(fù)使用變量(跟不用的clear掉一個意思)。5.
14、把有用的變量先save,后clear 掉,需要時再讀出來。下面介紹一下關(guān)于clear、save、load的特殊用法,這對在for或while等多重循環(huán)里出現(xiàn)out of memory非常有效。for k = 1:N % N為循環(huán)次數(shù)% - var0 = k; % 獲得變量var0
15、160; %- string = sprintf('var_%d', k) ' = var0;' ; eval(string); &
16、#160; % 等價于 var_k = var0; save(sprintf('var_%d.mat', k),
17、 sprintf('var_%d'); % 等價于 save var_k.mat var_k clear(sprintf('var_%d');
18、 % 等價于 clear var_kend如果要讀取剛才存取的變量var_k, (k = 1,2, ., N). 那么,可以使用如下用法:for k = 1:N load(sprintf('var_%d.mat', k); % 等價于 load var_k.mat
19、 k = 1,2, ., Nend另外,還有一些非常有用的用法。如果用清除剛才讀取的變量 var_k, k = 1, 2, ., Nclear '-regexp' 'var_' % 清除所有以“ var_ ”開頭的變量還有很多關(guān)于save、clear、load等用法,具體help一下。6. 使用單精度 single 短整數(shù)替代雙精度 doubleMatlab 默認(rèn)的數(shù)字類型是雙精度浮
20、點(diǎn)數(shù) (double),每個雙浮點(diǎn)數(shù)占用 8 個字節(jié)。對于一些整數(shù)操作來說,使用雙浮點(diǎn)數(shù)顯得很浪費(fèi)。在 Matlab 中可以在預(yù)先分配數(shù)組時指定使用的數(shù)字類型如以下命令:zero(10, 10, uint8) 。對于浮點(diǎn)數(shù),在很多精度要求不高的情況下,可以使用4個字節(jié)的單浮點(diǎn)數(shù)(single),可以減少一半的內(nèi)存。關(guān)于單、雙浮點(diǎn)數(shù)的精度對照如下,以便根據(jù)需要選擇使用:single: 精度 (1.1921e-007) 最大數(shù) (3.4028e+038)double: 精度
21、60;(2.2204e-016) 最大數(shù) (1.7977e+308)7. 為矩陣變量預(yù)制內(nèi)存而不是動態(tài)分配在動態(tài)分配的過程中,由于開始Matlab所用的Block隨著矩陣的增大而連續(xù)的為此矩陣分配內(nèi)存,但是由于Block的不連續(xù)性,很有可能最開始分配的Block不能滿足存儲的需要,Matlab只好移動此Block以找到更大的Block來存儲,這樣在移動的過程中不但占用了大量的時間,而且很有可能它找不到更大的塊,導(dǎo)致Out of Memory。而當(dāng)你為矩陣變量預(yù)制內(nèi)存時,Matlab會在計算開始前一次性找到最合適的Block,此時就不用為變量連續(xù)的分配內(nèi)存。比較下面
22、兩個程序:for k = 2:1000 x(k) = x(k-1) + 5;endx = zeros(1, 1000);for k = 2:1000 x(k) = x(k-1) + 5;end顯然,第二個更好!最好的方法是,在程序一開始就位所有大的矩陣變量預(yù)制存存儲單元!8. 盡量早的為大的矩陣變量預(yù)制內(nèi)存Matlab使用heap method管理內(nèi)存。當(dāng)在Matlab heap中沒有足夠的內(nèi)存使用時,它會向系統(tǒng)請求內(nèi)存。但是只要內(nèi)存碎片可以存下當(dāng)前的變量,Matlab會重新使用內(nèi)存。比如:a
23、 = rand(1e6,1);b = rand(1e6,1);使用大約15.4 MB RAMc = rand(2.1e6,1);使用近似16.4 MB RAMa = rand(1e6,1);b = rand(1e6,1);clearc = rand(2.1e6,1);使用32.4 MB RAMMatlab不能使用a、b被clear的空間,因為它們均小于2.1 MB,而同時它們也很可能是不連續(xù)的。最好的方法:c = rand(2.1e6,1);cleara = rand(1e6,1);b = rand(1e6,1);使用16.4 MB RAM9. 如果可行的話,將一個大的矩陣劃分為幾個
24、小的矩陣,這樣每一次使用的內(nèi)存減少。 Matlab中的保存數(shù)據(jù)語句比較在Matlab中,我們經(jīng)常遇到需要將一些中間數(shù)據(jù)或者最終結(jié)果保存為文本形式(*.txt);其中提供了多種保存數(shù)據(jù)的語句,應(yīng)該如何選擇喃?在此,小弟在使用了fprintf、save、dlmwrite的基礎(chǔ)上,對這三種方法進(jìn)行了一個比較:fprintf(fid, format, A, .),將數(shù)據(jù)A以format表示的格式寫入fid(文件)中,fid由fopen函數(shù)返回得到。實(shí)例: x = 0:.1:1;A = x; exp(x);fid = fopen('exp.txt
25、9;, 'wt');fprintf(fid, '%6.2f %12.8fn', A);fclose(fid)save filename.txt A -format,將數(shù)據(jù)A以format表示的格式寫入filename文本文件中。實(shí)例: x = 0:.1:1;A = x; exp(x);save data.txt A -ASCIIdlmwrite('filename.txt', A, 'D', R, C),從矩陣A的第R行、第C列開始,使用分隔符D分割數(shù)據(jù)(“t”表示
26、tab分割,“,”為默認(rèn)分割符),存儲到filename文本文件中。實(shí)例: x = 0:.1:1;A = x; exp(x);dlmwrite(data.txt', A, 'delimiter', 't', 'precision', 6);使用時,save保存的數(shù)據(jù)是以科學(xué)計數(shù)法的方式存儲的;fprintf和dlmwrite則是可以選擇存儲數(shù)據(jù)的方式,fprintf的格式設(shè)置跟C語言中的用法一致,dlmwrite可以設(shè)置有效位位數(shù),比如上面實(shí)例中6表示有效位位數(shù)是6位,dlmwrite中對數(shù)據(jù)中的小數(shù)就采用浮點(diǎn)數(shù)存儲
27、,整數(shù)就采用整型存儲形式。在使用時,可根據(jù)自己實(shí)際情況的需要選擇適合的一種。個人覺得matlab本身的這種以科學(xué)計數(shù)法來表示數(shù)據(jù),有時不方便于查看。還有一點(diǎn)就是fprintf是按照矩陣列存儲。 MATLAB Out of memory問題總結(jié)(轉(zhuǎn)載)首先,我要聲明,matlab自帶的Help才是最權(quán)威的Matlab學(xué)習(xí)資料,如果有時間好好學(xué)習(xí)一下或是可以高效的使用的話,一定受益匪淺!比如說像 Out of Memory這個問題,最開始我都是用Help memory,幾乎得不到任何信息;然后就是去網(wǎng)上搜索此類問題的解決方法,一般有這幾種:除了升級內(nèi)存和升級64位系統(tǒng)外,下面幾
28、個方法也是解決之道。# 增加虛擬內(nèi)存# 采用PACK (在命令行輸入 pack 整理內(nèi)存空間)# 采用3GB 開關(guān)啟動系統(tǒng)(修改 c盤根目錄 boot.ini 啟動選項加上 /3G 例如:multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3G# 優(yōu)化程序,減少變量 (使用
29、稀疏矩陣 sparse ) save 保存變量 load 變量,需要時再讀出來# 如果必有必要,不要啟動java虛擬機(jī),采用matlab -nojvm啟動 (在快捷方式屬性里面的 "./matlab.exe") 改為("./matlab.exe" - nojvm)#關(guān)閉Matlab Server # 使用 單精度 single 短整數(shù)替代 雙精度?,F(xiàn)在看來這些解決方法對于我的問題來說根本就是“治標(biāo)
30、不治本”,不能解決實(shí)際問題,后來在一個師兄的提醒下Help out of memory,終于找到了解決此類問題的方法。在此感謝這位師兄啊!重申Matlab的Help才是Matlab的最權(quán)威的指導(dǎo)材料!其實(shí)我的所謂原創(chuàng)就是對Help out of memory的一些歸納總結(jié)而已,有興趣的話大家可以自己去看!問題一:Matlab是如何存儲矩陣的Matlab中矩陣是以Block,也就是塊的形式存儲的。也就是說,當(dāng)Matlab在為即將存儲的矩陣劃分塊時,如果沒有相應(yīng)大小的連續(xù)內(nèi)存,即使實(shí)際內(nèi)存沒有被完全使用,他還是會報告“Out of Memory”。問題二:如何高效使用Memory由于在使用的過程中
31、,由于存儲單元的不斷的被分配和清除,內(nèi)存會被分割成不連續(xù)的區(qū)域,這是很容易造成“Out of Memory”。1為矩陣變量預(yù)制內(nèi)存而不是動態(tài)分配在動態(tài)分配的過程中,由于開始Matlab所用的Block隨著矩陣的增大而連續(xù)的為此矩陣分配內(nèi)存,但是由于Block的不連續(xù)性,很有可能最開始分配的Block不能滿足存儲的需要,Matlab只好移動此Block以找到更大的Block 來存儲,這樣在移動的過程中不但占用了大量的時間,而且很有可能它找不到更大的塊,導(dǎo)致Out of Memory。而當(dāng)你為矩陣變量預(yù)制內(nèi)存時,Matlab會在計算開始前一次性找到最合適的Block,此時就不用為變量連續(xù)
32、的分配內(nèi)存。比較下面兩個程序:for k = 2:1000x(k) = x(k-1) + 5;endx = zeros(1, 1000);for k = 2:1000x(k) = x(k-1) + 5;end顯然,第二個更好!最好的方法是,在程序一開始就位所有大的矩陣變量預(yù)制存存儲單元!1盡量早的分配大的Matlab使用heap method管理內(nèi)存。當(dāng)在Matlab heap中沒有足夠的內(nèi)存使用時,它會向請求內(nèi)存。但是只要內(nèi)存碎片可以存下當(dāng)前的變量,Matlab會重新使用內(nèi)存。比如:a = rand(1e6,1);b = rand(1e6,1);使用大約15.4 MB RAMc = rand
33、(2.1e6,1);使用近似16.4 MB RAM:a = rand(1e6,1);b = rand(1e6,1);clearc = rand(2.1e6,1);使用32.4 MB RAM。因為Matlab不能使用a、b被clear的空間,因為它們均小于2.1 MB,而同時它們也很可能是不連續(xù)的。最好的方法:c = rand(2.1e6,1);cleara = rand(1e6,1);b = rand(1e6,1);使用16.4 MB RAM2盡量避免產(chǎn)生大的瞬時變量,當(dāng)它們不用的時候應(yīng)該及時clear。3盡量的重復(fù)使用變量(跟不用的clear掉一個意思)4將矩陣轉(zhuǎn)化成稀疏形式如果矩陣中有大量
34、的0,最好存儲成稀疏形式。稀疏形式的矩陣使用內(nèi)存更少,執(zhí)行時間更短。例如:1000×1000的矩陣X,它2/3的為0,使用兩種存儲方法的比較:NameSizeBytesClassX1000x10008000000double arrayY1000x10004004000double array (sparse)5使用pack當(dāng)內(nèi)存被分為很多碎片以后,其實(shí)本身可能有很大的空間,只是沒有作構(gòu)的連續(xù)空間即大的Block而已。如果此時Out of Memory,此時使用pack命令可以很好的解決此問題。6如果可行的話,將一個大的矩陣劃分為幾個小的矩陣,這樣每一次使用的內(nèi)存減少。7增大內(nèi)存問題三: Increase the size of the swap file.wap space的與使用的操作系統(tǒng)有關(guān),具體的如下:1.UNIXInformation about swap space can be procured by typing pstat -s at the UNIX command prompt. For detailed information on changing
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店物業(yè)管理與維護(hù)知識試題及答案
- 焊接創(chuàng)新技術(shù)思考試題及答案
- 紡織機(jī)械行業(yè)中的企業(yè)社會責(zé)任試題及答案
- 2024焊接工程師資格考試知識點(diǎn)與試題及答案
- 電氣工程師資格證書考試中的策略運(yùn)用研究試題及答案
- 機(jī)器學(xué)習(xí)在工程中的應(yīng)用試題及答案
- 企業(yè)誠信課件
- 焊接工程師資格考試職業(yè)發(fā)展路徑試題及答案
- 2024年酒店經(jīng)營管理師考試優(yōu)勢解讀試題及答案
- 商務(wù)禮儀師考試時常見的失誤試題及答案
- 社保系統(tǒng)保密培訓(xùn)
- 2024年中考物理試題分類匯編:浮力及其應(yīng)用(原卷版 )
- 《攝影基礎(chǔ)知識講座》課件
- 2024-2030年中國臨近空間飛行器發(fā)展規(guī)劃及未來前景展望研究報告
- 瑞幸咖啡認(rèn)證考試題庫(值班主管)
- 工廠自動化規(guī)劃報告
- 2023年LNG設(shè)備操作維護(hù)手冊培訓(xùn)資料
- 一般企業(yè)財務(wù)報表附注(模板)
- 10t橋式起重機(jī)安裝方案
- 【MOOC】傾聽-音樂的形式與審美-武漢大學(xué) 中國大學(xué)慕課MOOC答案
- 人力資源調(diào)配應(yīng)急演練
評論
0/150
提交評論