亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mfedit.m

?? 模糊控制工具箱,很好用的,有相應的說明文件,希望對大家有用!
?? M
?? 第 1 頁 / 共 4 頁
字號:
		mfedit #plotmfs
        % Deselect the remove mf menu item
		hndl=findobj(figNumber,'Type','uimenu','Tag','removemf');
		set(hndl,'Enable','off');
	end
	
	watchoff(figNumber)    
	
elseif strcmp(action,'#removeallmfs'),
	%====================================
	figNumber=watchon;
	oldfis=get(figNumber,'UserData');
	fis=oldfis{1};
	% Find the selected variable
	currVarAxes=findobj(figNumber,'Type','axes','XColor',selectColor);
	varIndex=get(currVarAxes,'UserData');
	varType=get(currVarAxes,'Tag');
	mainAxes=findobj(figNumber,'Type','axes','Tag','mainaxes');
	
	lineHndlList=findobj(mainAxes,'Tag','mfline');
	txtHndlList=findobj(mainAxes,'Type','text');
	
	deleteFlag=1;
	count=eval(['length(fis.' varType '(' num2str(varIndex) ').mf)']);
	while count>=1,
		[fis,errorStr]=rmmf(fis,varType,varIndex,'mf',count);
		count=count-1;
		if isempty(fis),
			% if any of these MFs are used in the rule base, we can't delete
			deleteFlag=0;
			statmsg(figNumber,errorStr);
			count=0;
		end
	end
	if deleteFlag
		delete(lineHndlList);
		delete(txtHndlList);
		pushundo(figNumber,fis);
		updtfis(figNumber,fis,[]);
		mfedit #plotmfs
        % Deselect the remove mf menu items
		hndl=findobj(figNumber,'Type','uimenu','Tag','removeallmf');
		set(hndl,'Enable','off');
		hndl=findobj(figNumber,'Type','uimenu','Tag','removemf');
		set(hndl,'Enable','off');
	end
	
	watchoff(figNumber)    
	
elseif strcmp(action,'#addcustommf'),
	%====================================
	figNumber=watchon;
	oldfis=get(figNumber,'UserData');
	fis=oldfis{1};
	% Find the selected variable and MF
	currVarAxes=findobj(figNumber,'Type','axes','XColor',selectColor);
	varIndex=get(currVarAxes,'UserData');
	varType=get(currVarAxes,'Tag');
	
	cmfdlg(figNumber,fis,varType,varIndex,figNumber);
	watchoff(figNumber);
	
elseif strcmp(action,'#addmfs'),
	%====================================
	figNumber=watchon;
	oldfis=get(figNumber,'UserData');
	fis=oldfis{1};
	% Find the selected variable and MF
	currVarAxes=findobj(figNumber,'Type','axes','XColor',selectColor);
	varIndex=get(currVarAxes,'UserData');
	varType=get(currVarAxes,'Tag');
    
    mfdlg(figNumber,fis,varType,varIndex);
    mfdlgfig=findobj(0, 'Tag', 'mfdlg');
    waitfor(mfdlgfig);
    watchoff(figNumber);
    oldfis=get(figNumber,'UserData');
    fis=oldfis{1};
    updtfis(figNumber,fis,[3]);
    % There is now atleast one mf therefore check the remove all mf menu item
    hndl=findobj(figNumber,'Type','uimenu','Tag','removeallmf');
    set(hndl,'Enable','on');
    
