Ошибка при использовании ==> проверки на 28 Ошибка при оценке параметра "Значение" в "buck_ssavg/A1":

Ошибка при использовании ==> check at 28 Ошибка при оценке параметра "Значение" в "buck_ssavg/A1": неопределенная функция или переменная "A1". Ошибка при использовании ==> проверки в 28 Ошибка оценки параметра "Значение" в "buck_ssavg/A2": неопределенная функция или переменная "A2". Ошибка при использовании ==> check at 28 Ошибка при оценке параметра "Значение" в "buck_ssavg/B1": неопределенная функция или переменная "B1". Ошибка при использовании ==> check at 28 Ошибка при оценке параметра "Значение" в "buck_ssavg/B2": неопределенная функция или переменная "B2".

М файловая программа:

    clc;clear all;close all;
tic
syms s
%converter parameters
Vin =10;
R=5;
L=0.5e-3;
C=300e-06;



T=100e-6;
%controller parameter
% Vref=5;VU=3;VL=0;k1=1;
% Kp=0.12
K1=280;
%simulation parameters
Tstart=0.0;Tstop=0.15;
Max_step=2e-07;Min_step=1e-08;
Rel_tol=1e-4;Abs_tol=1e-6;

warning off 
% xInitial=[0.7597  5.0007  0.0150];


for D=0.5:0.1:1

    sim('buck_ssavg')
%   xinitial=xFinal;
% xInitial=[0.7597  5.0007  0.0150];
% Xinitial=xFinal;



A1=[0 -1/L 0;1/C -1/(R*C) 0; 0 -K1 0];
A2=[0 -1/L 0;1/C -1/(R*C) 0; 0 -K1 0];
B1=[1/L 0 0;0 0 0;0 0 K1];
B2=[0 0 0; 0 0 0;0 0 K1];
Aa=D*A1+(1-D)*A2;
Ba=D*B1+(1-D)*B2;
Ca=(A1-A2)*X +(B1-B2)*Vin;
end

I=eye(3,3);
Gv=inv(s*I-Aa)*Ca

1 ответ

Похоже твоя модель buck_ssavg использует переменные A1, A2и т. д... за исключением того, что вы определяете их в рабочей области только после запуска модели с sim команда, поэтому, когда вы запускаете модель, эти переменные еще не существуют. Попробуйте запустить sim команда после того, как вы определили A1, A2и т. д.... (т. е. непосредственно перед end заявление).

Другие вопросы по тегам