I am getting error Not enough input arguments..

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........

2 Comments

Firstly format your codes then i shall gives you answer

Sign in to comment.

Answers (1)

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

Tags

Asked:

on 29 May 2015

Answered:

on 29 May 2015

Community Treasure Hunt

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

Start Hunting!