Ошибка при использовании ==> проверки на 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
заявление).