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

📄 inv_sig.m

📁 如果你看过神经模糊与软运算这本书,相信你一定想得到它的源代码.
💻 M
字号:
% Get data for inverse controlwith_chk_data = 0;t = (0:100)';u = 0.8*sin(2*pi*t/250)+0.2*sin(2*pi*t/50);u = 2*rand(size(t))-1;y = ones(length(t), 1);y(1) = 0.9;% find the output y(k)for i = 1:length(t)-1;	y(i+1) = plant(y(i), u(i));endblackbg;subplot(211); plot(t, u, '-', t, u, 'go');xlabel('Time'); ylabel('u(k)'); axis([-inf inf -inf inf]);subplot(212); plot(t, y, '-', t, y, 'go');xlabel('Time'); ylabel('y(k)'); axis([-inf inf -inf inf]);% collect training data of the format: [y(k) y(k+1); u(k)]% this is forward training datacol1 = y; col1(length(col1)) = [];col2 = y; col2(1) = [];col3 = u; col3(length(col3)) = [];data = [col1 col2 col3];data_n = size(data, 1);% save training and checking dataif with_chk_data,	tmp = randperm(data_n);	trn_data = data(tmp(1:2:data_n), :);	chk_data = data(tmp(2:2:data_n), :);	save inv_trn.dat trn_data -ascii	save inv_chk.dat chk_data -asciielse	trn_data = data;	save inv_trn.dat trn_data -asciiend% plotting training data and checking data as a scatter plotfigure; blackbg;subplot(2,2,1);if with_chk_data,	plot(trn_data(:,1), trn_data(:,2), 'o', chk_data(:,1), chk_data(:,2), '+');else	plot(trn_data(:,1), trn_data(:,2), 'o');endxlabel('y(k)'); ylabel('y(k+1)');axis equal; axis square;returnx = trn_data(:, 1);y = trn_data(:, 2);z = trn_data(:, 3);point_n = 20;xi = linspace(min(x), max(x), point_n);yi = linspace(min(y), max(y), point_n);[XI, YI] = meshgrid(xi,yi);ZI = griddata(x,y,z,XI,YI);figure; blackbg;h1 = mesh(XI,YI,ZI);set(h1, 'clipping', 'on');hold onh2 = plot3(x, y, z, 'yo');set(h2, 'clipping', 'on');h3 = plot3(chk_data(:,1), chk_data(:,2), chk_data(:,3), 'm+');set(h3, 'clipping', 'on');hold offgrid onxlabel('X --> y(k)'); ylabel('Y --> y(k+1)'); zlabel('u(k)');%view([-37.5-90 30]);set(gca, 'box', 'on');axis([min(x) max(x) min(y) max(y) min(z) max(z)]);axis([-inf inf -inf inf -inf inf]);

⌨️ 快捷键说明

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