使用==>时出错检查28 评估参数'值'时出错in' buck_ssavg / A1':未定义的函数或变量' A1'。 使用==>时出错检查28 评估参数'值'时出错in' buck_ssavg / A2&#39 ;:未定义的函数或变量' A2'。 使用==>时出错检查28 评估参数'值'时出错in' buck_ssavg / B1':未定义的函数或变量' B1'。 使用==>时出错检查28 评估参数'值'时出错in' buck_ssavg / B2':未定义的函数或变量' B2'。
M文件程序:
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
答案 0 :(得分:0)
看起来您的模型buck_ssavg
正在使用变量A1
,A2
等等...除非您在使用{运行模型后才在工作区中定义它们{1}}命令,因此在运行模型时,这些变量尚不存在。在定义sim
,sim
等之后(即在A1
语句之前)尝试运行A2
命令。