⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inv_co.m

📁 The neuro-fuzzy software for identification and data analysis has been implemented in the MATLAB lan
💻 M
字号:
function [SSE,par,bias]=inv_co(inputs,centers,bases,output)%INV_CO		inversion on the consequents for constant_output_models%%  [norma,par,bias]=inv_co(inputs,centers,bases,output)%%	SSE[1,1]			Sum of the squeared errors%	par[no_rules,1]			parameters of the consequents%	bias[1,1]			shifts all the local models%%	inputs[no_data,no_var]%	centers[no_rules,no_var]%	bases[no_rules,no_var]%	output[no_data,1]%%	The following global variable are required:                     %		memb_fun:	'gaussian'/'triangular'                % 		arch:		'weigthed'/'comb'                      %		format_out:	'linear'/'constant'                       %		model_bias:	'bias'/'no_bias'%_______________________________________________________9 April 1996____global memb_fun;global arch;global format_out;global model_bias;[no_data,no_var]=size(inputs);[no_rules,no_var]=size(centers);w=ones(no_data,no_rules);	%Matrix of the degree of match of each				%datum to the premise of each ruleSum_w=zeros(no_data,1);for i=1:no_rules	for j=1:no_var		if strcmp(memb_fun,'gaussian')			match=exp(-((inputs(:,j)-centers(i,j)).^2)/bases(i,j));		end		if strcmp(memb_fun,'triangular')			match=max(0,ones(no_data,1)-2*abs(inputs(:,j)-centers(i,j))/bases(i,j));		end		w(:,i)=w(:,i).*match;	end	Sum_w=Sum_w + w(:,i);endSum_w=Sum_w+(Sum_w==0);if strcmp(arch,'comb')	X=w;endif strcmp(arch,'weigthed')	normalizer=Sum_w*ones(1,no_rules);	X=w./normalizer;endif strcmp(model_bias,'bias')	A=[X,ones(no_data,1)];	tol=1e-9;		par_and_bias=pinv(A,tol)*output;		par=par_and_bias(1:no_rules,:);	bias=par_and_bias(no_rules+1,:);endif strcmp(model_bias,'no_bias')	A=X;	tol=1e-9;	par=pinv(A,tol)*output;	bias=0;endSSE=sumsqr(output-X*par-bias);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -