My model 'notch' is a microgrid and I have three phase currents [i1,i2, i3] measured and sent to the workspace the with wavelet decomposition. It is to produce a signal signature for the three currents which is [x]. I want to change the parameters of each simulation as in the code. For example, then store the signal signature[ x ]in a matrix [table], I made a function 'F' which takes the three currents as inputs and produces x as output. But as I run the code down the three rows in [table] are identical. how can i use setpostsimfcn and store the result in a matrix and save it? I do not know what the problem is. Can anyone help me? Thanks in advance. %%%%%%%%%%%%% mdl = 'notch'; open_system(mdl) find_system(mdl); mass=3:-1:1 m = length(mass); for i = m:-1:1 a=4-i; simin(i) = Simulink.SimulationInput(mdl); simin(i) = simin(i).setBlockParameter('notch/Lin1','Length',num2str(mass(i))); simin(i) = simin(i).setBlockParameter('notch/Lin2','Length',num2str(mass(a))); simin(i) = simin(i).setBlockParameter('notch/Three-Phase Fault','FaultA','on') simin(i) = simin(i).setBlockParameter('notch/Three-Phase Fault', 'FaultResistance',num2str(mass(i))); out(i) = sim(simin(i)); fi=@F; %calling function F y = fi( i1,i2,i3); table(i,:)=y; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function x = F(i1,i2,i3) currentA = i1; currentB = i2; currentC = i3; wv = 'db4'; Fs = 3200; fb = dwtfilterbank('Wavelet',wv,'Level',4,'SamplingFrequency',Fs); [cA1, LA1] = wavedec(currentA, 1, 'db4'); [cB1, LB1] = wavedec(currentB, 1, 'db4'); [cC1, LC1] = wavedec(currentC, 1, 'db4'); [cA2, LA2] = wavedec(currentA, 2, 'db4'); [cB2, LB2] = wavedec(currentB, 2, 'db4'); [cC2, LC2] = wavedec(currentC, 2, 'db4'); [cA3, LA3] = wavedec(currentA, 3, 'db4'); [cB3, LB3] = wavedec(currentB, 3, 'db4'); [cC3, LC3] = wavedec(currentC, 3, 'db4'); [cA4, LA4] = wavedec(currentA, 4, 'db4'); [cB4, LB4] = wavedec(currentB, 4, 'db4'); [cC4, LC4] = wavedec(currentC, 4, 'db4'); dA1 = detcoef(cA1, LA1, 1); dB1 = detcoef(cB1, LB1, 1); dC1 = detcoef(cC1, LC1, 1); dA2 = detcoef(cA2, LA2,2); dB2 = detcoef(cB2, LB2, 2); dC2 = detcoef(cC2, LC2, 2); dA3 = detcoef(cA3, LA3, 3); dB3 = detcoef(cB3, LB3, 3); dC3 = detcoef(cC3, LC3, 3); %level 4 detail dA4 = detcoef (cA4, LA4, 4); dB4 = detcoef(cB4, LB4, 4); dC4 = detcoef(cC4, LC4, 4); aA4 = appcoef(cA4, LA4,'db4', 4); aB4 = appcoef(cB4, LB4,'db4', 4); aC4 = appcoef(cC4, LC4,'db4' ,4); aA1 = appcoef(cA1, LA1,'db4', 1); aB1 = appcoef(cB1, LB1,'db4', 1); aC1 = appcoef(cC1, LC1,'db4' ,1); x=[aA4 ;dA1 ; dA2 ; dA3 ; dA4 ; aB4; dB1 ; dB2 ; dB3 ; dB4; aC4; dC1 ; dC2 ; dC3 ; dC4]; end %%%%%%
No answer yet