bonsoir,
en fait j'ai un code matlab, le voici
où asol =[a(1) a(2)]est le vecteur à déterminer initialisé par a0, fc est l'intégrale de myfun, ce code me renvoie toujours asol=a0 quelque soit la valeur que j'affecte à a0, et fc=0 ce que je n'arrive pas à comprendre et c'est faux est ce que quelqu'un puisse me dire où ça clocheCode:function main global ti yi ti = [0 10800 43200 86400 172800 604800]; yi = [0 0.6 0.7 1 1.2 1.4]; a0 = [11 0.4]; format long asol = fminsearch ( @F, a0) plot (ti, yi, '*', ti, f(asol, ti)) function y = f(a,t) myfun = @(a,t,v)(v.*(((a(1)-1).*(a(2)*1400*t))+((-16.7.*v).^(1-a(1)))).^(1/(1-a(1)))); for k = 1:length(t) fc(k) =quad(@(v)myfun(a,t(k),v), -1.8, 1.8); end y=2.9-0.035.*fc; function out = F(a) global ti yi out = sum ( (yi - f(a,ti)).^2 );
pour plus de clarté voici fc:
-----