elseif strcmp(action,'#plotvars'),
	%====================================
	figNumber=gcf;
	oldfis=get(figNumber,'UserData');
	fis=oldfis{1};
	
	if isfield(fis, 'input')
		numInputs=length(fis.input);
	else
		numInputs=0;
	end
	if isfield(fis, 'output')
		numOutputs=length(fis.output);
	else
		numOutputs=0;
	end
	
	for i=1:numInputs
		if isfield(fis.input(i), 'mf')
			numInputMFs(i)=length(fis.input(i).mf);
		else
			numInputMFs(i)=0;
		end
	end
	
	for i=1:numOutputs
		if isfield(fis.output(i), 'mf')
			numOutputMFs(i)=length(fis.output(i).mf);
		else
			numOutputMFs(i)=0;
		end
	end
	if isfield(fis, 'rule')
		numRules=length(fis.rule);
	else
		numRules=0;
	end
	fisName=fis.name;
	fisType=fis.type;
	
	mainAxHndl=gca;
	set(mainAxHndl,'Units','pixel','XTick',[],'YTick',[])
	mainAxPos=get(mainAxHndl,'Position');
	axis([mainAxPos(1) mainAxPos(1)+mainAxPos(3) ...
			mainAxPos(2) mainAxPos(2)+mainAxPos(4)]);
	xCenter=mainAxPos(1)+mainAxPos(3)/2;
	yCenter=mainAxPos(2)+mainAxPos(4)/2;
	title('FIS Variables')
	set(get(mainAxHndl,'Title'),'Visible','on','FontSize',10,'Color','black')
	
	% Inputs first
	
	if get(0,'ScreenDepth')>2,
		inputColor=[1 1 0.5];
		outputColor=[0.5 1 1];
	else
		inputColor=[1 1 1];
		outputColor=[1 1 1];
	end
	
	tickColor=[0.5 0.5 0.5];
    fontSize=8;
    
    boxWid=(1/2)*mainAxPos(3);
    boxHt=(1/(max(4,numInputs)))*mainAxPos(4);
    xInset=boxWid/10;
    yInset=boxHt/max([5,numInputs,numOutputs]);
    
    xMin=-1; xMax=1;
    
    for varIndex=1:numInputs,
        boxLft=mainAxPos(1);
        boxBtm=mainAxPos(2)+mainAxPos(4)-boxHt*varIndex;
        axPos=[boxLft+xInset boxBtm+yInset boxWid-2*xInset boxHt-2*yInset];
        
        varName=eval(['fis.input(' num2str(varIndex) ').name']);
        axName='input';
        axHndl=axes( ...
            'Units','pixel', ...
            'Box','on', ...
            'XTick',[],'YTick',[], ...
            'XColor',tickColor,'YColor',tickColor, ...
            'YLim',[-0.1 1.1], ...
            'Color',inputColor, ...
            'Tag',axName, ...
            'UserData',varIndex, ...
            'Position',axPos);
        mfIndex=(1:numInputMFs(varIndex))+sum(numInputMFs(1:(varIndex-1)));
        colorOrder=get(gca,'ColorOrder');
        
        % Plot three cartoon membership functions in the box
        x=(-1:0.1:1)';
        y1=exp(-(x+1).^2/0.32); y2=exp(-x.^2/0.32); y3=exp(-(x-1).^2/0.32);
        xlineMatrix=[x x x];
        ylineMatrix=[y1 y2 y3];
        line(xlineMatrix,ylineMatrix,'Color','black');
        xiInset=(xMax-xMin)/10;
        axis([xMin-xiInset xMax+xiInset -0.1 1.1])
        
        % Lay down a patch that simplifies clicking on the region
        patchHndl=patch([xMin xMax xMax xMin],[0 0 1 1],'black');
        set(patchHndl, ...
            'EdgeColor','none', ...
            'FaceColor','none', ...
            'ButtonDownFcn','mfedit #selectvar');
        
        % Now put on the variable name as a label
        xlabel(varName);
        labelName=[axName 'label'];
        set(get(axHndl,'XLabel'), ...
            'FontSize',fontSize, ...
            'Color','black', ...
            'Tag',labelName); 
    end
    
    % Now for the outputs
    boxHt=(1/(max(4,numOutputs)))*mainAxPos(4);

    for varIndex=1:numOutputs,
        boxLft=mainAxPos(1)+boxWid;
        boxBtm=mainAxPos(2)+mainAxPos(4)-boxHt*varIndex;
        axPos=[boxLft+xInset boxBtm+yInset boxWid-2*xInset boxHt-2*yInset];
        
        varName=eval(['fis.output(' num2str(varIndex) ').name']);
        axName='output';
        axHndl=axes( ...
            'Units','pixel', ...
            'Box','on', ...
            'Color',outputColor, ...
            'XTick',[],'YTick',[], ...  
            'XLim',[xMin xMax],'YLim',[-0.1 1.1], ...
            'XColor',tickColor,'YColor',tickColor, ...
            'Tag',axName, ...
            'UserData',varIndex, ...
            'Position',axPos);
        mfIndex=(1:numOutputMFs(varIndex))+sum(numOutputMFs(1:(varIndex-1)));
        if ~strcmp(fisType,'sugeno'),
            % Only try to plot outputs it if it's not a Sugeno-style system
            x=[-1 -0.5 0 0.5 1]';
            xlineMatrix=[x x x];
            ylineMatrix=[0 1 0 0 0;0 0 1 0 0; 0 0 0 1 0]';
            line(xlineMatrix,ylineMatrix,'Color','black');
            xoInset=(xMax-xMin)/10;
        else
            text(0,0.5,'f(u)', ...
                'FontSize',fontSize, ...
                'Color','black', ...
                'HorizontalAlignment','center');
        end
        
        % Lay down a patch that simplifies clicking on the region
        patchHndl=patch([xMin xMax xMax xMin],[0 0 1 1],'black');
        set(patchHndl, ...
            'EdgeColor','none', ...
            'FaceColor','none', ...
            'ButtonDownFcn','mfedit #selectvar');
        
        xlabel(varName);
        labelName=[axName 'label'];
        set(get(axHndl,'XLabel'), ...
            'FontSize',fontSize, ...
            'Color','black', ...
            'Tag',labelName);
    end
    
    hndlList=findobj(figNumber,'Units','pixels');
    set(hndlList,'Units','normalized')
    
