I am getting error Not enough input arguments..

1 view (last 30 days)
function q = simple_sa(x)
z1 = xlsread('staad.xlsx','A:A');
z2= xlsread('staad.xlsx','B:B');
z1_new=z1(2)
z2_new=z2(2)
q = z1_new* (x(1)^2 + x(2)) ^2 + (z2_new + x(1))^2
FitnessFunction = @simple_sa;
numberOfVariables = 2;
[x,fval] = ga(FitnessFunction,numberOfVariables)
I am getting error Not enough input arguments..
Above code was a trial...
My problem is to use ga code in such a wat that the matlab reads values from an excel sheet , the it passes it(like values of z above) to the objective and constraint func, the running ga code for each value taken and returns the output untill all the cells are read.... help......most wanted........

Answers (1)

Walter Roberson
Walter Roberson on 29 May 2015
function do_my_fittings
z1 = xlsread('staad.xlsx','A:A');
z2 = xlsread('staad.xlsx','B:B');
L = min(length(z1), length(z2));
xvals = zeros(L, 2);
for K = 1 : L
xvals(K, :) = simple_fitness(z1(K), z2(K));
end
end
function x = simple_fitness(z1i, z2i)
q = @(x) z1i .* (x(1)^2 - x(2)).^2 + (z2i - x(1)).^2;
FitnessFunction = q;
numberOfVariables = 2;
[x,fval] = ga(FitnessFunction,numberOfVariables)
end

Categories

Find more on Solver-Based Optimization Problem Setup in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!