Using multiple inputs with nftool

2 views (last 30 days)
Zdenek Vrana
Zdenek Vrana on 7 May 2023
Commented: Zdenek Vrana on 4 Jun 2023
My task is to approximate an eggholder function ( https://www.sfu.ca/~ssurjano/egg.html ).
I am currently trying to figure out how to choose both of these 2 variables (x and y) as inputs in nftool.
If it's easier to do with another command, I could use it instead of nftool.
x = linspace(-512, 512, 1025);
y = linspace(-512, 512, 1025)';
for i=1:length(x)
for j =1:length(y)
z(i,j) = -(y(j,1)+47) .* sin(sqrt(abs(y(j,1)+x(1,i)/2+47))) - x(1,i) .* sin(sqrt(abs(x(1,i)-(y(j,1)+47))));
end
end

Answers (1)

Sarthak
Sarthak on 17 May 2023
Hi Zdenek,
As per my understanding you can reshape your inputs to a single input matrix.
inputs = [x(:), y(:)];
This inputs can then be used for any suitable function.
  1 Comment
Zdenek Vrana
Zdenek Vrana on 4 Jun 2023
Thank you, it worked. However, I have another issue.
After training the network, every new input (eg. one pair of X and Y values) gives me 1025 predicted values. I think it's because the inputs (for traning) are only 2 rows, but the function (the result of those 2 inputs) is a 1025x1025 matrix.
How do I solve this?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!