bonjour a tous
j'ai écris le programme suivant mais je ne trouve pas où est le problème
voila le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
BW=imread('Mask1.png');
 
[m,n]=size(BW);
[x,y]=meshgrid(1:n,1:m);
%x=1:m;y=1:n;
 
 
c=[5 .05,1,.2,.1,10,.6];
Z1=c(1)*(c(2).*x.^2+c(3).*y.^2+c(4).*x.*y+c(5).*x+c(6).*y+c(7));
 
 I=Z1(:);
[m,n]=size(Z1);
[X,Y]=meshgrid(1:n,1:m);
X=X(:); 
Y=Y(:); 
%x=[X Y];
 
 
options=optimset('Display','iter','TolFun',1e-4,'TolX',1e-4,'MaxFunEvals',1e10);
 
c0=rand(8,1);
 
 
 
S=n*m;
 
 
cc=fminsearch('fun',c0,[],I,S,X,Y);
et la fonction fun est définie comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
function f=fun(k,I,N,X,Y)
 
%X=x(:,1);
%Y=x(:,2);
%I=I(:);
lambda=k(8);
f = ( I-k(1).*(k(2).*X.^2+k(3)*Y.^2+k(4)*X.*Y+k(5).*X+k(6)*Y+k(7))).^2-lambda.*((mean(k(2).*X.^2+k(3)*Y.^2+k(4)*X.*Y+k(5).*X+k(6)*Y+k(7))./N)-1);
désolée je n'ai pas réussi à joindre le masque que j'utilise mais peu importe on peu utilisé n'importe quelle taille pour le teste.
L'erreur que j'ai est la suivante:
??? Subscripted assignment dimension mismatch.

Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});

Error in ==> minimumfunc at 36
cc=fminsearch('fun',k,[],I,S,X,Y);
merci pour votre aide