Bonsoir,
J'ai simulé un système LPV de premier ordre sur Matlab mais il faut généraliser le code pour un ordre quelconque n.
Voici le code pour le système de premier orde:
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
31
% clear all 
close all 
clc
 
t=ysim.time;
N=length(t);
p=sin(t);
h=0.01;
np=1;
a=[1 0.2];
u=ones(N,1);
 
f=[];
    for index=0:np
        f(index+1,: )=p.^index;
    end
 
   A=a*f;
 
ylpv(1)=0;
   for k=2:N
       Hc=tf(1,[1 A(k)]);
       Hd=c2d(Hc,h);
       [numd,dend]=tfdata(Hd,'v');
       b1=numd(2);
       a1=dend(2);
      % y=lsim(H,u,t);
       ylpv(k)=-a1*ylpv(k-1)+b1*u(k);
   end
figure   
plot(t,ylpv)