第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

case0是看懂了,主要是畫出水箱,但是case2這部分代碼完全看不懂是什么意思哈?

case0是看懂了,主要是畫出水箱,但是case2這部分代碼完全看不懂是什么意思哈?

PHP
翻閱古今 2023-04-23 13:09:13
這是畫一個開口水箱,顯示水位變化的動態(tài)圖像。麻煩大神能一步步詳細解釋下case2這部分代碼。謝謝!function [sys,x0]=animtank(t,x,u,flag,ts) global tankdemoif flag==2,if any(get(0,'Children')==tankdemo),if strcmp(get(tankdemo,'Name'),'Tank Demo'),% Update tank one leveltankHndlList=get(tankdemo,'UserData');yData=get(tankHndlList(1),'YData');yOffset=yData(1);yData(3:4)=[1 1]*u(2)+yOffset;set(tankHndlList(1),'YData',yData);yData=get(tankHndlList(2),'YData');yData([3 4])=[1 1]*u(2)+yOffset;set(tankHndlList(2),'YData',yData);yData=[1 1]*u(1)+1;set(tankHndlList(3),'YData',yData);drawnow;endendsys=[];x0=[];elseif flag==0;% Initialize the figure for use with this simulationfuzzy_animinit('Tank Demo');tankdemo=findobj(0,'Name','Tank Demo');tank1Wid=1;tank1Ht=2;tank1Init=0;setPt=0.5;tankX=[0 0 1 1]-0.5;tankY=[1 0 0 1];% Draw the tankline(1.1*tankX*tank1Wid+1,tankY*tank1Ht+0.95,'LineWidth',2,'Color','black');tankX=[0 1 1 0 0]-0.5;tankY=[0 0 1 1 0];% Draw the waterwaterX=tankX*tank1Wid+1;waterY=tankY*tank1Init+1;tank1Hndl=patch(waterX,waterY,'blue','EdgeColor','none');% Draw the gray wallwaterY([1 2 5])=tank1Ht*[1 1 1]+1;waterY([3 4])=tank1Init*[1 1]+1;tank2Hndl=patch(waterX,waterY,[.9 .9 .9],'EdgeColor','none');% Draw the set pointlineHndl=line([0 0.4],setPt*[1 1]+1,'Color','red','LineWidth',4);set(gcf, ...'Color',[.9 .9 .9], ...'UserData',[tank1Hndl tank2Hndl lineHndl]);set(gca, ...'XLim',[0 2],'YLim',[0 3.5], ...'XColor','black','YColor','black', ...'Box','on');axis equalxlabel('Water Level Control','Color','black','FontSize',10);set(get(gca,'XLabel'),'Visible','on')sys=[0 0 0 2 0 0];x0=[];end;
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經(jīng)驗 獲得超6個贊

tankdemo是畫出來的那個figure對象
figure對象有著很復(fù)雜的結(jié)構(gòu)
set是設(shè)置對象屬性值的函數(shù)
get是獲取對象屬性值的函數(shù)

就是更新'UserData'數(shù)據(jù)
比如這段代碼:
tankHndlList=get(tankdemo,'UserData');
讀原來的'UserData'數(shù)據(jù)
yData=get(tankHndlList(1),'YData');
讀'UserData'中的第一個對象的'YData'屬性值
yOffset=yData(1);
其中第一個當(dāng)作偏置量
yData(3:4)=[1 1]*u(2)+yOffset;
更新計算yData
set(tankHndlList(1),'YData',yData);
更新tankHndlList(1)
其他的代碼也是這個目的


查看完整回答
反對 回復(fù) 2023-04-25
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號