elseif strcmp(action,'#help');
    figNumber=watchon;
    helpwin(mfilename)
    watchoff(figNumber)
    
end;    % if strcmp(action, ...

%%%%%%%%%%%%%%%%%%%%%%%
%%% localgetmfparam %%%
%%%%%%%%%%%%%%%%%%%%%%%
function out = localgetmfparam(fis, varType, varNum, mfNum, param)
switch varType
case 'input'
    switch param
    case 'name'
        out=fis.input(varNum).mf(mfNum).name;
    case 'type'
        out=fis.input(varNum).mf(mfNum).type;
    case 'params'
        out=fis.input(varNum).mf(mfNum).params;
    end   
case 'output'
    switch param
    case 'name'
        out=fis.output(varNum).mf(mfNum).name;
    case 'type'
        out=fis.output(varNum).mf(mfNum).type;
    case 'params'
        out=fis.output(varNum).mf(mfNum).params;
    end   
end


%%%%%%%%%%%%%%%%%%%%%
%   localSelectmf   %
%%%%%%%%%%%%%%%%%%%%%
function localSelectmf(eventSrc, eventHdl, selectColor)
% Called when a user btn downs on an mf and selects the first mf
% to be selected when a new input or output is plotted.

figNumber=watchon;
oldfis=get(figNumber,'UserData');
fis=oldfis{1};
fisType=fis.type;

% Is the current variable input or output?
currVarAxes=findobj(figNumber,'Type','axes','XColor',selectColor);
varIndex=get(currVarAxes,'UserData');
varType=get(currVarAxes,'Tag');

if ~isempty(eventSrc)
    % The function was called from a btn down action on an object
    mainAxes=get(eventSrc,'Parent');	
    % Find the new current MF
    param=get(mainAxes,'UserData');
    oldCurrMF=param.CurrMF;
    newCurrMF=get(eventSrc,'UserData');
    param.CurrMF=newCurrMF;
    plot_mfs = 1;
else
    % The function was called directly and should initialize the first mf
    oldCurrMF = -1;
    % Check there is an mf to plot
    if ~isempty(currVarAxes)
        % Check there is an mf to plot
        if length(eval(['fis.' varType '(' num2str(varIndex) ').mf'])) >= 1
            plot_mfs = 1;
            % Set the first mf to be selected
            newCurrMF = 1;
            kids = get(figNumber,'Children');
            mainAxes = kids(find(strcmp(get(kids,'tag'),'mainaxes')));
            param.CurrMF=1;
        else
            % There are no mfs therefore dont plot anything
            plot_mfs = 0;
            % Set the remove mf menuitems
            h1 = findobj(figNumber,'Type','uimenu','Tag','removemf');
            h2 = findobj(figNumber,'Type','uimenu','Tag','removeallmf');
            set([h1, h2],'Enable','off');
        end
    else 
        % There is no selected input or output therefore dont plot anything
        plot_mfs = 0;
    end
end

% Plot an mf
if plot_mfs == 1
    % Deselect other currently selected MF curves
    if oldCurrMF~=newCurrMF, 
        if oldCurrMF~=-1 
            mfedit #deselectmf
        end
        set(mainAxes,'UserData',param);
        
        % Find the info for the new MF
        mfType=localgetmfparam(fis, varType, varIndex, newCurrMF, 'type');
        mfName=localgetmfparam(fis, varType, varIndex, newCurrMF, 'name');
        mfParams=localgetmfparam(fis, varType, varIndex, newCurrMF, 'params');      
        % Set the MF name, type and params to the right value
        mfNameHndl=findobj(figNumber,'Type','uicontrol','Tag','mfname');
        set(mfNameHndl,'String',[' ' mfName],'Enable','on');
        
        mfTypeHndl=findobj(figNumber,'Type','uicontrol','Tag','mftype');
        mfTypeList=get(mfTypeHndl,'String');
        if strcmp(fisType,'sugeno') & strcmp(varType,'output'),
            % Prepare sugeno mf type popup menu
            if size(mfTypeList,1)>2,
                set(mfTypeHndl,'String',get(mfTypeHndl,'UserData'));
                set(mfTypeHndl,'UserData',mfTypeList);
            end
        else
            % Prepare mamdani mf type popup menu
            if size(mfTypeList,1)==2,
                set(mfTypeHndl,'String',get(mfTypeHndl,'UserData'));
                set(mfTypeHndl,'UserData',mfTypeList);
            end
            % Make the selected line bold
            currLineHndl=findobj(mainAxes,'Tag','mfline','UserData',newCurrMF);
            
            set(currLineHndl,'Color',selectColor);
            mfdrag('mf', currLineHndl, mfType, mfParams);
            set(currLineHndl,'LineWidth',2);
        end
        
        % Make the selected text bold
        currTxtHndl=findobj(mainAxes,'Type','text','UserData',newCurrMF);
        set(currTxtHndl,'Color',selectColor,'FontWeight','bold');
        
        mfTypeList=get(mfTypeHndl,'String');
        mfTypeValue=findrow(mfType,mfTypeList);
        if isempty(mfTypeValue),
            mfTypeList=str2mat(mfTypeList, [' ' mfType]);
            mfTypeValue=findrow(mfType,mfTypeList);
            set(mfTypeHndl,'String',mfTypeList,'Value',mfTypeValue);
            msgStr=['Installing custom membership function "' mfType '"'];
            statmsg(figNumber,msgStr);
        end
        set(mfTypeHndl,'Value',mfTypeValue,'Enable','on');
        curr_info = get(gca, 'CurrentPoint');
        
        hndl=findobj(figNumber, 'Tag','mfparams');
        set(hndl,'String',[' ' mat2str(mfParams,4)],'Enable','on', ...
            'Userdata', [curr_info(1,1) mfParams]);
        
        hndl=findobj(figNumber,'Type','uimenu','Tag','removemf');
        set(hndl,'Enable','on');
        
    end
    % Reset the remove all mfs menuitem
    hndl=findobj(figNumber,'Type','uimenu','Tag','removeallmf');
    set(hndl,'Enable','on');
end
watchoff(figNumber)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看国产一区| 国产精品二三区| 国产精品嫩草久久久久| 亚洲电影一级片| 成a人片亚洲日本久久| 91精品国产麻豆| 亚洲欧美国产高清| 国产在线看一区| 欧美久久久久久久久| 亚洲欧美成人一区二区三区| 国产一区二区三区精品视频 | 亚洲一区二区av电影| 国产成人免费视| 日韩女优av电影| 亚洲成年人网站在线观看| 色呦呦国产精品| 亚洲欧美中日韩| 丁香婷婷综合五月| 久久久精品2019中文字幕之3| 日韩va欧美va亚洲va久久| 91亚洲精华国产精华精华液| 亚洲欧洲一区二区三区| 丁香婷婷综合五月| 国产精品系列在线| 高清shemale亚洲人妖| 久久精品亚洲国产奇米99| 精品亚洲成a人| 欧美精品一区二| 国产在线视频一区二区三区| 精品日韩欧美一区二区| 精品一区二区三区在线观看 | 中文av一区二区| 国产成人鲁色资源国产91色综 | av一本久道久久综合久久鬼色| 欧美精品一区二区高清在线观看| 青青草国产精品97视觉盛宴| 91精品国产黑色紧身裤美女| 日本不卡免费在线视频| 欧美一卡二卡三卡| 日韩电影免费一区| 精品少妇一区二区三区免费观看| 激情小说亚洲一区| 国产香蕉久久精品综合网| 成人一区二区三区视频在线观看| 亚洲欧美在线视频观看| 91美女在线看| 婷婷成人综合网| 亚洲精品在线电影| 成人av影院在线| 亚洲免费观看视频| 欧美日韩成人激情| 经典三级视频一区| 国产精品初高中害羞小美女文| 91啦中文在线观看| 日本视频免费一区| 久久精品视频免费| 欧洲一区在线电影| 精品在线一区二区| 伊人色综合久久天天人手人婷| 欧美日韩免费高清一区色橹橹 | 色综合中文字幕国产| 亚洲精品中文在线影院| 欧美精品日韩综合在线| 国产乱码精品一区二区三区忘忧草| 国产精品高潮呻吟久久| 欧美精品丝袜中出| 国产精品888| 艳妇臀荡乳欲伦亚洲一区| 日韩一区二区不卡| 色又黄又爽网站www久久| 奇米综合一区二区三区精品视频 | 日韩免费电影一区| 成人av影视在线观看| 日韩国产精品大片| 国产精品私人自拍| 91精品国产色综合久久不卡电影 | 国产精品99久久久久| 亚洲电影激情视频网站| 中文字幕成人av| 精品卡一卡二卡三卡四在线| 色偷偷88欧美精品久久久| 国产久卡久卡久卡久卡视频精品| 亚洲欧美日韩一区二区 | 国产不卡在线视频| 丝袜诱惑亚洲看片| 亚洲人成网站影音先锋播放| 久久综合一区二区| 884aa四虎影成人精品一区| 色哟哟日韩精品| 国产jizzjizz一区二区| 麻豆国产欧美日韩综合精品二区| 亚洲综合丁香婷婷六月香| 国产精品国产精品国产专区不蜜 | 欧美亚洲日本国产| 成人av在线播放网址| 国产美女一区二区| 久久精品久久久精品美女| 亚洲精品中文字幕在线观看| 中文字幕乱码久久午夜不卡| 精品乱人伦小说| 日韩免费观看2025年上映的电影| 欧美精品久久久久久久多人混战 | 国产无人区一区二区三区| 欧美va亚洲va国产综合| 3atv在线一区二区三区| 在线精品国精品国产尤物884a| 成人av在线一区二区| 波波电影院一区二区三区| 国产91精品在线观看| 国产成人一区在线| 国产69精品久久久久777| 国产一区二区三区香蕉 | 在线亚洲人成电影网站色www| 丁香啪啪综合成人亚洲小说| 国产激情精品久久久第一区二区 | 日韩一级欧美一级| 91精品国产欧美日韩| 日韩视频123| 欧美成人vps| 久久久久9999亚洲精品| 国产精品色呦呦| 一区二区中文视频| 亚洲高清视频的网址| 婷婷夜色潮精品综合在线| 人禽交欧美网站| 精品一区免费av| 成人v精品蜜桃久久一区| 97久久精品人人做人人爽50路| 91亚洲精品乱码久久久久久蜜桃| 在线观看亚洲一区| 欧美日韩精品一二三区| 日韩无一区二区| 欧美国产成人在线| 亚洲蜜桃精久久久久久久| 亚洲va国产va欧美va观看| 日本免费新一区视频| 国模少妇一区二区三区| 成人av午夜影院| 欧美日本一区二区三区四区| 精品国产电影一区二区| 国产精品成人一区二区三区夜夜夜| 一区二区三区中文在线| 男男成人高潮片免费网站| 国内精品伊人久久久久av一坑 | 亚洲一区二区欧美激情| 麻豆高清免费国产一区| 成人国产电影网| 69堂国产成人免费视频| 国产精品免费aⅴ片在线观看| 一区二区三区精品在线| 免费亚洲电影在线| 99视频有精品| 日韩欧美精品三级| 亚洲精品欧美在线| 国产成人av资源| 91精品福利在线一区二区三区| 中文字幕不卡在线观看| 美女脱光内衣内裤视频久久影院| 成人免费的视频| 欧美大片在线观看| 亚洲精品视频观看| 粉嫩一区二区三区性色av| 欧美精品777| 亚洲视频每日更新| 国产精品香蕉一区二区三区| 欧美日韩另类国产亚洲欧美一级| 国产精品素人一区二区| 久久精品噜噜噜成人av农村| 欧美体内she精高潮| 欧美激情自拍偷拍| 精品一区免费av| 欧美一区二区视频免费观看| 亚洲精品中文字幕在线观看| 成人性视频免费网站| 日韩欧美中文一区二区| 亚洲一区二区高清| 91色porny蝌蚪| 国产精品久久久久久久第一福利 | 国产亚洲自拍一区| 欧美aaa在线| 制服丝袜亚洲网站| 日欧美一区二区| 欧美性极品少妇| 夜夜嗨av一区二区三区网页 | 一区二区激情视频| www.在线欧美| 国产农村妇女毛片精品久久麻豆 | 精品一区二区在线免费观看| 7777女厕盗摄久久久| 亚洲成av人片一区二区三区| 欧美日韩在线一区二区| 亚洲精品高清视频在线观看| 欧美三级蜜桃2在线观看| 亚洲色图清纯唯美| 成人成人成人在线视频| 国产精品欧美一区喷水| 懂色av一区二区在线播放| 国产日本欧洲亚洲| 成人av动漫网站| 国产精品的网站|