- Simulate the system using your nonlinear function to generate input-output data.
- Train an RBF network on this data: "newrb" function can help, refer to below example code.
- Test the RBF network and compare its output to the true function.
How to use RBF training to simulate this function, (simulation and using code seperatly)
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
f = @(x)(prod([x(1),x(2),x(3),x(5),x(3)-1])+x(4)) ./ (1 + x(2)^2 + x(3)^3);
k = 5; % demo value y = 1:5; % demo value u = 1:5; % demo value
y(k+1) = f([y(k), y(k-1), y(k-2), u(k), u(k-1)])
0 个评论
回答(1 个)
  Leepakshi
 2025-9-2
        
      编辑:Leepakshi
 2025-9-2
  
      Hi Jabbar, 
You can simulate this function using Radial Basis Function Training using below three steps:
Refer to this code for better understanding:
f = @(x)(prod([x(1),x(2),x(3),x(5),x(3)-1])+x(4)) ./ (1 + x(2)^2 + x(3)^3);
N = 200; % .... Generate data using loop and randn, if not available.
X = [y(3:N+2)', y(2:N+1)', y(1:N)', u(3:N+2)', u(2:N+1)']; % Prepare inputs (X) and targets (T)
T = y(4:N+3)';
net = newrb(X', T', 1e-3, 1.0, 50); % Train RBF network
Hope this helps!
Thanks
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

