2015-12-02 4 views
1

Мы используем пользовательскую функцию newton-raphson и хотим использовать эту функцию для глобальной и многопользовательской функции. На самом деле проблема в том, что не может понять значение [b,fval,exitflag,output,solutions]Функция оптимизации Matlab

x=11; 
[email protected]; 
gs=GlobalSearch; 
[b,fval,exitflag,output,solutions]=run(gs,problem); 

-

function NR1() 

% x0=0.1; 
iter=0; 
while abs(f(x0))>1e-2 
x1=x0-f(x0)/fprime(x0) 
x0=x1; 
iter=iter+1 
end 
end 
function out=f(in) 
out=in^2-1; 
end 

function out=fprime(in) 
out=2*in; 
end 
+1

Вы уверены, что можете использовать 'run' с двумя аргументами? –

+0

Да, мы знаем, что обычно команда «run» требовала 2 аргумента в глобальном поиске, но в многоэтапном ей требуется 3 аргумента. У вас есть какие-либо знания о том, как установить эти переменные [b, fval, exitflag, output, solutions] – Rose

ответ

0

Ответ на ваш вопрос, учитывая Matlab syntaxis,

  • б - это значение переменной решения, которая сводит к минимуму цель

  • fval - это минимум целевой функции

  • exitflag - это число, указывающее причину для прекращения поиска

  • выход - это структура с параметрами, заданными для поиска

  • решения - это структура, которая содержит все решения, найденные алгорифм GlobalSearch

что сказал ваш @ NR1 FUNCT ион не принимает никаких входных данных. Поэтому мне непонятно, как работает любой алгоритм оптимизации

+0

Отформатируйте сообщение с помощью адаптированного [markdown] (http://stackoverflow.com/editing-help). –

+1

Да, эти значения уже указаны в справке matlab, но мы смущены тем, как определить эти переменные [b, fval, exitflag, output, solutions] с помощью нашей функции. – Rose

Смежные вопросы