j'ai mis en place la solution que je pense et j'obtient une erreur.
Voila mon simulink :
Voici mon code associé :
Et voici malheureusement l'erreur que j'obtient :
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
29
30 function signal_out = Methode1(signal) persistent signal_filtre; signal_filtre = zeros(300,1); X = zeros(300,3); t = 1:1:300; nb_t = length(t); u = 1:1:300; u = u'; x0 = ones(300,1); x1 = u; x2 = u.*x1; X = [x0 x1 x2]; teta = [0;0;0]; P = [1000 0 0;0 1000 0;0 0 1000]; i = 1; while(i<301) x = [x0(i);x1(i);x2(i)]; K = P*x*inv(1+x'*P*x); teta = teta+K*(signal(i)-x'*teta); P = P-K*x'*P; i = i+1; end signal_filtre = X*teta; signal_out=signal_filtre;
SI on peut m'aider à la résoudreBlock error MATLAB Fcn Simulink
Error in 'test/MATLAB Fcn' while computing the output. The width of the result was 300 when a width of 1 was expected
Merci d'avance
MarZz
Partager