色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Simulink中M文件S函數(shù)實(shí)現(xiàn)與自動(dòng)調(diào)參工程實(shí)踐

Simulink中M文件S函數(shù)實(shí)現(xiàn)與自動(dòng)調(diào)參工程實(shí)踐 簡(jiǎn)介面向需要在Simulink環(huán)境中調(diào)試S函數(shù)參數(shù)的MATLAB學(xué)習(xí)者與工程人員這份資料圍繞M文件驅(qū)動(dòng)的自動(dòng)調(diào)參展開(kāi)可用于減少手工反復(fù)修改參數(shù)的繁瑣流程適合具備一定Simulink建模與腳本基礎(chǔ)的中級(jí)用戶。壓縮包共4個(gè)文件由3個(gè)m腳本和1個(gè)slx模型組成整體約24KB腳本承擔(dān)參數(shù)掃描、仿真控制與結(jié)果篩選等任務(wù)模型文件提供可運(yùn)行的S函數(shù)仿真載體。已有3819人學(xué)習(xí)下載說(shuō)明該主題在控制系統(tǒng)仿真與算法驗(yàn)證中具有一定關(guān)注度。讀者可據(jù)此理解自動(dòng)調(diào)參的組織方式復(fù)用腳本框架完成批量仿真、參數(shù)對(duì)比與較優(yōu)參數(shù)選取并借助配套模型快速驗(yàn)證思路降低重復(fù)搭建與調(diào)試成本。1. 從一次通宵調(diào)參說(shuō)起S 函數(shù)參數(shù)化能省掉什么某開(kāi)發(fā)者接了個(gè)控制回路整定的活被控對(duì)象和控制器都封在 Simulink 模型里控制器本體是一個(gè) S 函數(shù)真正要?jiǎng)拥闹挥?Kp、Ki 兩個(gè)增益。他一開(kāi)始靠手改對(duì)話框、點(diǎn)一次運(yùn)行、看一眼示波器改到第八版時(shí)已經(jīng)分不清哪條曲線對(duì)應(yīng)哪組數(shù)了。后來(lái)他把 S 函數(shù)換成 M 文件實(shí)現(xiàn)參數(shù)從模塊對(duì)話框讀再寫一個(gè)腳本循環(huán)喂參數(shù)、跑仿真、算誤差積分一晚上掃完兩百多組第二天拿最優(yōu)值收工。這套「MATLAB 里用 M 文件寫 Simulink 的 S 函數(shù)再掛一層自動(dòng)調(diào)參腳本」的組合適合控制邏輯已經(jīng)沉淀在 S 函數(shù)里、又不想靠手感試參數(shù)的人也適合剛接觸 Level-2 M 文件 S 函數(shù)、想弄清它和外部腳本怎么配合的讀者。下面按工程骨架、回調(diào)實(shí)現(xiàn)、調(diào)參引擎、踩坑排查、二次開(kāi)發(fā)幾段拆開(kāi)講。2. 工程骨架M 文件 S 函數(shù)、調(diào)參腳本與結(jié)果目錄怎么擺2.1 目錄結(jié)構(gòu)與文件職責(zé)這類項(xiàng)目最怕的是所有東西堆在一個(gè)文件夾里模型、S 函數(shù)、臨時(shí)腳本、結(jié)果數(shù)據(jù)混在一起跑上十幾輪以后自己都找不到哪個(gè) .mat 是哪次實(shí)驗(yàn)的。我一般按「模型 / 被調(diào)對(duì)象 / 調(diào)參邏輯 / 結(jié)果」四層拆目錄名盡量短方便addpath之后一眼看出哪個(gè)文件歸哪一層。sfunc_tune/ ├─ init_project.m % 統(tǒng)一入口加路徑、清緩存、設(shè)默認(rèn)參數(shù) ├─ models/ │ └─ loop_model.slx % 頂層模型里面放 S-Function 模塊 ├─ sfunc/ │ └─ msfcn_pid.m % Level-2 M 文件 S 函數(shù)本體 ├─ tune/ │ ├─ tune_main.m % 調(diào)參主流程網(wǎng)格 局部搜索 │ ├─ cost_once.m % 目標(biāo)函數(shù)一次仿真返回一個(gè)標(biāo)量代價(jià) │ ├─ build_grid.m % 生成候選參數(shù)組合 │ └─ save_result.m % 結(jié)果落盤帶時(shí)間戳 └─ results/ ├─ run_20240101_0930.mat └─ run_20240101_0930.csvinit_project.m里干三件事把sfunc和tune加進(jìn)搜索路徑檢查loop_model.slx能不能load_system清掉上一次可能殘留的基礎(chǔ)工作區(qū)變量。第三件事看著多余實(shí)際能避免很多「明明改了參數(shù)結(jié)果沒(méi)變」的假象——變量名撞上舊值仿真照樣跑只是跑的是舊參數(shù)。function init_project() % 工程統(tǒng)一入口路徑、模型、殘留變量三件事 root fileparts(mfilename(fullpath)); addpath(fullfile(root, sfunc)); addpath(fullfile(root, tune)); mdl loop_model; if ~bdIsLoaded(mdl) load_system(fullfile(root, models, [mdl .slx])); end % 清掉可能被上一次實(shí)驗(yàn)寫臟的變量 vars {Kp, Ki, simOut, yout}; for k 1:numel(vars) if evalin(base, [exist( vars{k} , var)]) evalin(base, [clear vars{k}]); end end fprintf([init] 工程已就緒模型%s\n, mdl); endmfilename(fullpath)拿的是當(dāng)前文件所在目錄這樣整個(gè)工程搬到別的機(jī)器上不用改路徑。bdIsLoaded判斷模型是否已經(jīng)在內(nèi)存里避免重復(fù)load_system報(bào)警告。最后那段循環(huán)用evalin(base, ...)而不是直接clear是因?yàn)楹瘮?shù)里的工作區(qū)和基礎(chǔ)工作區(qū)是兩回事S 函數(shù)讀的是基礎(chǔ)工作區(qū)里的變量清錯(cuò)地方等于沒(méi)清。2.2 一條參數(shù)從腳本到 S 函數(shù)的完整鏈路很多人卡在第一步腳本里算出來(lái)的參數(shù)怎么讓 Simulink 里的 S 函數(shù)讀到。常見(jiàn)做法有三條路選哪條取決于你要不要保留「手動(dòng)改參數(shù)」的能力。第一條是直接把數(shù)值寫進(jìn) S-Function 模塊的對(duì)話框參數(shù)用set_param改。好處是自包含壞處是每改一次都要?jiǎng)幽P头磸?fù)set_param會(huì)讓模型變臟跑完還得決定要不要保存。第二條是模塊對(duì)話框里填變量名比如Kp、Ki腳本往基礎(chǔ)工作區(qū)里寫同名變量。這條路最靈活同一個(gè)模型既能手動(dòng)跑也能腳本跑缺點(diǎn)是變量泄漏跑完不清理會(huì)污染下一輪。第三條是用Simulink.SimulationInput的setVariable把變量綁定到這一次仿真上作用域干凈還能配合parsim并行。我一般首選這條只有在需要兼容老版本模型時(shí)才退回第二條。完整鏈路是這樣的tune_main生成候選參數(shù) →cost_once用SimulationInput綁定Kp/Ki→sim跑一次 → 從輸出對(duì)象里取響應(yīng) → 算出代價(jià) → 返回給搜索器 → 記錄一行結(jié)果。S 函數(shù)那一端只認(rèn)模塊對(duì)話框里的兩個(gè)變量名完全不知道外面在掃參。2.3 為什么用 Level-2 M 文件 S 函數(shù)而不是 C-MEX標(biāo)題里點(diǎn)的是 M 文件實(shí)現(xiàn)這里得說(shuō)清楚取舍。Level-2 M 文件 S 函數(shù)是解釋執(zhí)行的每個(gè)仿真步都要回調(diào)一次 MATLAB 函數(shù)步長(zhǎng)小、仿真時(shí)間長(zhǎng)的時(shí)候慢得明顯比 C-MEX 版本慢一個(gè)數(shù)量級(jí)不夸張。自動(dòng)調(diào)參要跑幾十上百次仿真這個(gè)開(kāi)銷會(huì)直接翻倍。但它有三個(gè)好處在調(diào)參場(chǎng)景里權(quán)重很高。一是不用mex編譯改完公式保存就能跑調(diào)參過(guò)程中你隨時(shí)可能想改控制律C 文件編譯一遍再鏈接的反饋循環(huán)太長(zhǎng)。二是出錯(cuò)信息是 MATLAB 的堆棧哪一行越界、哪個(gè)維度對(duì)不上點(diǎn)進(jìn)去就能看不像 MEX 那樣只剩一句籠統(tǒng)的崩潰。三是它能直接調(diào)用工作區(qū)里的函數(shù)和參數(shù)結(jié)構(gòu)體寫代價(jià)函數(shù)、寫輔助邏輯不用重復(fù)實(shí)現(xiàn)。所以我的判斷標(biāo)準(zhǔn)很粗暴算法還在試、參數(shù)還在掃用 M 文件版算法定型、要交給別人跑長(zhǎng)仿真再翻譯成 C-MEX 或者改成 MATLAB Function 塊。中間不要來(lái)回折騰先讓參數(shù)定下來(lái)。提示msfcn_開(kāi)頭的函數(shù)名不是強(qiáng)制的但約定俗成sfundemos里的例子基本都是這個(gè)前綴排查問(wèn)題時(shí)搜起來(lái)方便。3. S 函數(shù)本體拆解六個(gè)回調(diào)里哪些和調(diào)參直接相關(guān)3.1 setup 回調(diào)參數(shù)個(gè)數(shù)、采樣時(shí)間與狀態(tài)維度Level-2 M 文件 S 函數(shù)的結(jié)構(gòu)是固定的主函數(shù)同名里面調(diào)setupsetup負(fù)責(zé)聲明這個(gè)塊的輸入輸出、參數(shù)個(gè)數(shù)、狀態(tài)個(gè)數(shù)然后用RegBlockMethod把各個(gè)回調(diào)注冊(cè)進(jìn)去。自動(dòng)調(diào)參要?jiǎng)拥膮?shù)全部在NumDialogPrms里聲明。function msfcn_pid(block) % Level-2 M 文件 S 函數(shù)入口名字必須和文件名一致 setup(block); end function setup(block) % 兩個(gè)可調(diào)參數(shù)Kp、Ki一個(gè)誤差輸入一個(gè)控制輸出 block.NumDialogPrms 2; block.NumInputPorts 1; block.NumOutputPorts 1; % 輸入端口標(biāo)量誤差直通 block.InputPort(1).Dimensions 1; block.InputPort(1).DatatypeID 0; % double block.InputPort(1).Complexity Real; block.InputPort(1).DirectFeedthrough true; % 輸出依賴當(dāng)前輸入 % 輸出端口標(biāo)量控制量 block.OutputPort(1).Dimensions 1; block.OutputPort(1).DatatypeID 0; block.OutputPort(1).Complexity Real; % 一個(gè)連續(xù)狀態(tài)積分項(xiàng) block.NumContStates 1; block.SampleTimes [-1 0]; % 繼承上游采樣時(shí)間 % 注冊(cè)回調(diào)注意順序無(wú)所謂但名字必須對(duì) block.RegBlockMethod(Start, Start); block.RegBlockMethod(Outputs, Outputs); block.RegBlockMethod(Derivatives, Derivatives); block.RegBlockMethod(Terminate, Terminate); endNumDialogPrms 2決定了模塊對(duì)話框里會(huì)出現(xiàn)兩個(gè)參數(shù)框多一個(gè)少一個(gè)都會(huì)在編譯階段報(bào)參數(shù)數(shù)量不匹配。DirectFeedthrough true是因?yàn)檩敵鲋苯佑昧水?dāng)前步的輸入誤差如果你的 S 函數(shù)輸出只依賴狀態(tài)這里要設(shè)成false否則會(huì)憑空造出代數(shù)環(huán)。SampleTimes [-1 0]表示繼承采樣時(shí)間調(diào)參時(shí)上游信號(hào)源的步長(zhǎng)改了S 函數(shù)跟著變不用同步改兩處。連續(xù)狀態(tài)個(gè)數(shù)寫 1對(duì)應(yīng)積分項(xiàng)這個(gè)數(shù)字和后面Derivatives里賦值的維度必須一致。3.2 Outputs 與 Update把可調(diào)參數(shù)真正用起來(lái)Outputs每個(gè)仿真步都會(huì)被調(diào)用是控制律真正生效的地方。參數(shù)從block.DialogPrm(k).Data取第 k 個(gè)對(duì)應(yīng)對(duì)話框里第 k 個(gè)框索引從 1 開(kāi)始這里最容易寫錯(cuò)。function Outputs(block) % 每個(gè)仿真步計(jì)算控制量u Kp*e xi Kp block.DialogPrm(1).Data; Ki block.DialogPrm(2).Data; e block.InputPort(1).Data; xi block.ContStates.Data(1); u Kp * e Ki * xi; block.OutputPort(1).Data u; end function Derivatives(block) % 積分項(xiàng)導(dǎo)數(shù)dxi/dt e e block.InputPort(1).Data; block.Derivatives(1).Data e; end這里把積分增益放在Outputs里乘而不是在Derivatives里乘是為了讓 Kp、Ki 兩個(gè)參數(shù)在同一個(gè)函數(shù)里出現(xiàn)改公式的時(shí)候不容易漏。block.ContStates.Data(1)讀當(dāng)前狀態(tài)值block.Derivatives(1).Data寫導(dǎo)數(shù)兩者維度都必須是 1寫錯(cuò)會(huì)報(bào)「derivative dimension mismatch」。參數(shù)讀取用DialogPrm(k).Data而不是DialogPrm(k)少寫.Data拿到的是結(jié)構(gòu)體參與運(yùn)算會(huì)直接報(bào)類型錯(cuò)誤。如果你想在仿真過(guò)程中打印參數(shù)確認(rèn)腳本確實(shí)傳進(jìn)來(lái)了別用disp——每個(gè)步長(zhǎng)打一行會(huì)把命令行刷爆。用persistent記一個(gè)首次標(biāo)志只在第一步打印一次function Outputs(block) persistent printed if isempty(printed) fprintf([sfunc] Kp%.4f, Ki%.4f\n, ... block.DialogPrm(1).Data, block.DialogPrm(2).Data); printed true; end % ... 后續(xù)控制律 endpersistent變量在兩次sim之間不會(huì)自動(dòng)清空這一點(diǎn)在調(diào)參場(chǎng)景里是個(gè)隱患后面避坑章節(jié)會(huì)專門講。3.3 Start 與 Terminate每次仿真前的狀態(tài)復(fù)位自動(dòng)調(diào)參要跑幾十次仿真每次都必須是干凈起點(diǎn)否則第二輪繼承第一輪的積分器殘值結(jié)果沒(méi)有可比性。Start回調(diào)就是干這個(gè)的。function Start(block) % 每次仿真開(kāi)始把連續(xù)狀態(tài)清零 block.ContStates.Data 0; end function Terminate(block) % 仿真結(jié)束時(shí)的收尾記錄、清理、關(guān)文件 fprintf([sfunc] 本次仿真結(jié)束\n); endStart里給ContStates.Data賦初值等價(jià)于在連續(xù)系統(tǒng)里設(shè)初始條件。不寫這一句Simulink 會(huì)用上一次的值或者默認(rèn)零短仿真看不出差別長(zhǎng)仿真和多次連續(xù)調(diào)用時(shí)會(huì)出現(xiàn)莫名其妙的漂移。Terminate里不要做重活打印一行、關(guān)一個(gè)文件句柄就夠了它會(huì)在每次仿真結(jié)束時(shí)被調(diào)用寫太多會(huì)拖慢整體掃參速度。有人喜歡在Start里用assignin往外寫變量做記錄這個(gè)習(xí)慣要克制。S 函數(shù)執(zhí)行在仿真引擎內(nèi)部往里塞副作用容易和并行仿真沖突記錄的事情交給外層的cost_once更穩(wěn)妥。3.4 用 block 參數(shù)做在線可調(diào)的入口除了對(duì)話框參數(shù)Level-2 S 函數(shù)還支持運(yùn)行時(shí)參數(shù)Run-time Parameter注冊(cè)之后可以在仿真運(yùn)行過(guò)程中用set_param改不用重啟仿真。做參數(shù)掃描時(shí)用不上但做「參數(shù)自適應(yīng)」或者「手動(dòng)拖滑塊看響應(yīng)」的場(chǎng)景很有用。function setup(block) block.NumDialogPrms 2; % 把第一個(gè)參數(shù)注冊(cè)成運(yùn)行時(shí)參數(shù)可在仿真中修改 block.RegBlockMethod(PostPropagationSetup, DoPostPropSetup); end function DoPostPropSetup(block) block.NumDworks 1; block.Dwork(1).Name KpRt; block.Dwork(1).Dimensions 1; block.Dwork(1).DatatypeID 0; block.Dwork(1).Complexity Real; block.Dwork(1).UsedAsDiscState true; end這段是給你留個(gè)口子真要做在線調(diào)參把Kp從對(duì)話框搬到運(yùn)行時(shí)參數(shù)外部用set_param在仿真中途改值就能看到響應(yīng)實(shí)時(shí)變化。代價(jià)是代碼復(fù)雜度上去一截而且運(yùn)行時(shí)參數(shù)在代碼生成里支持有限。我一般只在演示或者交互式調(diào)試時(shí)用批量掃參還是走對(duì)話框參數(shù)那條路邏輯簡(jiǎn)單、可復(fù)現(xiàn)。4. 自動(dòng)調(diào)參引擎把 sim 命令包進(jìn)一個(gè)可迭代的目標(biāo)函數(shù)4.1 目標(biāo)函數(shù)一次仿真返回一個(gè)標(biāo)量代價(jià)搜索器只認(rèn)一個(gè)東西輸入一組參數(shù)輸出一個(gè)越小越好的標(biāo)量。所以第一件事是把「跑仿真 算指標(biāo)」封成一個(gè)函數(shù)中間過(guò)程全部藏在里面。function J cost_once(p, cfg) % p : 候選參數(shù) [Kp, Ki] % cfg : 配置結(jié)構(gòu)體含模型名、仿真時(shí)長(zhǎng)、上下界、懲罰值 % J : 標(biāo)量代價(jià)越小越好 % 越界直接給懲罰不去跑仿真省時(shí)間 if any(p cfg.lb) || any(p cfg.ub) J cfg.penalty; return; end in Simulink.SimulationInput(cfg.model); in in.setVariable(Kp, p(1)); in in.setVariable(Ki, p(2)); in in.setModelParameter(StopTime, num2str(cfg.tStop)); in in.setModelParameter(SimulationMode, normal); in in.setModelParameter(SaveFormat, Structure with time); in in.setModelParameter(SaveOutput, on); in in.setModelParameter(OutputSaveName, yout); try out sim(in); catch ME % 仿真炸了也給懲罰但把原因記下來(lái) fprintf([cost] 仿真失敗%s\n, ME.message); J cfg.penalty; return; end y out.get(yout); t y.time; sig y.signals.values; ref cfg.ref; % 參考信號(hào)標(biāo)量或同長(zhǎng)度向量 e ref - sig; J trapz(t, abs(e)); % IAE 指標(biāo) J J cfg.wOvershoot * max(0, max(sig) - max(ref)); % 超調(diào)懲罰 endsetVariable綁定的變量只在這一次仿真里有效跑完自動(dòng)釋放不會(huì)污染基礎(chǔ)工作區(qū)這是它比assignin干凈的地方。SimulationMode必須顯式設(shè)成normalM 文件 S 函數(shù)在加速模式下不支持不設(shè)的話模型上次保存成 Accelerator 就會(huì)直接報(bào)錯(cuò)。try/catch里返回懲罰值而不是拋出去是因?yàn)樗阉髌饔龅揭淮问【椭袛嗵速M(fèi)給個(gè)大代價(jià)讓它自己繞開(kāi)這組參數(shù)更劃算。指標(biāo)用trapz算 IAE比簡(jiǎn)單求和更貼近連續(xù)系統(tǒng)的定義。超調(diào)懲罰單獨(dú)加權(quán)權(quán)重wOvershoot放在配置里方便你在「快但抖」和「慢但穩(wěn)」之間調(diào)傾向。4.2 主循環(huán)網(wǎng)格掃描與局部搜索的組合純網(wǎng)格掃得全但慢純梯度搜索快但容易掉進(jìn)局部極小??刂茀?shù)這類問(wèn)題我一般先用粗網(wǎng)格框出大致區(qū)域再用fminsearch在局部細(xì)化兩段式比單用一種穩(wěn)。function best tune_main() cfg struct(model, loop_model, tStop, 10, ref, 1, ... lb, [0 0], ub, [10 3], penalty, 1e6, ... wOvershoot, 2); KpGrid linspace(0.2, 5.0, 8); KiGrid linspace(0.0, 2.0, 6); records zeros(numel(KpGrid) * numel(KiGrid), 3); % Kp, Ki, J idx 0; best struct(J, inf, p, [NaN NaN]); for kp KpGrid for ki KiGrid idx idx 1; p [kp ki]; J cost_once(p, cfg); records(idx, :) [kp ki J]; if J best.J best.J J; best.p p; fprintf([grid] 新最優(yōu) J%.4f Kp%.3f, Ki%.3f\n, J, kp, ki); end end end % 局部細(xì)化從網(wǎng)格最優(yōu)點(diǎn)出發(fā) opts optimset(Display, iter, TolX, 1e-3, MaxIter, 40); pFine fminsearch((p) cost_once(p, cfg), best.p, opts); JFine cost_once(pFine, cfg); if JFine best.J best.p pFine; best.J JFine; end save_result(records, best, cfg); end網(wǎng)格那段是雙循環(huán)每個(gè)組合調(diào)一次cost_oncerecords矩陣把三元組存下來(lái)最后一起落盤。fminsearch從網(wǎng)格最優(yōu)點(diǎn)出發(fā)TolX控制參數(shù)收斂精度MaxIter防止它在一個(gè)平坦區(qū)域里磨太久。注意fminsearch本身不管邊界越界的情況靠cost_once開(kāi)頭的懲罰兜住——這也是為什么懲罰值要給得足夠大太小的話搜索器會(huì)心安理得地待在界外。4.3 接入 fminsearch / ga 的寫法與邊界約束fminsearch夠用但它對(duì)初值敏感、不支持約束。參數(shù)維度上去了、或者你明確知道 Kp 和 Ki 有耦合關(guān)系換遺傳算法或者模式搜索更合適。接口是一模一樣的都是「輸入向量、輸出標(biāo)量」。% 方案一模式搜索自帶邊界約束 opts optimoptions(patternsearch, Display, iter, ... MaxIterations, 60, MeshTolerance, 1e-3); [pOpt, JOpt] patternsearch((p) cost_once(p, cfg), best.p, ... [], [], [], [], cfg.lb, cfg.ub, [], opts); % 方案二遺傳算法適合多峰、參數(shù)多于 3 個(gè)的情況 opts optimoptions(ga, Display, iter, PopulationSize, 20, ... MaxGenerations, 30, UseParallel, false); [pOpt, JOpt] ga((p) cost_once(p, cfg), 2, ... [], [], [], [], cfg.lb, cfg.ub, [], opts);patternsearch的好處是邊界直接作為參數(shù)傳進(jìn)去不用靠懲罰收斂過(guò)程更干凈代價(jià)是每輪要評(píng)估的點(diǎn)數(shù)比f(wàn)minsearch多。ga適合參數(shù)多、代價(jià)函數(shù)有多個(gè)局部極小的情況但它的隨機(jī)性意味著兩次跑出來(lái)的結(jié)果可能不一樣做實(shí)驗(yàn)記錄的時(shí)候要把隨機(jī)種子固定下來(lái)否則復(fù)現(xiàn)不了。UseParallel那一項(xiàng)先關(guān)掉等單機(jī)流程跑通了再打開(kāi)不然出錯(cuò)時(shí)你分不清是并行的問(wèn)題還是代價(jià)函數(shù)的問(wèn)題。4.4 結(jié)果落盤與最優(yōu)參數(shù)回寫掃完一輪結(jié)果要能查、能對(duì)比、能復(fù)現(xiàn)。save_result干三件事存.mat方便下次直接load寫.csv方便丟進(jìn)表格里看趨勢(shì)把最優(yōu)參數(shù)寫回基礎(chǔ)工作區(qū)方便立刻手動(dòng)驗(yàn)證。function save_result(records, best, cfg) stamp datestr(now, yyyymmdd_HHMM); matFile fullfile(results, [run_ stamp .mat]); csvFile fullfile(results, [run_ stamp .csv]); save(matFile, records, best, cfg); fid fopen(csvFile, w); fprintf(fid, Kp,Ki,J\n); for k 1:size(records, 1) fprintf(fid, %.6f,%.6f,%.6f\n, records(k, 1), records(k, 2), records(k, 3)); end fclose(fid); % 回寫最優(yōu)值方便立刻手動(dòng)跑一次確認(rèn) assignin(base, Kp, best.p(1)); assignin(base, Ki, best.p(2)); fprintf([save] 最優(yōu) J%.4f, Kp%.4f, Ki%.4f\n, best.J, best.p(1), best.p(2)); end文件名帶時(shí)間戳跑一百輪也不會(huì)互相覆蓋。.mat里存了cfg下次想復(fù)現(xiàn)同一組實(shí)驗(yàn)把cfg取出來(lái)直接用不用回憶當(dāng)時(shí)設(shè)的仿真時(shí)長(zhǎng)和懲罰權(quán)重。最后那兩行assignin是給手動(dòng)驗(yàn)證留的口子模型對(duì)話框里填的是變量名Kp、Ki腳本跑完工作區(qū)里就是最優(yōu)值打開(kāi)模型點(diǎn)一次運(yùn)行就能看響應(yīng)。5. 避坑與排查五類讓調(diào)參結(jié)果不可信的坑5.1 參數(shù)個(gè)數(shù)不匹配S 函數(shù)在編譯階段就掛現(xiàn)象很直接點(diǎn)運(yùn)行命令行報(bào)S-function msfcn_pid has fewer parameters in its dialog than it expects或者反過(guò)來(lái)多了一個(gè)。原因通常是setup里NumDialogPrms改了但模型里那個(gè) S-Function 模塊的對(duì)話框沒(méi)同步改兩個(gè)地方各說(shuō)各話。解決方法是把「聲明」和「實(shí)例」當(dāng)成一對(duì)強(qiáng)耦合的東西來(lái)維護(hù)。改NumDialogPrms之后一定打開(kāi)模型確認(rèn)參數(shù)框數(shù)量和順序順序錯(cuò)了不會(huì)報(bào)錯(cuò)但 Kp 會(huì)讀到 Ki 的值跑出來(lái)的結(jié)果看著像那么回事其實(shí)全錯(cuò)。我一般會(huì)在setup里加一段自檢參數(shù)個(gè)數(shù)不對(duì)時(shí)直接error并打印期望值比等到仿真跑一半再發(fā)現(xiàn)強(qiáng)。function setup(block) block.NumDialogPrms 2; if numel(block.DialogPrm) ~ 2 error(msfcn_pid:prmCount, ... 期望 2 個(gè)參數(shù)實(shí)際收到 %d 個(gè), numel(block.DialogPrm)); end end5.2 加速模式與 M 文件 S 函數(shù)不兼容現(xiàn)象是仿真剛啟動(dòng)就報(bào)M-file S-function cannot be used in accelerated mode或者切到 Accelerator 之后模型直接編譯失敗。原因是 Level-2 M 文件 S 函數(shù)是解釋執(zhí)行的加速模式要把它編譯成目標(biāo)代碼兩者天然沖突。解決方式只有兩條要么在調(diào)參腳本里強(qiáng)制SimulationMode為normal要么把邏輯改寫成 MATLAB Function 塊或 C-MEX。前一條是調(diào)參階段的默認(rèn)選擇寫進(jìn)cost_once里就不會(huì)忘。真正要跑長(zhǎng)仿真、要加速的時(shí)候說(shuō)明參數(shù)已經(jīng)定得差不多了那時(shí)候再做移植順序不要反。5.3 狀態(tài)未復(fù)位第二輪結(jié)果開(kāi)始漂移這個(gè)坑最陰。第一輪仿真結(jié)果正常從第二輪開(kāi)始響應(yīng)曲線整體偏移一點(diǎn)越往后偏得越多但腳本、參數(shù)、模型一個(gè)都沒(méi)改。原因有兩類一類是Start里沒(méi)給ContStates.Data賦初值積分器繼承了上一輪的值另一類是 S 函數(shù)里用了persistent變量做計(jì)數(shù)或緩存兩次sim之間不會(huì)被清空。排查方法是把同一組參數(shù)連續(xù)跑三次比較三次的輸出是否逐位相同。不相同就順著persistent關(guān)鍵字和ContStates找。解決上狀態(tài)一律在Start里顯式清零persistent能不用就不用非要用就在Start里重置function Start(block) block.ContStates.Data 0; clear msfcn_pid % 清掉本函數(shù)內(nèi)的 persistent end5.4 數(shù)據(jù)記錄格式選錯(cuò)指標(biāo)算出來(lái)是錯(cuò)的現(xiàn)象是從out里取出來(lái)的yout維度不對(duì)signals.values是雙列或者時(shí)間向量長(zhǎng)度和信號(hào)長(zhǎng)度對(duì)不上trapz算出來(lái)的 IAE 數(shù)量級(jí)明顯離譜。原因是SaveFormat設(shè)成了Dataset或者Array讀取方式和Structure with time完全不同。兩種讀法要分清楚Structure with time用y.time和y.signals.valuesDataset用y.get(信號(hào)名).Values.Data和.Time。調(diào)參腳本里統(tǒng)一用一種別一半腳本用這種一半用那種。我習(xí)慣在cost_once開(kāi)頭就把SaveFormat釘死讀的時(shí)候加一句維度斷言assert(size(sig, 2) 1, yout 維度異常檢查 SaveFormat 設(shè)置);5.5 路徑與命名沖突現(xiàn)象是Undefined function msfcn_pid或者改完文件內(nèi)容運(yùn)行結(jié)果不變。原因通常有三個(gè)函數(shù)名和文件名不一致Level-2 M 文件 S 函數(shù)要求嚴(yán)格同名文件所在目錄沒(méi)加進(jìn)搜索路徑工作區(qū)里存在同名變量遮蔽了函數(shù)。排查順序是which msfcn_pid -all看有幾個(gè)同名文件、path看目錄在不在、whos msfcn_pid看有沒(méi)有變量撞名。這三個(gè)命令跑一遍九成問(wèn)題當(dāng)場(chǎng)現(xiàn)形。工程里我固定用init_project統(tǒng)一加路徑就是為了把這類問(wèn)題擋在入口。6. 二次開(kāi)發(fā)把單機(jī)掃參改成可復(fù)用的調(diào)參流水線單機(jī)腳本跑通之后最值得做的改造是并行。cost_once之間互不依賴把網(wǎng)格那層雙循環(huán)換成parfor或者直接用parsim批量提交SimulationInput數(shù)組四核機(jī)器上差不多能壓到四分之一時(shí)間。改的時(shí)候注意兩件事cost_once里不能有對(duì)基礎(chǔ)工作區(qū)的寫操作SimulationInput要提前構(gòu)造成數(shù)組再一次性提交否則并行收益會(huì)被調(diào)度開(kāi)銷吃掉。第二個(gè)改造方向是把代價(jià)函數(shù)從單目標(biāo)擴(kuò)成多目標(biāo)比如同時(shí)看調(diào)節(jié)時(shí)間和超調(diào)量用加權(quán)和或者 Pareto 前沿。加權(quán)系數(shù)放在cfg里別硬編碼在函數(shù)內(nèi)部否則每換一個(gè)工況就要改代碼。第三個(gè)方向是把最優(yōu)參數(shù)自動(dòng)回寫到模塊的 mask 或者數(shù)據(jù)字典里形成「掃參—定參—固化」的閉環(huán)。這一步我建議保留人工確認(rèn)環(huán)節(jié)腳本只負(fù)責(zé)把候選值和對(duì)應(yīng)的響應(yīng)曲線存成圖最終寫不寫回由人拍板。自動(dòng)寫回看著省事一旦代價(jià)函數(shù)設(shè)計(jì)得有偏固化的就是一組錯(cuò)參數(shù)。驗(yàn)證方法上我固定做三件事拿最優(yōu)參數(shù)手動(dòng)跑一次和腳本記錄的最優(yōu)代價(jià)對(duì)比誤差超過(guò)百分之一就說(shuō)明記錄鏈路有問(wèn)題換一組沒(méi)參與搜索的工況參數(shù)跑一次看泛化把隨機(jī)種子固定下來(lái)重復(fù)跑一遍結(jié)果應(yīng)當(dāng)逐位一致不一致就回去查persistent和狀態(tài)復(fù)位。有一回我圖省事把cost_once里的SimulationMode那行刪了想著模型默認(rèn)就是 normal結(jié)果模型被同事存成了 Accelerator一整晚的掃參全部作廢最優(yōu)值是一組隨機(jī)數(shù)。從那以后我每次開(kāi)新工程都強(qiáng)制先跑一遍init_project加三次重復(fù)性自檢確認(rèn)三次輸出完全一致再開(kāi)始掃參。希望這套流程能幫到你少走一遍我踩過(guò)的彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美性爱系列| 91视频综合在线| 丝袜加勒比| www.99中文字幕| 超碰色中文| 探花视频免费观看国产专区| 亚洲操逼无码| 精品一区二区2| 成人性爱美曰韩| 久久AV色| 婷婷五月综合在线| 欧洲亚洲国产综合在线| 双插在线| 天天碰久久入| 九九碰九九爱97| 全国男人天堂网| 婷婷丁香五月激情啪啪| 精品无吗m| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 国产亚洲色婷婷久久99精品91 - 百度 | 久热一区二区| 69人妻精品丰满熟女区| 五月天婷精品激情| 97亚洲欧美| 99热99re超碰精品| AA特级绝黄| 九九五月天| 女人天堂AV五区在线| 国产亚洲深夜激情| 九九这里只有精品| 欧美综合色站| 亚洲精品视频在线播放| 大香蕉草草| 人人人人插| 白嫩国模丰满一二三区| 五月丁香影视| 99久久久无码精品国产人| 人妻无码一区二区三区久久99| 五月婷久久| 91福利网在线观看| 久久三区四区| 不卡超碰护士AV在线免费播放| 国产精品久久久久久照片| 天堂亚洲欧美| 欧洲亚洲综合| 不卡一区视频| 蜜臀AV成人精品蜜臀AV久久| 五月丁香综合啪啪| 亚洲1区2区三区高清中文字幕| 综合亚洲欧美| 九九九999久久久网站| 青青草啪啪网| 樱花草社区www中国| 色婷婷激情| www成人啪啪18秘 免费| 人妻在线臀日韩| 天天综合91在线| 天天日天天干天天操| 日韩欧亚中文在线| 人妻熟女一区在| 国产一区二区在线电影| 成人性爱高清视频免费看| 五月丁香六月综合缴清无码| 国产后入| 亚洲欧美另类激情小说| 操国产逼| 被男人吃奶很爽的毛片| 涩综合导航| 69XX一中文字幕人妻91| 天天射天天操天天干天天吃2018| 久久久久久久九九九九| 欧美性爽xyxOOOO| 91香蕉视频在线观看免费| 精品一区二区综合熟妇| 久久国产精品m码| 久久女婷| 欧美嗯啊……在线观看视频免费| 亚洲天堂,男人| 五月丁香| 99青草| 第二页中文字幕| 青青操97| 98福利在线视频| 妇女乱色二区| 久久久久久97| 2019久久久久久久久福利| 人妻献身系列第54部| 大香蕉专区| 不卡啪啪视频| 亚洲AO在线| 婷婷另类小说| 久久东京热久久| 亚洲人成网站7777| 高清无码国产亚洲| 色穴精品| 伊人9| 91中出视频| 日婷婷| 黄aaaaaaaaaaaaaaaaaa色网站 | 亚洲情色在线| 600国产精品视频| 男女激烈网站最新| 亚洲操操| 久久偷偷色综合蜜桃| 91亚洲网站| 亚洲三区视频| 亚洲国产一区二区三区在线| 久久精品人妻一区二区三区| 高清有码一区二区| 久热无码| 久久宗合97| 欧美性爽xyxOOOO| 成人精品无码| 日韩无码一级黄色av片| 天天夜夜久久| 丰满少妇人妻久久久久久| 日本五十路在线| 久久系列| 国产精品交换一区二区| 亚洲国产精品久久久久婷婷老年| 色天使亚洲综合在线观看| 天天色综亚洲91污| 青草园大香蕉| 操逼操网| 亚州操操穴网| 丁香五月成人| 中文字幕一区二区三区四区在线视频| 精品亚洲国产成人精品| 九一屌逼| 啊啊啊 在线| 91精品少妇搡搡搡| 97精彩视频网站| 五月丁香社区婷婷日韩欧美精品影院 | 精品人妻1区| 可以免费观看的av| 一本色道人妻久久| 涩五月婷婷| 日韩本不卡视频在线观看 | 国产高清精品一区二区三区毛片 | 亚洲性感丝袜诱惑在线观看| 国产女上位好爽在线| 日日噜噜夜夜久久亚洲一区二区| 嫩呦国产一区二区三区AV| 性色avv| 久久αⅴ| 国产性感在线观看| 中文字幕一二区二三区人妻专区| 操b网站亚洲无码| 成年人三级黄色片视频| 9999亚洲电影| 黄片直播三级黄片两女一男| 久久久久九九九九九| 国产精品爽爽va在线观看98| 清纯唯美激情| 91性生活久久久| 精品国产丝袜一区二区三区乱码| 久久做97| 亚洲乱码国产乱码精网站| 茄子社区国产精品| 欧美色三级片91| 一二三四视频中文字幕在线看| 欧美变态激情网| 国产伦精品一区二区三区在线观 | 二级久久网| 深夜国产一区二区三区在线看| 亚欧美色图| 啊啊啊好爽快点啊啊啊嗯嗯| 日本午夜操逼| 午夜精品久久久| 欧美日韩国产中文精品字幕自在自线, | 欧美高清91| 乱码人妻一区二区三区| 欧美一区二区三区互相| 狠狠操天天干| 18禁精品网站在线看| 男人的天堂Va| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 日本在线视频导航| 国产a片操逼| 97碰碰色| 91精品操美女| 啊啊啊好疼| 中文字幕91综合| 九九精品热| 亚洲欧洲日韩天堂av| 试看60秒 爽| 欧美色交| 久久大香蕉97| 日本熟妇精品九九| 久久色一区二区| 国内毛片婷婷六月色| 成人小说另类在线| 久久精品熟女亚洲AV麻豆软件| 亚洲麻豆18发?| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 99视频内射三四| 日本伦理一区二区| 992视频一区| 色爱综合网欧美| 内射白嫩美女| 五月天人妻综合| 探花精品 一区二区| 中文字幕一区二区韩| 91超碰人人操| 青青草久久| 国产精品福利资源在线尤物| 欧美 亚洲 偷拍自拍| av午夜玫瑰| 老熟女综合网| h4610国产人妻| 97视频在线观看播放与子乱对白在线……| 97在线免费公开视频| 久久国产熟女影院| 中文字幕一区二区三区蜜臀| 97鸡把在线视频| 一级黄色性爱A级片| 亚洲天堂另类小说男人| 亚洲色图A| 91成人在线免费视频| 亚欧美天堂在线| 99少妇内射| 婷婷五月天激情网| 久久精品人妻一区二区| 51国产午夜精品视频| 精品少妇一区二区三区在线视频| 天天躁狠狠躁av| 中文字幕高清精品一区| 欧美三级一级| 国产91亚洲精品一区二区三区| 丁香五月影院| 久久久久久久| 婷婷激情综合网| 锕锕好爽 死我在线观看| 岛国在线免费视频| 色女99一级片在线观看| 尹人免费观看视频在线| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 色九月婷婷| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 岛国黄片网站| 天天综合网91入口| 97色伦97色伦国产欧美| 九九九综合精品| www国产无码| 亚洲高清无码AAA久久久精品| 啊啊啊啊啊在线视频| 秋霞网无码| 韩国久久97| 少妇高潮九九九九| 五月天激情小说| 91欧美网| 久热色情精品| 天天躁日日躁AAAAXXXX国产 | 中文字幕十五区| 91天美| 亚洲精品一区中文字幕乱码| 97日韩| 无码91| 日本熟女不卡视频| 亚洲美女色图| 亚洲一卡2卡3卡4卡乱码网站 | 国产黄片精品在线| 嗯嗯啊啊操死我| 视频一区二区免费在线| 青青草日本无码| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 91香蕉视频在线观看免费| 五月天伊人| 免费一级精品啪啪视频| 黄久久| 色婷久久| 久久精品| 欧美久久人妻少妇一区二区| 日韩精品在线观看网站| 人妻久久一区二区三区 | 自拍第一页| 亚洲精品视频在线播放| 丰满少妇一区二区三区免费看| 国产农村妇女一区二区| 免费视频在线一区二区不卡| 中文一区二区婷婷视频| J?P?NESEHD熟女熟妇伦| 久久国产对白激情浪潮 | 午夜精品人妻二区三区| 五月丁香影院| 无码高清少妇久久| 天天操天天干美女网址导航| 亚洲色图在线视频| 自拍偷拍 高清无码| 日1区2区3区2020| 97人肏| 自拍偷拍亚洲熟女妇人精品| 亚洲交换| 国产又大又粗又长视频在线| www.色99| 午夜无遮挡男女啪啪视频| 国产97综合| 啊啊啊啊视频免费| www…国产操逼| 国产精品高潮久久久无码| 91女人的网站| 色欲无码人妻日韩欧美精品| 天堂av最新电影网| 抽插爽| 日韩免费看黄片| 天天操天天舔| 亚洲国产亚洲天堂| 丰满欧美少妇| 黄骗免费| 欧美日韩中文视频播放| 加勒比伊人影院| 一区二区久久天天干狠狠| 欧美中文字幕日韩在线| 亚洲日韩97| 国产熟女| 人人操天天爽| 99热网站| 大色综合网| 天天射天天| 老鸭窝在线视频播放| 自拍二页| 97国产精品国| 99热色精品| 亚洲无吗在线视频| 亚洲精品三区在线观看| 亚洲乱妇p22| 人妻 欧美亚洲| 久久久久久久久久久久黄色 | www.狠狠干.coom | 国产麻豆一级精品视频| 国产福利视频精品视频| 久久精品一区二区一8| 人妻少妇无码| 国产免费久久精品99re韩国| 97视频在线免费看| 欧美后进式| 破苞ⅩXXX性无码动漫无码| 四虎午夜影院| 久久中出| 香蕉视频精品亚洲一区二区三区在线播| 久久日本熟女精品一区| 天天综和| 国产人伦精品一区二区三区| 国产亚洲人妻综合日韩 久久| 人妻 中文 日韩| .精品人妻一区二区三| 97超碰香蕉| 欧美九九九| 日本道人妻久久久在线不卡色视频| 夜精品久无码| 1024午夜激情男人的天堂| 国产极品久久久| 日夜久久久九九九久| 久久久9品一区二区三区| 国产精品麻豆成人AV艾秋| 九月婷婷久久| 色婷亚洲五月在线观看| 超碰人人在线| 亚洲成人网站在线观看| 国产激情久久久| 99人人干| 国产成人www免费人成看片| 人人摸人人添人人操 | 久久香蕉网| av资源在线播放天堂| 逼逼逼逼操操操操操操操操操午夜剧场| 国产精品香蕉| 亚洲高清视频在线免费观看| 国产精品4p在线观看| 五月丁香六月综合缴清无码| 91av一区二区在线观看| 国产一级不卡在线观看| 午夜电影在线观看无码专区| 成人午夜无码视频| 精品国产乱码久久久久A| 超碰人人超在线观看| 爱做久久久久久| 丁香六月激情综合| 久久精品欧美一区蜜桃| 午夜欧美神马久久久久| 欧美日韩天堂| 欧美97se| 欧美裸体美女日麻屄| 九九九色| 欧美精品三级黄片| 亚洲精品一二牛牛| 欧美熟女操屄| 丁香六月激情| 看黑丝美女操逼青青网站| 久久久∴| 久区视频| 国产主播福利| 国产黄色av大片网站| 99热欧美| 女同性恋一区二区三区精品视频| 夜夜操91744565| 最新精品久久蜜桃| 91天美免费| 放黄片放3级黄片没穿衣服| 亚洲激情视频| 麻花豆传媒剧国产MV出差| 911粉嫩人妻| 色香色香欲天天天影视综合网| 校园春色亚洲欧洲| 97超碰色中文字幕| 日韩三级伦理中文字幕| 欧美久久伊人| 美女91在线观看| 亚州,欧美在线| 粉嫩av在线| 操逼1区| 婷婷色中文字幕| 日本三级小说中文字幕| 国产精品另类一区大香蕉| 好爽视频在线观看视频| 欧美性爱一级操| 欧美后进式| 91亚洲丝袜| 亚洲欧美另类激情小说| 日韩欧美俄罗斯A片| 激情网五月天| 在线电影亚洲色图| 亚洲,日韩,欧美,成人播放| 超碰九色| 亭亭在线资源| av网站免费看| 激情丁香五月| 青青草中日韩在线| 亚洲 日本 国产 综合| 激情综合五月| 欧美 亚洲 91| 黄片www视频免费| 免费毛片在线播放| 成人欧美日超碰| 四虎午夜影院| 蜜桃久久久久久久| 熟女探花啪啪| 观看免费区二区三区二| 91色色网站| 一二三区在线| 久久久四区| 一区二区三区视频在线观看免费| 中国小夫妻勾搭露脸淫荡对白| 蜜臀AV一区二区三区| 99热只有这里有精品| 99黄页网站| 日韩簧片免费看| 色九九九| 久久久精品电影| 亚洲人妻熟妇三十三区| 色综合V| 色鬼在线综合| 欧美亚洲一级在线观看| 欧美色日| 综合欧美日韩在线观看| 激情久久日韩精品中文字幕麻豆| 欧美v亚洲v日韩v最新在线二区| 制服诱惑亚洲一区二区三区在线观看| 欧美十八禁导航成人| 综合97亚洲| 欧美日韩 强奸乱伦| 青青草久久在线| av天堂5| 中文字幕熟女人妻丝袜丝| 亚洲成人久久美女| 九九热精品| 欧插网站| 日韩操逼性鲍| 色九九综合AV| 99九九精品| 熟妇色99| 丝袜喷水在线| 日韩欧美中文日韩欧美色| 国产精品午夜福利视频| 91精品丝袜在线观看| 亚洲午夜精品久久久中文影院| 九九热最新| 国产精品午夜AV完会免费| 亚洲一二三精品久久网| 懂色av色欲av蜜臀av| 九9精品| 五月婷婷丁香六月| 日本中文熟女视频| 4虎在线视频| 九色视频91| 久久久久国产精品久久久| 麻豆黄四叶草网站| 天天躁日日躁XXXXYY| 日本大香蕉综合网红本杳社区| 校园春色 男人天堂 | 强奸熟女一区二区三区| 国模精品一区二区三区苹果色戒| 国产成人久久精品蜜臀| 一二三四视频在线社区中文字幕| 99色天堂| 日B操| 安微少妇操BBB| 欧美久久草熟女| 操逼www.| 91成人18| 成人夜夜| 97人人爱人人做人人乐| 日本日皮视频逼| 欧美999| 日韩 欧美 国产 麻豆| 六月婷婷综合| 东北丰满熟女国产一区| 色欧洲| 天堂亚洲精品久久老牛| 99色悠悠| 99久久综合网| 亚洲欧美日韩二区视频| 久9无限国产| 午夜综合在线| 亚洲人在线成线成人| 国产黄色av大片网站| www熟女乱伦com| 欧美亚州综合网图片| 神马午夜久久久| 天天做天天爱| 欧美劲爆视频一区二区| 日韩一区二区精彩视频| 欧美精品黑人猛交高潮| 韩国毛片一区二区三区| 国产农村妇女精品1区二区| 激情五月天视频| 超碰97玖玖爱| 密臀成人视频久久久| 日本高清熟女久久一区| 国产色综合亚洲色综合吹潮| 爆乳免费黄网站| 爱逼综合| 欧美内射少妇| 中文字幕日韩专区精品系列| 自拍丝袜美腿人妻| 26uuu国产亚洲综合| 婷婷激情一区二区三区俺也去| aV中亚| 夜夜欢天天干| 影音先锋少妇| 婷婷激情一区二区三区俺也去| 欧美熟妇精品黑人巨大91| 五月婷丁香| 亚洲在线a| 夜夜嗨一区二区| 青娱乐淫乱1314| 天天弄欧美| 福利社区午夜一区二区| 久久久久幕乱码| 91美女丝袜诱惑视频| 欧美亚洲自拍另类人妻| 97日视频| 久久久久国产一区二| 美女91AV| 嗯嗯,好大,好爽,好骚| 在线观看黄色电话| 日本一区二区中文字幕久久| 日本性爱欧美性爱| 亚洲人久久久网| 夜夜久久| 欧美大香蕉久| 情色五月天网| 静品嫩模一区二区| 欧美人人操人人插| 黄久久| 日本亚洲vr欧美不卡高清专区| 国产精品日本无码A片| 男人天堂网手机版婷婷| 欧美制服网站美腿丝袜| 亚洲综合中文字幕有码| 国产精品com| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 国产在线不卡导航| 超碰人人超在线观看| 蜜臀一区二区三区在线| 大白逼三四级| 久久一二三四不卡 | 国产免费一区在线观看| 欧美黄色大片在线观看| 熟妇乱伦一区二区| 日天天九九天堂666| 日本中文字幕一区| 综合激情97 | 天天综合网91入口| 女优免费一区二区永久| 另类小色呦| 国产性久久久| 日韩人妻一区二区| 嗯嗯啊啊啊好爽| 91碰碰| 亚洲综合69| 1区2区3区中文字幕日韩| 亚洲天天艹| 久久,精品一二三| 超碰成人免费| 91中文在线| 五月丁香激情综合网| 国产又大又硬又长又粗| 欧美强奸乱能| 粉嫩不卡一区二区性爱| 日韩欧美aⅴ综合网站发布| 日本一区二区三区午夜观看| 中国一级操逼视频| 成人av动漫在线观看| 操人妻视频| 国产精品久久久久999| 大香蕉欧美国产日韩高潮| 色超碰综合| 欧美熟女丝袜| 福利五区| 清纯唯美第一页| 91老司机精品| 高清无码久操视频| 欧美黄色片在线播放| 日本黄色大片一级视频免费麻豆| 亚洲成人日韩小说| 乱伦系列一区二区| 久久综合九九| 国产无遮挡| 久久久专区| 无卡一区=区| 精品精品精品| 美女啊啊啊啊啊啊啊| 国产传媒美日韩av| 91亚洲欧美综合高清在线| 欧美性少妇| 久久男人的天堂| 亚洲一曲日韩精品| 天天综合网站| 91成人国产综合久久精品蜜月| 久久这里| 一级二级在线观看| 日韩精品在线观看观看| 婷婷五月天小说| 蜜臀av在线播放一区二区三区| 熟女六十路| 久久综合日韩亚洲欧美| 中文字幕伊人| 亚洲成a人v欧美综合天堂下载| 蜜臀网 一区| www.大香| 大香蕉十区| 亚洲 日本 不卡| 岛国免费黄色网址| 国产黄a三级三级三级av在线看 | 日韩在线视频1234| 97久久国产亚洲精品超碰热| 国产精品黑人一区二区三区| 91精品久久综合熟女| 午夜精品久久久久| 欧美亚洲情色| 综合久| 天天影视之亚洲综合网| 伊人网青青| 极品尤物女神在线观看| 男女激情中文字幕| 欧美裸体美女日麻屄| 人妻少妇久久| 精品视频久久区| www.夜夜| AV一二区| 超碰欧美COM| 91人妻素女| 美美91成人国产精品欧美精品久久久久久久| 欧美日韩狠狠爱| 91精品国产高清久久久久久,亚洲成人 | 欧美黑人熟妇精品91| 国产高清成人传媒影视| 2017超碰| 今日头条成人一区二区三区四虎精品| 国产成人精品午夜福利| 免费国产电影一区二区| 中文字幕视频在线观看一区二区| 精品久久97| 一区二区三区精品黑丝白丝酒店对鸡| 中文字幕av片| 激情五月天视频| 又黄又硬又粗又长国产视频| 黄色片大香蕉| 岛国天天午夜影院传媒网| 91GD.COM| 少妇高潮一区二区三区在线| 成人片在线播放| 熟女少妇一区二区三区| www.91色综合| 中国操逼无码| 久久精品99久久久久久| 伊人久久大香大香线蕉中文| 玖玖无码超碰| 亚洲不卡不卡中文字幕不卡| 黄色av网站在线播放| 欧亚成人在线视频| aaa一级黄片| 91成人18| 品亲网欧美品亲网| 久久婷色| 欧美精品精品一区二区| 加勒比人妻综合| 国产无套粉嫩白浆在| 亚洲 在线| 97超久碰| 99热啪啪| 思思视频免费看网站| 国产精品一二三| 黄页大片在线观看| 亚洲第一成人影院色播| 亚洲欧美另类图片| 日本中文字幕一区| 日本三级久| 亚洲国产一级精品毛一级精品看免费视频 | 亚洲另类色图片| 国语国产操逼伊人AV网| 97超碰美女| 黄骗免费网站| 丁香五月婷婷五月| 91久久国产综合久久| 自拍大香蕉乱插| 岛国人妻少妇av在线观看| 很很热性爱视频| 妇女性内射冈站HDWWWCOM| 欧美后入式| 黄色不卡视频| 国产原创精品| 色九月婷婷| 五月天婷精品激情| 五月天久久综合网| 精品少妇999| 玖玖爱一区在线| 色五月激情网| 亚洲欧洲日韩国产自在线| 强奸乱伦免费网站| 精品人妻一区二区三区在| 欧美性高潮在线| 欧美极品少妇| 国产人人干| 韩日自拍| 91黑丝操| 性爱AV天堂| 成人精品一区二区三区| 久草新免费| 久久精品视频28| 欧美人妻二区三区| 日韩 人妻 精品| 九九九九88| 台欧久久精品视频| 刺激性视频黄页| 国产天天骚| 91日日| 久热精品色情| 韩日精品福利视频一区不卡在线免| 欧美色图天堂网m| 国产欧美第五页| 色蜜AV| 丰满少妇一区二区三区四区观看| 18一区二区三区| 射欧美综合| 亚洲成人妻日韩在线| 精品视频久久区| 亚洲自拍小说| 亚洲成a人v欧美综合天堂下载| 大香蕉欧美| 天天色黄色影院天天操| 乳欲人妻办公室奶水| 操逼片中文| 99激情视频| 在线天堂999| 中文字幕伊人| 麻豆AV一区二区天美传媒| 91美女丝袜诱惑视频| 亚洲宅男天堂| 2017大香蕉国产精品久久| 伊人四虎综合| 人人爱人人乐人人操| 国产亚洲中文不卡二区| 五月丁香啪啪啪| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 丝袜亚洲91| 91色射| 人人操人人爽人人操人人| 手机在线中文字幕国产| 狠狠色婷婷| 中文字幕人乱码中文字的预防方法 | 青青爽| 亚洲素人综合| 国产精品视频91久久| 曰韩无码777| 蜜桃色院一区久久| 天天92av| 国人欧美精品一区二区| 成人老鸭窝人人在线视频| 五十路熟女,国产欧美精品区一区二区三区| 亚洲图片91| 唐山老熟妇露脸啪啪叫| 国产精品制服丝袜中文字幕日韩一区二区三区 | 人人性爱视频免费| 欧美一级黄片免费播放| 欧美激情色婷婷花野真衣一区二区| 九九精品网| 美女国产一区二区久久| 性性欧美| 日韩无码人妻| 色欧美天天| 99re这里只有精品2| 国产免a费看黄片在线| 嗯阿好爽好紧| 亚洲乱码精品一区二区| 日本欧美成人片AAAA| 色九九久九九| 999岛国大片| 99在线精品观看视频中文| 久久久久久久国产视频| 性性欧美| 久思思热视频在线观看| 天天干天天日天天射黄色片| 日韩亚洲欧美中文字幕| 日韩精品区二区三区不卡| 午夜啊啊| 91在线页| 日韩国产精品人妻无码久久久| 黄污污污污| 啊啊啊网站| 大香蕉伊人网WWWn0n| 亚洲色图欧美一区二区不卡| 少妇 综合| 蜜乳中文字幕a在线| 国产农村妇女精品一二区| 国产精品盗摄 偷窥盗摄| baiduhicn.com。| 岛国片国产成人亚洲播放| 久久综合av| 亚洲高清在线| 国产午夜激片Av毛片不卡| 深夜操逼网| 九九久久久久久爱| 永久免费av无码网站国产app| 女人喷水视频在线观看| av东京热男人的天堂| 婷婷影院入口| 色臀AV| 中文字幕av久久爽Av| 乳欲人妻办公室奶水| 久男人久久| 男人天堂.AB| 精品人体无圣光凹凸| 欧洲视频在线| 自拍丝袜美腿人妻| 人、人、摸,人、人、草| 天天92av| 乱色老一区二区三区的观看方式 | 九九九九欧美| 婷婷导航| 免费的黄片有限公司| 久久久久极品| 密臀在线免费观看| 在线无码操| 国产成久久综合片| 99热线麻豆| 歐美性天天| 嗯啊不要在线观看嗯啊| 日韩欧美中文| 国产在线视频午夜精华在| 久久久久久久久久久精| 中文字幕制服欧美久久一区| 欧洲熟妇xxXx欧美老妇裸体| 性videos欧美熟妇hdx| 亚洲欧美清纯| 加勒比人妻综合| 国产人伦精品一区二区三区| 国产无套粉嫩白浆在| 在线色导航| 亚洲天堂精品日韩电影| 天美av在线| 亚洲国成人情色好看电影| 日韩黄片视频试看| 毛片一区二区| 超碰人妻久久| 97在线播放| 91 国产丝袜在线播放-百度| 久草新免费| 夜夜爽妓女| 大香蕉在线视频15| 红杏大香蕉| 婷婷操逼| 国产亚洲色婷婷久久99精品91| 青椒国产97在线熟女| 黄色大片免费在线| 日韩日本欧美在线观看| 操东北女人| 激情小说亚洲| 日韩免费中文字幕视频| 97综合网| 91国产操逼视频| 亚洲一区在线观看欧洲 | 日本欧美一区二区三区视频麻豆| 久久精品国产亚洲5555| 精品性爱| 99视频这有这里有精品| 日本1区2区不卡视频| 影音先锋每日最新资源在线观看| 在线免费观看高清无码视频| 亚洲国产精品成人久久蜜臀| 97在线观看免费视频| 视频一区二区免费在线| 国产无吗在线播放| 日逼视频日本| 日本熟妇人妻中出视频| 欧美 亚洲 偷拍自拍| 欧美成人都市人妻| 色偷综合| 操我啊啊啊啊啊| 欧美黑人168页欧美黑人167| 91在线色综合| 日本天天操| 久艹伊人精品综合在线| 久日91在线| 偷窥自拍亚洲| 精品人妻中文字幕高清| 精品国产91内射久久| 美女一区二区国产精品| 91oumei| 亚洲精品国产av天美传媒| 青青草原成人| 欧亚无码视频| 国产精品久久成人免费| 97超碰69| 狠狠干2020| 日韩成年人性爱视频| 日本五十路熟女一区二区| 91在线页| 亚洲欧美综合网站| 日韩免费a级毛片无码a∨| 黄片aaaaa一区| 国产人妻精品久久久一区二区三区 | 久久蜜色情在线视频xxx免费观看| 欧美,亚洲,日韩,v,天堂,手机在线观看| 九九热三级片| h无码动漫在线观看| 91啪9色| 一卡二卡三卡| 这里只有精品视频在线观看麻豆| 激情五月天色色网| 免费成人在线熟妇网| 欧美亚洲丝袜人妻制服中文99| 亚洲第一精品在线视频| 欧美色偷拍| 人妻少妇无码 | 欧美在线观看综合国产| 日日夜夜狠狠| 天天操天天谢| 天天躁日日躁AAAAXXXX国产| 99在线免费观看| 欧美青青草视频| 黄色一区二区秘书性感| 男人下部插入女人下部| 中文字幕丝袜| 五月丁香久久| 久久久一二三四区| 欧美日韩操逼嗦吊| 欧亚揄拍偷拍精品视频 | 午夜福利成人免费视频| 亚洲综合性网址| 欧美日韩大黄片| 国产农村妇女精品一二区| 欧美巨大性舒爽顶到了| 天天色悠悠激情| 校园春色五月天| 九九热免费国产视频婷婷伊人五月 | 亚州成人a∨| 日韩成年人性爱视频| 欧美黑人性猛交91| 人人搞人人插人人操| 免费看污网站| 欧美一二三级精品在线| 麻豆一区在线| 超97在线精品视频| 久久熟女嫩草成人片免费| 精品性爱一区二区| 五月天婷婷社区| 少妇超碰在线| 四虎午夜影院| 久久女同性恋一二区| 婷婷视频在线免费观看| 99视频自拍区| 精品丰满人妻一区二区三区免费观| 超碰97人妻在线| 冬京热男人的天堂| 免费一级黄色录像影片| 另类专区加勒比| 天天干天天爽| 国内偷自视频区视频综合| 丰满人妻一区二区三区四区| 久久久久亚洲Aⅴ无码| 老司机免费视频在线91| 2019天天干| 欧日韩不卡视.频| 国产精品无码成人精品| 成人精品水蜜桃久久久久久久| 色色婷婷五月| 国产高清精品一区二区三区毛片| 激情另类激情| 欧美日韩电影一区二区| 成人免费在线网站| 欧洲久久一二线| 欧美日韩天堂| 日韩人妻操B| 92人人操人人| 日本黄色精品专区网站| 欧美中日韩XXXX| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | av强奸乱轮| 啊啊啊爽爽| 国产精品3| 丝袜性亚洲| 狠狠中文字幕| 婷婷深爱五月| 人妻一区视频| 欧美激情性久久久久久| 91精品人妻| 欧美综合色图片| 插入粉嫩少妇视频| 高跟伊人julia ann| 国产欧美日韩女同性恋ww喷水精品| 在线观看av区| 国产欧美精选自拍一区| 欧美成人A√在线一区二区| 天天拍夜夜| 最新制服中文第一页| 超碰在线1234区| 国产视频小说| 亚洲自拍欧美国产首页网曝| 在线观看十八禁| 一级AAA片一区二区三区| 97bbn| 操操逼操操逼操操逼逼| 激情内射| surenchaopeng| 久久天天摸| 深爱五月婷婷| 2024人人操人人摸| 欧美日产国产在线成人第一区| 嫩草 人人网精品| 国产视频小说| 99999re| 1人人看人人摸人人操| 亚洲色欲天天人妻无码系列专区| 91在线美女| 天天综合网亚洲综合网| 国产色产精品在线观看| 国产极品美女高潮无套在线观看| 亚洲五月丁香花狠狠干一区二区三区 | 九九九久千久久激情蜜桃在线看 | 激情五月丁香五月| 欧美五区| 欧美色91| 久操com| 黄页18禁| 影音资源男人日韩| 国产无码三级视频在线观看| 国内三级自拍小视频在线观看| 成人无码专区精品视频| 快播久久人人aV| 中文字幕精品一区二| 97操碰| 99re在线视频国产| 97视频网站| 欧美十八禁在线看| 男人网站婷婷| 少妇色| 精品国产精品一区二区| 欧美在线大香蕉| 国产99999| 亚洲免费人妻在| 99re只有精品| 99久久99久久免费精品蜜臀| 亚洲四虎熟女精品| 亚洲中文电影| 激情综合网亚洲| 色色操| 嗯嗯啊啊的视频| 欧洲综合无码| 天天综合网国产| 欧美性色欧美| 婷婷丁香五月天综合东京热| 天天弄欧美| 啊啊嗯嗯好爽| 婷婷色色五月天| 中文字幕在线第二页| 中文字幕一区二区三区高清| 爱干爱射网啊啊啊| 久久99国产精品| 国内三级自拍小视频在线观看 | 狠狠操使劲操| 东京热亚洲一区二区| 女人18精品一区二区三区| 国产精品人妻熟女aⅴ| 综合亚洲情色| TS人妖另类精品视频系列| 久久人妻视频网| 男人的天堂VA| 色播综合| 亚洲做性| 日本日皮视频逼| 91劲爆| 无码高清专| 亚洲 综合 第一页| 九九久久国产精品怡红院| 天天射网| 中文字幕在线24| 91美女片在线| 午夜男女爽爽爽在线视频| 精吧天堂| 亚洲乱码国产乱码精网站| 99只有精品| 国产一级特黄大片处女| 九X超碰| 欧美日韩*字幕一区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 天天干天天日天天射黄色| 日韩色| 97亚洲综合电影| 亚洲欧美999| 天天肏美女| 亚洲伊人成综合成人网| 91在线美女| 亚欧高清| av亚洲天堂资源网站| 国产又猛又粗又爽又黄| 老熟妇综合| 亚洲AV噜噜狠狠网址蜜桃动漫| 免费成人在线熟妇网| 熟女精品va中文字幕| 久久精品无码不卡| 十八禁视频网站| 91色夜| 99这里有精品| 欧洲性爱无码区| 加勒比日本在线| 青青久久手机线视频| 亚洲一区制服诱惑| 大香蕉黄色一区| 国产伦精品| 亚洲伊人久久精品狠狠在线| 亚洲国产精品V?在线播放| 精品96久久| 国产九九九九九九九九| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 国产三级片在线观看| 操穴国产| 成人自拍三级在线观看| 丝袜美女诱惑 91 视频| 粉嫩av在线一区二区| 精品十八在线观看| 色噜噜综合在线| a片久久久久久久久久久久 | 操逼操逼视频操逼| 1204人成网站色www| 五月天激情小说| 无码137片内射在线影院| 色娱乐色呦呦夜夜夜夜av| 激情啪啪拍91|