├── .gitattributes ├── 2004ACC_DTOC.pdf ├── 2004IAS_DTOC.pdf ├── 2016 IAS ADRC Motion Control.pdf ├── ADRC TANKS.zip ├── ADRC TANKS └── adrc2 │ ├── ADRController.m │ ├── ESO.m │ ├── NonlinearPD.m │ ├── PIDcon.mdl │ ├── ReferenceProcess.m │ ├── SecondRise.m │ ├── adrc1.mdl │ ├── adrc1.mdl.autosave │ ├── adrc2.mdl │ ├── adrc_quandruple_tanks.mdl │ ├── fal.m │ ├── fst.m │ └── test.m ├── ADRC仿真包韩老师亲做.7z ├── ADRC仿真包韩老师亲做 └── adrc │ ├── ADRC.GID │ ├── ADRC.HLP │ ├── adrc1.0.exe │ ├── adrc1.dat │ ├── adrc2.dat │ ├── adrc3.dat │ ├── adrcpass.dat │ ├── desktop.ini │ ├── folder.htt │ ├── lagadrc1.dat │ ├── nlpid.dat │ ├── obj1fun.dat │ ├── obj22fun.dat │ ├── obj2fun.dat │ └── ttadrc.dat ├── ADRC源代码参考 ├── ESO.rar ├── ESO │ ├── ctrl5_2_3.slx │ ├── ctrl5_2_3ESO.m │ ├── ctrl5_2_3ctrl.m │ ├── ctrl5_2_3obj.m │ └── ctrl5_2_3tran.m ├── matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型.rar └── matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型 │ ├── ex_han2.mdl │ ├── ex_han2.mdl.r12 │ ├── han_ctrl.m │ ├── han_eso.m │ ├── han_td.m │ ├── slprj │ ├── grt │ │ └── td_s │ │ │ └── tmwinternal │ │ │ └── minfo.mat │ └── sl_proj.tmw │ ├── td_s.slx │ └── td_s_grt_rtw │ └── build_exception.mat ├── Disturbance compensated adaptive backstepping control for an unmanned seaplane.pdf ├── LADRC实现参考 ├── (高志强老师对LADRC的推导原理)2003ACC_LADRC.pdf ├── MATLABDemo-LADRC 实现(高志强老师).zip ├── MATLABDemo-LADRC 实现(高志强老师) │ └── LADRC Demo │ │ ├── 2003ACC_LADRC.pdf │ │ ├── ADRC-vs-PID+audio.wmv │ │ ├── Motion_acc03.mdl │ │ ├── Wack_0001.wmv │ │ └── tuning.m └── 答丁健:关于2003ACC_Tuning.docx ├── LESO的推导_北京化工课件(高老师讲座).pptx ├── PID实现算法 ├── 增量式PID算法.docx └── 完整型位置型PID程序.docx ├── README.md ├── 参数整定参考实现资料 ├── 典型惯性环节的自抗扰控制性能分析.kdh └── 自抗扰控制器参数整定方法及其在热工过程中的应用_陈星.caj ├── 自抗扰控制技术.pdf ├── 贺庆毕业论文ADRC全集包仅用于内部共享不要外传.zip └── 贺庆毕业论文ADRC全集包仅用于内部共享不要外传 ├── MyLibrary ├── ADRC.mdl ├── ADRC1_PK_2RD.mdl ├── ADRC_1.m ├── ADRC_1RD_TEST.mdl ├── ADRC_1n.asv ├── ADRC_1n.m ├── ADRC_2.asv ├── ADRC_2.m ├── ADRC_22_TEST.mdl ├── ADRC_2RD_TEST.mdl ├── ADRC_2X2_TEST.mdl ├── ADRC_2X2_TEST_2.mdl ├── ADRC_2X2_decoupling.mdl ├── ADRC_2_MODEL.mdl ├── ADRC_2fal.m ├── ADRC_2fal00.m ├── ADRC_3.m ├── ADRC_3RD_TEST.mdl ├── ADRC_3_Linear.asv ├── ADRC_3_Linear.m ├── ADRC_TWO_Order.m ├── Birthday_gift.m ├── ESO.m ├── ESO2_NL.m ├── ESO_1rd.m ├── ESO_2L.m ├── ESO_2rd.m ├── ESO_3rd.m ├── Linear_PD.m ├── Linear_PID_2LinearTD.m ├── Linear_PID_TD1_SO.m ├── MODEL │ ├── ADRC_2RD.mdl │ ├── ADRC_2RD_plant.mdl │ ├── ADRC_2_order.err │ ├── ADRC_2_order.mdl │ ├── ADRC_TWO_Order.mdl │ ├── ADRC_TwoOrder_plant.mdl │ ├── Linear_PID_MODEL.mdl │ ├── Linear_PID_TDSO_MODEL.mdl │ ├── NLSFS_MODEL.mdl │ ├── NL_PID_3fal_MODEL.mdl │ ├── NL_PID_B0_fhan_MODEL.mdl │ ├── NL_PID_LC_MODEL.mdl │ ├── NL_PID_fhan_c_MODEL.mdl │ ├── TD1_L_MODEL.mdl │ ├── TD2_L_MODEL.mdl │ ├── TD2_L__Rise_MODEL.mdl │ ├── TD2_NL_MODEL.mdl │ └── Untitled1.mdl ├── NLSEF_2fal.asv ├── NLSEF_2fal.m ├── NLSEF_3fal.m ├── NLSEF_B0_fhan.m ├── NLSEF_fhan.m ├── NLSEF_fhan_c.m ├── NLSFS1.m ├── NL_PID_3fal.m ├── NL_PID_B0_fhan.m ├── NL_PID_LC.m ├── NL_PID_fhan_c.m ├── Nonlinear_PD.m ├── Nonlinear_PD_fhan.m ├── Nonlinear_PD_fhan_c.m ├── PID4_decouple.mat ├── PID4_decouple11111.mat ├── PID_2RD_TEST.mdl ├── PID_fourtanks.mdl ├── PP2013428.mat ├── PP2013428B.mat ├── PP2013428C.mat ├── Plant1_fhan.m ├── Plant1_x1x2.m ├── Plant1_x1x2wt.asv ├── Plant1_x1x2wt.m ├── Plant2.m ├── Plant3.m ├── Q4343434343434.m ├── ReferenceProcess.m ├── TD.m ├── TD1_L.m ├── TD2_L.m ├── TD2_L_Rise.m ├── TD2_NL.m ├── adrc2 │ ├── ADRC_model.mdl │ ├── ADRController.asv │ ├── ADRController.m │ ├── ESO.asv │ ├── ESO.m │ ├── NonlinearPD.m │ ├── PIDcon.mdl │ ├── PIDcon.mdl.r14 │ ├── ReferenceProcess.asv │ ├── ReferenceProcess.m │ ├── SecondRise.m │ ├── adrc1.mdl │ ├── adrc1.mdl.r14 │ ├── adrc2.mdl │ ├── adrc_quandruple_tanks.mdl │ ├── fal.m │ └── fst.m ├── adrc_pid.mdl ├── bday_song_8bit_11025.mat ├── control_test │ ├── Ident_1.mdl │ ├── Ident_2.mdl │ ├── W1.mdl │ ├── W2.mdl │ └── untitled.mdl ├── diary ├── fdb.m ├── function │ ├── fal.m │ ├── fhan.m │ ├── fsg.asv │ ├── fsg.m │ └── fst.m ├── ident_finish.mat ├── ident_finish2.mat ├── jieoujuzhen.mdl ├── matlabwaters4.9 ├── one order.m ├── one_order_plant.mat ├── slblocks.m ├── test.m ├── test_ouhe.mdl ├── testtest.mdl ├── testtest11.mdl ├── testtest_half.mdl ├── untitled.mdl ├── untitled1.mdl └── waterlevel2.mat └── 贺庆毕业论文ADRC全集包仅用于内部共享不要外传.zip /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /2004ACC_DTOC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/2004ACC_DTOC.pdf -------------------------------------------------------------------------------- /2004IAS_DTOC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/2004IAS_DTOC.pdf -------------------------------------------------------------------------------- /2016 IAS ADRC Motion Control.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/2016 IAS ADRC Motion Control.pdf -------------------------------------------------------------------------------- /ADRC TANKS.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC TANKS.zip -------------------------------------------------------------------------------- /ADRC TANKS/adrc2/ADRController.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=ADRController(t,x,u,flag,Beta1,Beta2,Delta1,A1,A2,Delta2,Gamma1,Gamma2,Gamma3,b0,SampleTime) 2 | global z1 z2 z3 3 | if flag==0 4 | sys = [0;1;1;4;1;1;1]; 5 | x0 = [0]; 6 | str = [ ]; 7 | ts = [SampleTime 0]; 8 | z1=0; 9 | z2=0; 10 | z3=0; 11 | elseif flag==2 12 | e=z1-u(3); 13 | fe=fal(e,1/2,Delta2); 14 | fe1=fal(e,1/4,Delta2); 15 | z1=z1+SampleTime*(z2-Gamma1*e); 16 | z2=z2+SampleTime*(z3-Gamma2*fe+b0*u(4)); 17 | z3=z3+SampleTime*(-Gamma3*fe1); 18 | Error1=u(1)-z1; 19 | Error2=u(2)-z2; 20 | Bili=fal(Error1,A1,Delta1); 21 | Weifen=fal(Error2,A2,Delta1); 22 | sys=Beta1*Bili+Beta2*Weifen-z3/b0; 23 | elseif flag==3 24 | sys=x; 25 | elseif flag==4 26 | sys=sys+SampleTime; 27 | else 28 | sys=[]; 29 | end -------------------------------------------------------------------------------- /ADRC TANKS/adrc2/ESO.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=ESO(t,x,u,flag,SampleTime,Delta,Beta1,Beta2,Beta3) 2 | 3 | global z1 z2 z3 4 | 5 | if flag==0 6 | sys = [0;3;3;2;0;1;1]; 7 | x0 = [0 0 0]; 8 | str = []; 9 | ts = [SampleTime 0]; 10 | z1=0;z2=0;z3=0; 11 | 12 | elseif flag==2 13 | %t 14 | 15 | 16 | e=z1-u(2); 17 | fe=fal(e,1/2,Delta); 18 | fe1=fal(e,1/4,Delta); 19 | z1=z1+SampleTime*(z2-Beta1*e); 20 | z2=z2+SampleTime*(z3-Beta2*fe+u(1)); 21 | z3=z3+SampleTime*(-Beta3*fe1); 22 | sys=[z3,z2,z1]; 23 | 24 | elseif flag==3 25 | sys=x; 26 | 27 | elseif flag==4 28 | sys=sys+SampleTime; 29 | 30 | 31 | else 32 | sys=[]; 33 | end -------------------------------------------------------------------------------- /ADRC TANKS/adrc2/NonlinearPD.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=NonlinearPD(t,x,u,flag,Beta1,Beta2,Delta,A1,A2,SampleTime) 2 | 3 | if flag==0 4 | 5 | sys = [0;1;1;2;0;1;1]; 6 | x0 = [0 ]; 7 | str = [ ]; 8 | ts = [SampleTime 0]; 9 | 10 | 11 | elseif flag==2 12 | 13 | Bili=fal(u(1),A1,Delta); 14 | Weifen=fal(u(2),A2,Delta); 15 | sys=Beta1*Bili+Beta2*Weifen; 16 | 17 | elseif flag==3 18 | sys=x; 19 | 20 | elseif flag==4 21 | sys=sys+SampleTime; 22 | 23 | 24 | else 25 | sys=[]; 26 | end -------------------------------------------------------------------------------- /ADRC TANKS/adrc2/ReferenceProcess.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC TANKS/adrc2/ReferenceProcess.m -------------------------------------------------------------------------------- /ADRC TANKS/adrc2/SecondRise.m: -------------------------------------------------------------------------------- 1 | function f=SecondRise(SP,RT,t) 2 | 3 | if t=0 4 | f=4*SP/RT^2; 5 | elseif t>=RT/2 & t" 55 | LastModifiedBy "lizhijun" 56 | ModifiedDateFormat "%" 57 | LastModifiedDate "Mon Mar 16 14:06:49 2009" 58 | ModelVersionFormat "1.%" 59 | ConfigurationManager "None" 60 | LinearizationMsg "none" 61 | Profile off 62 | ParamWorkspaceSource "MATLABWorkspace" 63 | AccelSystemTargetFile "accel.tlc" 64 | AccelTemplateMakefile "accel_default_tmf" 65 | AccelMakeCommand "make_rtw" 66 | TryForcingSFcnDF off 67 | ExtModeBatchMode off 68 | ExtModeEnableFloating on 69 | ExtModeTrigType "manual" 70 | ExtModeTrigMode "normal" 71 | ExtModeTrigPort "1" 72 | ExtModeTrigElement "any" 73 | ExtModeTrigDuration 1000 74 | ExtModeTrigDurationFloating "auto" 75 | ExtModeTrigHoldOff 0 76 | ExtModeTrigDelay 0 77 | ExtModeTrigDirection "rising" 78 | ExtModeTrigLevel 0 79 | ExtModeArchiveMode "off" 80 | ExtModeAutoIncOneShot off 81 | ExtModeIncDirWhenArm off 82 | ExtModeAddSuffixToVar off 83 | ExtModeWriteAllDataToWs off 84 | ExtModeArmWhenConnect on 85 | ExtModeSkipDownloadWhenConnect off 86 | ExtModeLogAll on 87 | ExtModeAutoUpdateStatusClock on 88 | BufferReuse on 89 | StrictBusMsg "None" 90 | ProdHWDeviceType "32-bit Generic" 91 | ShowModelReferenceBlockVersion off 92 | ShowModelReferenceBlockIO off 93 | Array { 94 | Type "Handle" 95 | Dimension 1 96 | Simulink.ConfigSet { 97 | $ObjectID 1 98 | Version "1.1.0" 99 | Array { 100 | Type "Handle" 101 | Dimension 7 102 | Simulink.SolverCC { 103 | $ObjectID 2 104 | Version "1.1.0" 105 | StartTime "0.0" 106 | StopTime "80.0" 107 | AbsTol "auto" 108 | FixedStep "auto" 109 | InitialStep "auto" 110 | MaxNumMinSteps "-1" 111 | MaxOrder 5 112 | ExtrapolationOrder 4 113 | NumberNewtonIterations 1 114 | MaxStep "auto" 115 | MinStep "auto" 116 | RelTol "1e-3" 117 | SolverMode "Auto" 118 | Solver "ode45" 119 | SolverName "ode45" 120 | ZeroCrossControl "UseLocalSettings" 121 | AlgebraicLoopSolver "TrustRegion" 122 | SolverResetMethod "Fast" 123 | PositivePriorityOrder off 124 | AutoInsertRateTranBlk off 125 | SampleTimeConstraint "Unconstrained" 126 | RateTranMode "Deterministic" 127 | } 128 | Simulink.DataIOCC { 129 | $ObjectID 3 130 | Version "1.1.0" 131 | Decimation "1" 132 | ExternalInput "[t, u]" 133 | FinalStateName "xFinal" 134 | InitialState "xInitial" 135 | LimitDataPoints on 136 | MaxDataPoints "1000" 137 | LoadExternalInput off 138 | LoadInitialState off 139 | SaveFinalState off 140 | SaveFormat "Array" 141 | SaveOutput on 142 | SaveState off 143 | SignalLogging on 144 | SaveTime on 145 | StateSaveName "xout" 146 | TimeSaveName "tout" 147 | OutputSaveName "yout" 148 | SignalLoggingName "logsout" 149 | OutputOption "RefineOutputTimes" 150 | OutputTimes "[]" 151 | Refine "1" 152 | } 153 | Simulink.OptimizationCC { 154 | $ObjectID 4 155 | Array { 156 | Type "Cell" 157 | Dimension 5 158 | Cell "ZeroExternalMemoryAtStartup" 159 | Cell "ZeroInternalMemoryAtStartup" 160 | Cell "InitFltsAndDblsToZero" 161 | Cell "OptimizeModelRefInitCode" 162 | Cell "NoFixptDivByZeroProtection" 163 | PropName "DisabledProps" 164 | } 165 | Version "1.1.0" 166 | BlockReduction on 167 | BooleanDataType on 168 | ConditionallyExecuteInputs on 169 | InlineParams off 170 | InlineInvariantSignals off 171 | OptimizeBlockIOStorage on 172 | BufferReuse on 173 | EnforceIntegerDowncast on 174 | ExpressionFolding on 175 | FoldNonRolledExpr on 176 | LocalBlockOutputs on 177 | ParameterPooling on 178 | RollThreshold 5 179 | SystemCodeInlineAuto off 180 | StateBitsets off 181 | DataBitsets off 182 | UseTempVars off 183 | ZeroExternalMemoryAtStartup on 184 | ZeroInternalMemoryAtStartup on 185 | InitFltsAndDblsToZero on 186 | NoFixptDivByZeroProtection off 187 | EfficientFloat2IntCast off 188 | OptimizeModelRefInitCode off 189 | LifeSpan "inf" 190 | BufferReusableBoundary on 191 | } 192 | Simulink.DebuggingCC { 193 | $ObjectID 5 194 | Version "1.1.0" 195 | RTPrefix "error" 196 | ConsistencyChecking "none" 197 | ArrayBoundsChecking "none" 198 | SignalInfNanChecking "none" 199 | AlgebraicLoopMsg "warning" 200 | ArtificialAlgebraicLoopMsg "warning" 201 | CheckSSInitialOutputMsg on 202 | CheckExecutionContextPreStartOutputMsg off 203 | CheckExecutionContextRuntimeOutputMsg off 204 | SignalResolutionControl "TryResolveAllWithWarning" 205 | BlockPriorityViolationMsg "warning" 206 | MinStepSizeMsg "warning" 207 | SolverPrmCheckMsg "warning" 208 | InheritedTsInSrcMsg "warning" 209 | DiscreteInheritContinuousMsg "warning" 210 | MultiTaskDSMMsg "warning" 211 | MultiTaskRateTransMsg "error" 212 | SingleTaskRateTransMsg "none" 213 | TasksWithSamePriorityMsg "warning" 214 | CheckMatrixSingularityMsg "none" 215 | IntegerOverflowMsg "warning" 216 | Int32ToFloatConvMsg "warning" 217 | ParameterDowncastMsg "error" 218 | ParameterOverflowMsg "error" 219 | ParameterPrecisionLossMsg "warning" 220 | UnderSpecifiedDataTypeMsg "none" 221 | UnnecessaryDatatypeConvMsg "none" 222 | VectorMatrixConversionMsg "none" 223 | InvalidFcnCallConnMsg "error" 224 | FcnCallInpInsideContextMsg "Use local settings" 225 | SignalLabelMismatchMsg "none" 226 | UnconnectedInputMsg "warning" 227 | UnconnectedOutputMsg "warning" 228 | UnconnectedLineMsg "warning" 229 | SFcnCompatibilityMsg "none" 230 | UniqueDataStoreMsg "none" 231 | BusObjectLabelMismatch "warning" 232 | RootOutportRequireBusObject "warning" 233 | AssertControl "UseLocalSettings" 234 | EnableOverflowDetection off 235 | ModelReferenceIOMsg "none" 236 | ModelReferenceVersionMismatchMessage "none" 237 | ModelReferenceIOMismatchMessage "none" 238 | ModelReferenceCSMismatchMessage "none" 239 | ModelReferenceSimTargetVerbose off 240 | UnknownTsInhSupMsg "warning" 241 | ModelReferenceDataLoggingMessage "warning" 242 | ModelReferenceSymbolNameMessage "warning" 243 | ModelReferenceExtraNoncontSigs "error" 244 | } 245 | Simulink.HardwareCC { 246 | $ObjectID 6 247 | Version "1.1.0" 248 | ProdBitPerChar 8 249 | ProdBitPerShort 16 250 | ProdBitPerInt 32 251 | ProdBitPerLong 32 252 | ProdIntDivRoundTo "Undefined" 253 | ProdEndianess "Unspecified" 254 | ProdWordSize 32 255 | ProdShiftRightIntArith on 256 | ProdHWDeviceType "32-bit Generic" 257 | TargetBitPerChar 8 258 | TargetBitPerShort 16 259 | TargetBitPerInt 32 260 | TargetBitPerLong 32 261 | TargetShiftRightIntArith on 262 | TargetIntDivRoundTo "Undefined" 263 | TargetEndianess "Unspecified" 264 | TargetWordSize 32 265 | TargetTypeEmulationWarnSuppressLevel 0 266 | TargetPreprocMaxBitsSint 32 267 | TargetPreprocMaxBitsUint 32 268 | TargetHWDeviceType "Specified" 269 | TargetUnknown off 270 | ProdEqTarget on 271 | } 272 | Simulink.ModelReferenceCC { 273 | $ObjectID 7 274 | Version "1.1.0" 275 | UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" 276 | CheckModelReferenceTargetMessage "error" 277 | ModelReferenceNumInstancesAllowed "Multi" 278 | ModelReferencePassRootInputsByReference on 279 | ModelReferenceMinAlgLoopOccurrences off 280 | } 281 | Simulink.RTWCC { 282 | $BackupClass "Simulink.RTWCC" 283 | $ObjectID 8 284 | Array { 285 | Type "Cell" 286 | Dimension 1 287 | Cell "IncludeHyperlinkInReport" 288 | PropName "DisabledProps" 289 | } 290 | Version "1.1.0" 291 | SystemTargetFile "grt.tlc" 292 | GenCodeOnly off 293 | MakeCommand "make_rtw" 294 | TemplateMakefile "grt_default_tmf" 295 | GenerateReport off 296 | SaveLog off 297 | RTWVerbose on 298 | RetainRTWFile off 299 | ProfileTLC off 300 | TLCDebug off 301 | TLCCoverage off 302 | TLCAssert off 303 | ProcessScriptMode "Default" 304 | ConfigurationMode "Optimized" 305 | ConfigAtBuild off 306 | IncludeHyperlinkInReport off 307 | LaunchReport off 308 | TargetLang "C" 309 | Array { 310 | Type "Handle" 311 | Dimension 2 312 | Simulink.CodeAppCC { 313 | $ObjectID 9 314 | Array { 315 | Type "Cell" 316 | Dimension 9 317 | Cell "IgnoreCustomStorageClasses" 318 | Cell "InsertBlockDesc" 319 | Cell "SFDataObjDesc" 320 | Cell "SimulinkDataObjDesc" 321 | Cell "DefineNamingRule" 322 | Cell "SignalNamingRule" 323 | Cell "ParamNamingRule" 324 | Cell "InlinedPrmAccess" 325 | Cell "CustomSymbolStr" 326 | PropName "DisabledProps" 327 | } 328 | Version "1.1.0" 329 | ForceParamTrailComments off 330 | GenerateComments on 331 | IgnoreCustomStorageClasses on 332 | IncHierarchyInIds off 333 | MaxIdLength 31 334 | PreserveName off 335 | PreserveNameWithParent off 336 | ShowEliminatedStatement off 337 | IncAutoGenComments off 338 | SimulinkDataObjDesc off 339 | SFDataObjDesc off 340 | IncDataTypeInIds off 341 | PrefixModelToSubsysFcnNames on 342 | CustomSymbolStr "$R$N$M" 343 | MangleLength 1 344 | DefineNamingRule "None" 345 | ParamNamingRule "None" 346 | SignalNamingRule "None" 347 | InsertBlockDesc off 348 | SimulinkBlockComments on 349 | EnableCustomComments off 350 | InlinedPrmAccess "Literals" 351 | ReqsInCode off 352 | } 353 | Simulink.GRTTargetCC { 354 | $BackupClass "Simulink.TargetCC" 355 | $ObjectID 10 356 | Array { 357 | Type "Cell" 358 | Dimension 12 359 | Cell "IncludeMdlTerminateFcn" 360 | Cell "CombineOutputUpdateFcns" 361 | Cell "SuppressErrorStatus" 362 | Cell "ERTCustomFileBanners" 363 | Cell "GenerateSampleERTMain" 364 | Cell "MultiInstanceERTCode" 365 | Cell "PurelyIntegerCode" 366 | Cell "SupportNonFinite" 367 | Cell "SupportComplex" 368 | Cell "SupportAbsoluteTime" 369 | Cell "SupportContinuousTime" 370 | Cell "SupportNonInlinedSFcns" 371 | PropName "DisabledProps" 372 | } 373 | Version "1.1.0" 374 | TargetFcnLib "ansi_tfl_tmw.mat" 375 | TargetLibSuffix "" 376 | TargetPreCompLibLocation "" 377 | GenFloatMathFcnCalls "ANSI_C" 378 | UtilityFuncGeneration "Auto" 379 | GenerateFullHeader on 380 | GenerateSampleERTMain off 381 | IsPILTarget off 382 | ModelReferenceCompliant on 383 | IncludeMdlTerminateFcn on 384 | CombineOutputUpdateFcns off 385 | SuppressErrorStatus off 386 | IncludeFileDelimiter "Auto" 387 | ERTCustomFileBanners off 388 | SupportAbsoluteTime on 389 | LogVarNameModifier "rt_" 390 | MatFileLogging on 391 | MultiInstanceERTCode off 392 | SupportNonFinite on 393 | SupportComplex on 394 | PurelyIntegerCode off 395 | SupportContinuousTime on 396 | SupportNonInlinedSFcns on 397 | ExtMode off 398 | ExtModeStaticAlloc off 399 | ExtModeTesting off 400 | ExtModeStaticAllocSize 1000000 401 | ExtModeTransport 0 402 | ExtModeMexFile "ext_comm" 403 | RTWCAPISignals off 404 | RTWCAPIParams off 405 | RTWCAPIStates off 406 | GenerateASAP2 off 407 | } 408 | PropName "Components" 409 | } 410 | } 411 | PropName "Components" 412 | } 413 | Name "Configuration" 414 | SimulationMode "normal" 415 | CurrentDlgPage "Solver" 416 | } 417 | PropName "ConfigurationSets" 418 | } 419 | Simulink.ConfigSet { 420 | $PropName "ActiveConfigurationSet" 421 | $ObjectID 1 422 | } 423 | BlockDefaults { 424 | Orientation "right" 425 | ForegroundColor "black" 426 | BackgroundColor "white" 427 | DropShadow off 428 | NamePlacement "normal" 429 | FontName "Helvetica" 430 | FontSize 10 431 | FontWeight "normal" 432 | FontAngle "normal" 433 | ShowName on 434 | } 435 | BlockParameterDefaults { 436 | Block { 437 | BlockType Constant 438 | Value "1" 439 | VectorParams1D on 440 | OutDataTypeMode "Inherit from 'Constant value'" 441 | OutDataType "sfix(16)" 442 | ConRadixGroup "Use specified scaling" 443 | OutScaling "2^0" 444 | SampleTime "inf" 445 | } 446 | Block { 447 | BlockType Mux 448 | Inputs "4" 449 | DisplayOption "none" 450 | UseBusObject off 451 | BusObject "BusObject" 452 | NonVirtualBus off 453 | } 454 | Block { 455 | BlockType Scope 456 | Floating off 457 | ModelBased off 458 | TickLabels "OneTimeTick" 459 | ZoomMode "on" 460 | Grid "on" 461 | TimeRange "auto" 462 | YMin "-5" 463 | YMax "5" 464 | SaveToWorkspace off 465 | SaveName "ScopeData" 466 | LimitDataPoints on 467 | MaxDataPoints "5000" 468 | Decimation "1" 469 | SampleInput off 470 | SampleTime "0" 471 | } 472 | Block { 473 | BlockType "S-Function" 474 | FunctionName "system" 475 | SFunctionModules "''" 476 | PortCounts "[]" 477 | } 478 | Block { 479 | BlockType Sum 480 | IconShape "rectangular" 481 | Inputs "++" 482 | InputSameDT on 483 | OutDataTypeMode "Same as first input" 484 | OutDataType "sfix(16)" 485 | OutScaling "2^0" 486 | LockScale off 487 | RndMeth "Floor" 488 | SaturateOnIntegerOverflow on 489 | SampleTime "-1" 490 | } 491 | Block { 492 | BlockType TransferFcn 493 | Numerator "[1]" 494 | Denominator "[1 2 1]" 495 | AbsoluteTolerance "auto" 496 | Realization "auto" 497 | } 498 | } 499 | AnnotationDefaults { 500 | HorizontalAlignment "center" 501 | VerticalAlignment "middle" 502 | ForegroundColor "black" 503 | BackgroundColor "white" 504 | DropShadow off 505 | FontName "Helvetica" 506 | FontSize 10 507 | FontWeight "normal" 508 | FontAngle "normal" 509 | } 510 | LineDefaults { 511 | FontName "Helvetica" 512 | FontSize 9 513 | FontWeight "normal" 514 | FontAngle "normal" 515 | } 516 | System { 517 | Name "adrc2" 518 | Location [6, 82, 1018, 709] 519 | Open on 520 | ModelBrowserVisibility off 521 | ModelBrowserWidth 200 522 | ScreenColor "white" 523 | PaperOrientation "landscape" 524 | PaperPositionMode "auto" 525 | PaperType "A4" 526 | PaperUnits "centimeters" 527 | ZoomFactor "100" 528 | ReportName "simulink-default.rpt" 529 | Block { 530 | BlockType Sum 531 | Name "Add1" 532 | Ports [2, 1] 533 | Position [580, 242, 610, 273] 534 | InputSameDT off 535 | OutDataTypeMode "Inherit via internal rule" 536 | OutScaling "2^-10" 537 | SaturateOnIntegerOverflow off 538 | SampleTime "0.1" 539 | } 540 | Block { 541 | BlockType Constant 542 | Name "Constant2" 543 | Position [485, 175, 515, 205] 544 | Value "0" 545 | } 546 | Block { 547 | BlockType Mux 548 | Name "Mux" 549 | Ports [3, 1] 550 | Position [315, 201, 320, 329] 551 | ShowName off 552 | Inputs "3" 553 | DisplayOption "bar" 554 | } 555 | Block { 556 | BlockType "S-Function" 557 | Name "S-Function" 558 | Ports [0, 1] 559 | Position [35, 192, 135, 258] 560 | FunctionName "ReferenceProcess" 561 | Parameters "SetPoint, RisingTime,SampleTime" 562 | MaskPromptString "SetPoint|RisingTime|SampleTime" 563 | MaskStyleString "edit,edit,edit" 564 | MaskTunableValueString "on,on,on" 565 | MaskCallbackString "||" 566 | MaskEnableString "on,on,on" 567 | MaskVisibilityString "on,on,on" 568 | MaskToolTipString "on,on,on" 569 | MaskVarAliasString ",," 570 | MaskVariables "SetPoint=@1;RisingTime=@2;SampleTime=@3;" 571 | MaskIconFrame on 572 | MaskIconOpaque on 573 | MaskIconRotate "none" 574 | MaskIconUnits "autoscale" 575 | MaskValueString "1|8|0.1" 576 | MaskTabNameString ",," 577 | } 578 | Block { 579 | BlockType "S-Function" 580 | Name "S-Function1" 581 | Ports [1, 1] 582 | Position [375, 232, 475, 298] 583 | FunctionName "ADRController" 584 | Parameters "Beta1,Beta2,Delta1,A1,A2,Delta2,Gamma1,Gamma2,G" 585 | "amma3,b0,SampleTime" 586 | MaskPromptString "Proportion Coefficient|Derivation Coefficient|L" 587 | "inear Region1 of PID|Proportion Power|Derivation Power|Linear Region2 of Obse" 588 | "rver|Observer Coefficient1|Observer Coefficient2|Observer Coefficient3|System" 589 | " Gain|Sample Time" 590 | MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit,edit,ed" 591 | "it,edit" 592 | MaskTunableValueString "on,on,on,on,on,on,on,on,on,on,on" 593 | MaskCallbackString "||||||||||" 594 | MaskEnableString "on,on,on,on,on,on,on,on,on,on,on" 595 | MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on" 596 | MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on" 597 | MaskVarAliasString ",,,,,,,,,," 598 | MaskVariables "Beta1=@1;Beta2=@2;Delta1=@3;A1=@4;A2=@5;Delta2=" 599 | "@6;Gamma1=@7;Gamma2=@8;Gamma3=@9;b0=@10;SampleTime=@11;" 600 | MaskIconFrame on 601 | MaskIconOpaque on 602 | MaskIconRotate "none" 603 | MaskIconUnits "autoscale" 604 | MaskValueString "100|80|0.2|3/4|3/2|0.5|20|20|30|1.5/100|0.1" 605 | MaskTabNameString ",,,,,,,,,," 606 | } 607 | Block { 608 | BlockType Scope 609 | Name "Scope" 610 | Ports [1] 611 | Position [865, 244, 895, 276] 612 | Location [5, 56, 1021, 729] 613 | Open off 614 | NumInputPorts "1" 615 | List { 616 | ListType AxesTitles 617 | axes1 "%" 618 | } 619 | YMin "-4e+014" 620 | YMax "5e+014" 621 | DataFormat "StructureWithTime" 622 | LimitDataPoints off 623 | } 624 | Block { 625 | BlockType Scope 626 | Name "Scope1" 627 | Ports [1] 628 | Position [370, 129, 400, 161] 629 | Location [5, 56, 1021, 729] 630 | Open off 631 | NumInputPorts "1" 632 | List { 633 | ListType AxesTitles 634 | axes1 "%" 635 | } 636 | YMin "2.77556e-017" 637 | YMax "1" 638 | SaveName "ScopeData1" 639 | DataFormat "StructureWithTime" 640 | LimitDataPoints off 641 | } 642 | Block { 643 | BlockType TransferFcn 644 | Name "Transfer Fcn" 645 | Position [655, 232, 785, 288] 646 | Numerator "[1.5]" 647 | Denominator "conv([10 1],[10 1])" 648 | } 649 | Line { 650 | SrcBlock "S-Function1" 651 | SrcPort 1 652 | Points [0, 0; 50, 0] 653 | Branch { 654 | Points [0, 185; -305, 0; 0, -145] 655 | DstBlock "Mux" 656 | DstPort 3 657 | } 658 | Branch { 659 | DstBlock "Add1" 660 | DstPort 2 661 | } 662 | } 663 | Line { 664 | SrcBlock "Transfer Fcn" 665 | SrcPort 1 666 | Points [0, 0; 20, 0] 667 | Branch { 668 | Points [0, 250; -650, 0; 0, -245] 669 | DstBlock "Mux" 670 | DstPort 2 671 | } 672 | Branch { 673 | DstBlock "Scope" 674 | DstPort 1 675 | } 676 | } 677 | Line { 678 | SrcBlock "Mux" 679 | SrcPort 1 680 | Points [0, 0] 681 | DstBlock "S-Function1" 682 | DstPort 1 683 | } 684 | Line { 685 | SrcBlock "S-Function" 686 | SrcPort 1 687 | Points [0, 0; 85, 0] 688 | Branch { 689 | DstBlock "Mux" 690 | DstPort 1 691 | } 692 | Branch { 693 | Points [0, -80] 694 | DstBlock "Scope1" 695 | DstPort 1 696 | } 697 | } 698 | Line { 699 | SrcBlock "Constant2" 700 | SrcPort 1 701 | Points [20, 0; 0, 60] 702 | DstBlock "Add1" 703 | DstPort 1 704 | } 705 | Line { 706 | SrcBlock "Add1" 707 | SrcPort 1 708 | Points [0, 0] 709 | DstBlock "Transfer Fcn" 710 | DstPort 1 711 | } 712 | } 713 | } 714 | -------------------------------------------------------------------------------- /ADRC TANKS/adrc2/fal.m: -------------------------------------------------------------------------------- 1 | function f=fal(e,a,d) 2 | 3 | %if a>=1 | a<=0 4 | % error('a must satisfy 0 4 | 5 | 6 | 7 | 8 | 9 | 33 | 34 |
35 |
36 | 37 | 38 | 39 |
40 |
41 | %THISDIRNAME% 42 |
43 |
44 | 45 |
46 | 47 |
48 | 49 | 50 | 51 | 52 |
53 |
54 |
55 | 56 | 57 |
58 |
59 | 60 | 61 | 62 |
63 | 64 | 65 | 66 | 67 | 68 | 70 | 71 | 72 | 73 |
74 |
75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /ADRC仿真包韩老师亲做/adrc/lagadrc1.dat: -------------------------------------------------------------------------------- 1 | TIMELAG1RECORD: 2013-1-21 12:04:51 2 | 3 | f1+w=-x1+w(t);b=600;lag=1000;x1[0]=0; 4 | input=1;z4[0]=0;z5[0]=0;r=0.004; 5 | z1[0]=0;z2[0]=0;z3[0]=0;a2=0.5;d2=0.0001;bt01=40;bt02=300;bt03=150; 6 | bt1=0.03;bt2=0.04;a3=1;d3=0.001;b0=1; 7 | 8 | TIMELAG1RECORD: 2013-1-21 12:04:52 9 | 10 | f1+w=-x1+w(t);b=600;lag=1000;x1[0]=0; 11 | input=1;z4[0]=0;z5[0]=0;r=0.004; 12 | z1[0]=0;z2[0]=0;z3[0]=0;a2=0.5;d2=0.0001;bt01=40;bt02=300;bt03=150; 13 | bt1=0.03;bt2=0.04;a3=1;d3=0.001;b0=1; 14 | 15 | -------------------------------------------------------------------------------- /ADRC仿真包韩老师亲做/adrc/nlpid.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC仿真包韩老师亲做/adrc/nlpid.dat -------------------------------------------------------------------------------- /ADRC仿真包韩老师亲做/adrc/obj1fun.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC仿真包韩老师亲做/adrc/obj1fun.dat -------------------------------------------------------------------------------- /ADRC仿真包韩老师亲做/adrc/obj22fun.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC仿真包韩老师亲做/adrc/obj22fun.dat -------------------------------------------------------------------------------- /ADRC仿真包韩老师亲做/adrc/obj2fun.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC仿真包韩老师亲做/adrc/obj2fun.dat -------------------------------------------------------------------------------- /ADRC仿真包韩老师亲做/adrc/ttadrc.dat: -------------------------------------------------------------------------------- 1 | ADRC2RECORD: 2003-3-3 13:52:01 2 | 3 | f1+w1=x1+x2+x1'*x2'+sin(t/2);f2+w2=x1*x2+x1'+x2'+cos(t/3);b11=1;b12=0;b21=0;b22=1; 4 | input1=1;r1=0.3;input2=2;r2=0.5; 5 | bt011=100;bt012=200;bt013=500;a2=1;d2=0.001;bt021=100;bt022=200;bt023=500; 6 | fbt21=100;bt22=10;a3=0.75;d3=0.01; 7 | 8 | ADRC2RECORD: 2003-3-3 13:55:43 9 | 10 | f1+w1=x1+x1*x2+x1'*x2'+sin(t/2);f2+w2=x1*x2+x1'+x2'+cos(t/3);b11=1;b12=0;b21=0;b22=1; 11 | input1=sin(t);r1=30;input2=2*cos(0.5*t);r2=30; 12 | bt011=100;bt012=200;bt013=500;a2=1;d2=0.001;bt021=100;bt022=200;bt023=500; 13 | fbt21=100;bt22=10;a3=0.75;d3=0.01; 14 | 15 | -------------------------------------------------------------------------------- /ADRC源代码参考/ESO.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/ESO.rar -------------------------------------------------------------------------------- /ADRC源代码参考/ESO/ctrl5_2_3.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/ESO/ctrl5_2_3.slx -------------------------------------------------------------------------------- /ADRC源代码参考/ESO/ctrl5_2_3ESO.m: -------------------------------------------------------------------------------- 1 | %it is a state obsever of v1 2 | function [sys,x0,str,ts]=ctrl5_2_3ESO(t,x,u,flag) 3 | switch flag, 4 | case 0, 5 | [sys,x0,str,ts]=mdlInit(); 6 | case 1, 7 | sys=mdlDer(t,x,u); 8 | case 3, 9 | sys=mdlOutput(t,x,u); 10 | otherwise, 11 | sys=[]; 12 | end; 13 | function [sys,x0,str,ts]= mdlInit() 14 | size=simsizes; 15 | size.NumContStates=3; 16 | size.NumDiscStates=0; 17 | size.NumOutputs=3; 18 | size.NumInputs=2; 19 | size.DirFeedthrough=0; 20 | size.NumSampleTimes=1; 21 | sys=simsizes(size); 22 | x0=[0,0,0]; 23 | str=[]; 24 | ts=[0,0]; 25 | 26 | 27 | function sys=mdlDer(t,x,u) 28 | global b0; 29 | b=[50,800,10000]; 30 | e=x(1)-u(1); 31 | fe=fal(e,0.5,0.01); 32 | fe1=fal(e,0.25,0.01); 33 | sys(1)=x(2)-b(1)*e; 34 | sys(2)=x(3)-b(2)*fe+b0*u(2); 35 | sys(3)=-b(3)*fe1; 36 | function sys=mdlOutput(t,x,u) 37 | sys=x; -------------------------------------------------------------------------------- /ADRC源代码参考/ESO/ctrl5_2_3ctrl.m: -------------------------------------------------------------------------------- 1 | %u is influenced by v,z 2 | function [sys,x0,str,ts]=ctrl5_2_3ctrl(t,x,u,flag) 3 | switch flag, 4 | case 0, 5 | [sys,x0,str,ts]=mdlInit(); 6 | % case 1, 7 | % sys=mdlDer(t,x,u); 8 | case 3, 9 | sys=mdlOutput(t,x,u); 10 | otherwise, 11 | sys=[]; 12 | end; 13 | function [sys,x0,str,ts]= mdlInit() 14 | size=simsizes; 15 | size.NumContStates=0; 16 | size.NumDiscStates=0; 17 | size.NumOutputs=1; 18 | size.NumInputs=5; 19 | size.DirFeedthrough=1; 20 | size.NumSampleTimes=1; 21 | sys=simsizes(size); 22 | x0=[]; 23 | str=[]; 24 | ts=[0,0]; 25 | % function sys=mdlDer(t,x,u) 26 | 27 | function sys=mdlOutput(t,x,u) 28 | %x(1:2):v1,v2; 29 | %x(3:5):z1,z2,z3; 30 | global b0; 31 | global r; 32 | global h; 33 | e=u(1:2)-u(3:4); 34 | u0=-fhan(e(1),e(2),r,h); 35 | sys=u0-u(5)/b0; -------------------------------------------------------------------------------- /ADRC源代码参考/ESO/ctrl5_2_3obj.m: -------------------------------------------------------------------------------- 1 | %the object be controlled 2 | function [sys,x0,str,ts]=ctrl5_2_3obj(t,x,u,flag) 3 | switch flag, 4 | case 0, 5 | [sys,x0,str,ts]=mdlInit(); 6 | case 1, 7 | sys=mdlDer(t,x,u); 8 | case 3, 9 | sys=mdlOutput(t,x,u); 10 | otherwise, 11 | sys=[]; 12 | end; 13 | function [sys,x0,str,ts]= mdlInit() 14 | size=simsizes; 15 | size.NumContStates=2; 16 | size.NumDiscStates=0; 17 | size.NumOutputs=2; 18 | size.NumInputs=1; 19 | size.DirFeedthrough=0; 20 | size.NumSampleTimes=1; 21 | sys=simsizes(size); 22 | x0=[0]; 23 | str=[]; 24 | ts=[0,0]; 25 | function sys=mdlDer(t,x,u) 26 | global b0; 27 | a=1; 28 | sys(1)=x(2); 29 | sys(2)=a*sign(sin(10*t))+u*b0; 30 | function sys=mdlOutput(t,x,u) 31 | sys(1)=x(1); 32 | sys(2)=sign(sin(2*t)); -------------------------------------------------------------------------------- /ADRC源代码参考/ESO/ctrl5_2_3tran.m: -------------------------------------------------------------------------------- 1 | %the function is to arrange transition course 2 | function [sys,x0,str,ts]=ctrl5_2_3tran(t,x,u,flag) 3 | switch flag, 4 | case 0, 5 | [sys,x0,str,ts]=mdlInit(); 6 | case 1, 7 | sys=mdlDer(t,x,u); 8 | case 3, 9 | sys=mdlOutput(t,x,u); 10 | otherwise, 11 | sys=[]; 12 | end; 13 | function [sys,x0,str,ts]= mdlInit() 14 | size=simsizes; 15 | size.NumContStates=2; 16 | size.NumDiscStates=0; 17 | size.NumOutputs=2; 18 | size.NumInputs=1; 19 | size.DirFeedthrough=0; 20 | size.NumSampleTimes=1; 21 | sys=simsizes(size); 22 | x0=[0,0]; 23 | str=[]; 24 | ts=[0,0]; 25 | function sys=mdlDer(t,x,u) 26 | global r; 27 | global h; 28 | e=x(1)-u; 29 | fh=fhan(e,x(2),r,h); 30 | sys(1)=x(2); 31 | sys(2)=fh; 32 | function sys=mdlOutput(t,x,u) 33 | sys=[x(1),x(2)]; -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型.rar -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/ex_han2.mdl.r12: -------------------------------------------------------------------------------- 1 | Model { 2 | Name "ex_han2" 3 | Version 4.00 4 | SampleTimeColors off 5 | LibraryLinkDisplay "none" 6 | WideLines off 7 | ShowLineDimensions off 8 | ShowPortDataTypes off 9 | ShowStorageClass off 10 | ExecutionOrder off 11 | RecordCoverage off 12 | CovPath "/" 13 | CovSaveName "covdata" 14 | CovMetricSettings "dw" 15 | CovNameIncrementing off 16 | CovHtmlReporting on 17 | BlockNameDataTip off 18 | BlockParametersDataTip off 19 | BlockDescriptionStringDataTip off 20 | ToolBar on 21 | StatusBar on 22 | BrowserShowLibraryLinks off 23 | BrowserLookUnderMasks off 24 | PreLoadFcn "r=10; h=0.01; T=0.01; bet=[100,65,80]; bet1=[100,10" 25 | "]; aa=[0.75,1.25]; d=0; b=1;" 26 | Created "Thu Aug 23 05:15:52 2001" 27 | UpdateHistory "UpdateHistoryNever" 28 | ModifiedByFormat "%" 29 | ModifiedDateFormat "%" 30 | LastModifiedDate "Tue Oct 30 19:58:50 2001" 31 | ModelVersionFormat "1.%" 32 | ConfigurationManager "None" 33 | SimParamPage "Solver" 34 | StartTime "0.0" 35 | StopTime "10.0" 36 | SolverMode "Auto" 37 | Solver "ode5" 38 | RelTol "1e-3" 39 | AbsTol "auto" 40 | Refine "1" 41 | MaxStep "auto" 42 | MinStep "auto" 43 | MaxNumMinSteps "-1" 44 | InitialStep "auto" 45 | FixedStep "T" 46 | MaxOrder 5 47 | OutputOption "RefineOutputTimes" 48 | OutputTimes "[]" 49 | LoadExternalInput off 50 | ExternalInput "[t, u]" 51 | SaveTime on 52 | TimeSaveName "tout" 53 | SaveState off 54 | StateSaveName "xout" 55 | SaveOutput on 56 | OutputSaveName "yout" 57 | LoadInitialState off 58 | InitialState "xInitial" 59 | SaveFinalState off 60 | FinalStateName "xFinal" 61 | SaveFormat "Array" 62 | LimitDataPoints off 63 | MaxDataPoints "1000" 64 | Decimation "1" 65 | AlgebraicLoopMsg "warning" 66 | MinStepSizeMsg "warning" 67 | UnconnectedInputMsg "warning" 68 | UnconnectedOutputMsg "warning" 69 | UnconnectedLineMsg "warning" 70 | InheritedTsInSrcMsg "warning" 71 | SingleTaskRateTransMsg "none" 72 | MultiTaskRateTransMsg "error" 73 | IntegerOverflowMsg "warning" 74 | CheckForMatrixSingularity "none" 75 | UnnecessaryDatatypeConvMsg "none" 76 | Int32ToFloatConvMsg "warning" 77 | InvalidFcnCallConnMsg "error" 78 | SignalLabelMismatchMsg "none" 79 | LinearizationMsg "none" 80 | VectorMatrixConversionMsg "none" 81 | SfunCompatibilityCheckMsg "none" 82 | BlockPriorityViolationMsg "warning" 83 | ArrayBoundsChecking "none" 84 | ConsistencyChecking "none" 85 | ZeroCross on 86 | Profile off 87 | SimulationMode "normal" 88 | RTWSystemTargetFile "grt.tlc" 89 | RTWInlineParameters off 90 | RTWRetainRTWFile off 91 | RTWTemplateMakefile "grt_default_tmf" 92 | RTWMakeCommand "make_rtw" 93 | RTWGenerateCodeOnly off 94 | TLCProfiler off 95 | TLCDebug off 96 | TLCCoverage off 97 | AccelSystemTargetFile "accel.tlc" 98 | AccelTemplateMakefile "accel_default_tmf" 99 | AccelMakeCommand "make_rtw" 100 | TryForcingSFcnDF off 101 | ExtModeMexFile "ext_comm" 102 | ExtModeBatchMode off 103 | ExtModeTrigType "manual" 104 | ExtModeTrigMode "normal" 105 | ExtModeTrigPort "1" 106 | ExtModeTrigElement "any" 107 | ExtModeTrigDuration 1000 108 | ExtModeTrigHoldOff 0 109 | ExtModeTrigDelay 0 110 | ExtModeTrigDirection "rising" 111 | ExtModeTrigLevel 0 112 | ExtModeArchiveMode "off" 113 | ExtModeAutoIncOneShot off 114 | ExtModeIncDirWhenArm off 115 | ExtModeAddSuffixToVar off 116 | ExtModeWriteAllDataToWs off 117 | ExtModeArmWhenConnect on 118 | ExtModeSkipDownloadWhenConnect off 119 | ExtModeLogAll on 120 | ExtModeAutoUpdateStatusClock on 121 | OptimizeBlockIOStorage on 122 | BufferReuse on 123 | ParameterPooling on 124 | BlockReductionOpt on 125 | RTWExpressionDepthLimit 5 126 | BooleanDataType off 127 | BlockDefaults { 128 | Orientation "right" 129 | ForegroundColor "black" 130 | BackgroundColor "white" 131 | DropShadow off 132 | NamePlacement "normal" 133 | FontName "Helvetica" 134 | FontSize 10 135 | FontWeight "normal" 136 | FontAngle "normal" 137 | ShowName on 138 | } 139 | AnnotationDefaults { 140 | HorizontalAlignment "center" 141 | VerticalAlignment "middle" 142 | ForegroundColor "black" 143 | BackgroundColor "white" 144 | DropShadow off 145 | FontName "Helvetica" 146 | FontSize 10 147 | FontWeight "normal" 148 | FontAngle "normal" 149 | } 150 | LineDefaults { 151 | FontName "Helvetica" 152 | FontSize 9 153 | FontWeight "normal" 154 | FontAngle "normal" 155 | } 156 | System { 157 | Name "ex_han2" 158 | Location [480, 85, 980, 386] 159 | Open on 160 | ModelBrowserVisibility off 161 | ModelBrowserWidth 200 162 | ScreenColor "automatic" 163 | PaperOrientation "portrait" 164 | PaperPositionMode "auto" 165 | PaperType "a4letter" 166 | PaperUnits "centimeters" 167 | ZoomFactor "100" 168 | ReportName "simulink-default.rpt" 169 | Block { 170 | BlockType Clock 171 | Name "Clock" 172 | Position [20, 40, 40, 60] 173 | DisplayTime off 174 | Decimation "10" 175 | } 176 | Block { 177 | BlockType Fcn 178 | Name "Fcn" 179 | Position [60, 34, 95, 66] 180 | Expr "sin(u)" 181 | } 182 | Block { 183 | BlockType Integrator 184 | Name "Integrator" 185 | Ports [1, 1] 186 | Position [290, 35, 320, 65] 187 | ExternalReset "none" 188 | InitialConditionSource "internal" 189 | InitialCondition "0" 190 | LimitOutput off 191 | UpperSaturationLimit "inf" 192 | LowerSaturationLimit "-inf" 193 | ShowSaturationPort off 194 | ShowStatePort off 195 | AbsoluteTolerance "auto" 196 | } 197 | Block { 198 | BlockType Integrator 199 | Name "Integrator1" 200 | Ports [1, 1] 201 | Position [225, 35, 255, 65] 202 | ExternalReset "none" 203 | InitialConditionSource "internal" 204 | InitialCondition "0" 205 | LimitOutput off 206 | UpperSaturationLimit "inf" 207 | LowerSaturationLimit "-inf" 208 | ShowSaturationPort off 209 | ShowStatePort off 210 | AbsoluteTolerance "auto" 211 | } 212 | Block { 213 | BlockType Mux 214 | Name "Mux" 215 | Ports [2, 1] 216 | Position [205, 126, 210, 164] 217 | ShowName off 218 | Inputs "2" 219 | DisplayOption "bar" 220 | } 221 | Block { 222 | BlockType Mux 223 | Name "Mux1" 224 | Ports [2, 1] 225 | Position [318, 180, 362, 185] 226 | Orientation "down" 227 | ShowName off 228 | Inputs "2" 229 | DisplayOption "bar" 230 | } 231 | Block { 232 | BlockType Relay 233 | Name "Relay" 234 | Position [125, 35, 155, 65] 235 | OnSwitchValue "eps" 236 | OffSwitchValue "eps" 237 | OnOutputValue "1" 238 | OffOutputValue "0" 239 | } 240 | Block { 241 | BlockType "S-Function" 242 | Name "S-Function\nController" 243 | Ports [1, 1] 244 | Position [245, 130, 305, 160] 245 | FunctionName "han_ctrl" 246 | Parameters "aa,bet1,b,d" 247 | PortCounts "[]" 248 | SFunctionModules "''" 249 | } 250 | Block { 251 | BlockType "S-Function" 252 | Name "S-Function\nExtended State Observer" 253 | Ports [1, 1] 254 | Position [310, 200, 370, 230] 255 | Orientation "down" 256 | NamePlacement "alternate" 257 | FunctionName "han_eso" 258 | Parameters "d,bet,b,T" 259 | PortCounts "[]" 260 | SFunctionModules "''" 261 | } 262 | Block { 263 | BlockType "S-Function" 264 | Name "S-Function\nTracker and \nDifferentiation" 265 | Ports [1, 1] 266 | Position [100, 120, 160, 150] 267 | FunctionName "han_td" 268 | Parameters "r,h,T" 269 | PortCounts "[]" 270 | SFunctionModules "''" 271 | } 272 | Block { 273 | BlockType SignalGenerator 274 | Name "Signal\nGenerator" 275 | Position [15, 120, 45, 150] 276 | WaveForm "square" 277 | Amplitude "1" 278 | Frequency "0.1" 279 | Units "Hertz" 280 | VectorParams1D on 281 | } 282 | Block { 283 | BlockType Sum 284 | Name "Sum" 285 | Ports [2, 1] 286 | Position [180, 40, 200, 60] 287 | ShowName off 288 | IconShape "round" 289 | Inputs "|++" 290 | SaturateOnIntegerOverflow on 291 | } 292 | Block { 293 | BlockType Outport 294 | Name "Out1" 295 | Position [375, 43, 405, 57] 296 | Port "1" 297 | OutputWhenDisabled "held" 298 | InitialOutput "[]" 299 | } 300 | Block { 301 | BlockType Outport 302 | Name "Out2" 303 | Position [105, 203, 135, 217] 304 | Port "2" 305 | OutputWhenDisabled "held" 306 | InitialOutput "[]" 307 | } 308 | Block { 309 | BlockType Outport 310 | Name "Out3" 311 | Position [375, 138, 405, 152] 312 | Port "3" 313 | OutputWhenDisabled "held" 314 | InitialOutput "[]" 315 | } 316 | Line { 317 | SrcBlock "Clock" 318 | SrcPort 1 319 | DstBlock "Fcn" 320 | DstPort 1 321 | } 322 | Line { 323 | SrcBlock "Sum" 324 | SrcPort 1 325 | DstBlock "Integrator1" 326 | DstPort 1 327 | } 328 | Line { 329 | SrcBlock "Integrator1" 330 | SrcPort 1 331 | DstBlock "Integrator" 332 | DstPort 1 333 | } 334 | Line { 335 | SrcBlock "Integrator" 336 | SrcPort 1 337 | Points [25, 0] 338 | Branch { 339 | DstBlock "Out1" 340 | DstPort 1 341 | } 342 | Branch { 343 | DstBlock "Mux1" 344 | DstPort 2 345 | } 346 | } 347 | Line { 348 | SrcBlock "Signal\nGenerator" 349 | SrcPort 1 350 | Points [10, 0] 351 | Branch { 352 | DstBlock "S-Function\nTracker and \nDifferentiation" 353 | DstPort 1 354 | } 355 | Branch { 356 | Points [0, 75] 357 | DstBlock "Out2" 358 | DstPort 1 359 | } 360 | } 361 | Line { 362 | SrcBlock "S-Function\nController" 363 | SrcPort 1 364 | Points [20, 0] 365 | Branch { 366 | Points [0, 0] 367 | DstBlock "Mux1" 368 | DstPort 1 369 | } 370 | Branch { 371 | Points [0, 0] 372 | Branch { 373 | Points [0, -50; -140, 0] 374 | DstBlock "Sum" 375 | DstPort 2 376 | } 377 | Branch { 378 | Points [0, 0] 379 | DstBlock "Out3" 380 | DstPort 1 381 | } 382 | } 383 | } 384 | Line { 385 | SrcBlock "S-Function\nTracker and \nDifferentiation" 386 | SrcPort 1 387 | DstBlock "Mux" 388 | DstPort 1 389 | } 390 | Line { 391 | SrcBlock "Mux" 392 | SrcPort 1 393 | DstBlock "S-Function\nController" 394 | DstPort 1 395 | } 396 | Line { 397 | SrcBlock "S-Function\nExtended State Observer" 398 | SrcPort 1 399 | Points [0, 15; -160, 0; 0, -95] 400 | DstBlock "Mux" 401 | DstPort 2 402 | } 403 | Line { 404 | SrcBlock "Fcn" 405 | SrcPort 1 406 | DstBlock "Relay" 407 | DstPort 1 408 | } 409 | Line { 410 | SrcBlock "Relay" 411 | SrcPort 1 412 | DstBlock "Sum" 413 | DstPort 1 414 | } 415 | Line { 416 | SrcBlock "Mux1" 417 | SrcPort 1 418 | DstBlock "S-Function\nExtended State Observer" 419 | DstPort 1 420 | } 421 | Annotation { 422 | Position [65, 247] 423 | Text "ex_han2.mdl" 424 | FontName "Arial" 425 | FontSize 12 426 | FontWeight "bold" 427 | } 428 | } 429 | } 430 | -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/han_ctrl.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/han_ctrl.m -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/han_eso.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/han_eso.m -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/han_td.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/han_td.m -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/slprj/grt/td_s/tmwinternal/minfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/slprj/grt/td_s/tmwinternal/minfo.mat -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/slprj/sl_proj.tmw: -------------------------------------------------------------------------------- 1 | Simulink Coder project marker file. Please don't change it. 2 | slprjVersion: 8.3_50_013 -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/td_s.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/td_s.slx -------------------------------------------------------------------------------- /ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/td_s_grt_rtw/build_exception.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/ADRC源代码参考/matlab仿真自抗扰控制器 (源代码)matlab仿真自抗扰控制器 有TD微分器, 反馈器 等 以及simulink模型/td_s_grt_rtw/build_exception.mat -------------------------------------------------------------------------------- /Disturbance compensated adaptive backstepping control for an unmanned seaplane.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/Disturbance compensated adaptive backstepping control for an unmanned seaplane.pdf -------------------------------------------------------------------------------- /LADRC实现参考/(高志强老师对LADRC的推导原理)2003ACC_LADRC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LADRC实现参考/(高志强老师对LADRC的推导原理)2003ACC_LADRC.pdf -------------------------------------------------------------------------------- /LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师).zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师).zip -------------------------------------------------------------------------------- /LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/2003ACC_LADRC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/2003ACC_LADRC.pdf -------------------------------------------------------------------------------- /LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/ADRC-vs-PID+audio.wmv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/ADRC-vs-PID+audio.wmv -------------------------------------------------------------------------------- /LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/Wack_0001.wmv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/Wack_0001.wmv -------------------------------------------------------------------------------- /LADRC实现参考/MATLABDemo-LADRC 实现(高志强老师)/LADRC Demo/tuning.m: -------------------------------------------------------------------------------- 1 | h=1e-3; %simulation step size 2 | b0=40; 3 | wo=40; %acc paper: 40 4 | wc=150; %acc paper: 150 5 | kp=wc^2;kd=-2.*wc; 6 | sim('Motion_acc03'); 7 | -------------------------------------------------------------------------------- /LADRC实现参考/答丁健:关于2003ACC_Tuning.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LADRC实现参考/答丁健:关于2003ACC_Tuning.docx -------------------------------------------------------------------------------- /LESO的推导_北京化工课件(高老师讲座).pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/LESO的推导_北京化工课件(高老师讲座).pptx -------------------------------------------------------------------------------- /PID实现算法/增量式PID算法.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/PID实现算法/增量式PID算法.docx -------------------------------------------------------------------------------- /PID实现算法/完整型位置型PID程序.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/PID实现算法/完整型位置型PID程序.docx -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /参数整定参考实现资料/典型惯性环节的自抗扰控制性能分析.kdh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/参数整定参考实现资料/典型惯性环节的自抗扰控制性能分析.kdh -------------------------------------------------------------------------------- /参数整定参考实现资料/自抗扰控制器参数整定方法及其在热工过程中的应用_陈星.caj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/参数整定参考实现资料/自抗扰控制器参数整定方法及其在热工过程中的应用_陈星.caj -------------------------------------------------------------------------------- /自抗扰控制技术.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/自抗扰控制技术.pdf -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/贺庆毕业论文ADRC全集包仅用于内部共享不要外传.zip -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ADRC_1.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=ADRC_1(t,x,u,flag,r0,h,B01,B02,r) 2 | 3 | switch flag 4 | case 0 5 | [sys,x0,str,ts]=mdlInitializeSizes(h); 6 | case 2 7 | sys=mdlUpdate(x,u,r0,h,B01,B02); 8 | case 3 9 | sys=mdlOutputs(x,r); 10 | case 4, 11 | sys=mdlGetTimeOfNextVarHit(t,h); 12 | case {1,9} 13 | sys=[]; 14 | otherwise 15 | error(['Unhandled flag=',num2str(flag)]); 16 | end 17 | function [sys,x0,str,ts]=mdlInitializeSizes(h) 18 | sizes=simsizes; 19 | sizes.NumContStates=0; 20 | sizes.NumDiscStates=4; 21 | sizes.NumOutputs=2; 22 | sizes.NumInputs=3; 23 | sizes.DirFeedthrough=1; 24 | sizes.NumSampleTimes=1; 25 | sys=simsizes(sizes); 26 | x0=[0;0;0;0]; 27 | str=[]; 28 | ts=[h 0]; 29 | function sys=mdlUpdate(x,u,r0,h,B01,B02) 30 | e1=x(1)-u(1); 31 | fh=fhan(e1,x(2),r0,h); 32 | sys(1)=x(1)+h*x(2); 33 | sys(2)=x(2)+h*fh; 34 | e2=x(3)-u(2); 35 | sys(3)=x(3)+h*(x(4)-B01*e2+u(3)); 36 | sys(4)=x(4)+h*(-B02*e2); 37 | 38 | function sys=mdlOutputs(x,r) 39 | e3=x(1)-x(3); 40 | sys(1)=r*e3-x(4); 41 | sys(2)=x(1); 42 | function sys=mdlGetTimeOfNextVarHit(t,h) 43 | sys=t+h; 44 | 45 | function y=fhan(x1,x2,r,h) 46 | d=r*h; 47 | d0=h*d; 48 | y=x1+h*x2; 49 | a0=sqrt(d^2+8*r*abs(y)); 50 | if abs(y)>d0 51 | a=x2+(a0-d)*sign(y)/2; 52 | else 53 | a=x2+y/h; 54 | end 55 | 56 | if abs(a)>d 57 | y=-r*sign(a); 58 | else 59 | y=-r*a/d; 60 | end 61 | -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ADRC_1n.asv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ADRC_1n.asv -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ADRC_1n.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TianfaYao/ADRC/6f1f96ebda1684c44af4dec4214b4880f4aa8cec/贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ADRC_1n.m -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ADRC_2.asv: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=ADRC_2(t,x,u,flag,h,TD,ESO,NLSEF,b0) 2 | 3 | switch flag 4 | case 0 5 | [sys,x0,str,ts]=mdlInitializeSizes(h); 6 | case 2 7 | sys=mdlUpdate(x,u,TD,ESO,b0); 8 | case 3 9 | sys=mdlOutputs(x,NLSEF,b0); 10 | case 4, 11 | sys=mdlGetTimeOfNextVarHit(t,h); 12 | case {1,9} 13 | sys=[]; 14 | otherwise 15 | error(['Unhandled flag=',num2str(flag)]); 16 | end 17 | function [sys,x0,str,ts]=mdlInitializeSizes(h) 18 | sizes=simsizes; 19 | sizes.NumContStates=0; 20 | sizes.NumDiscStates=5; 21 | sizes.NumOutputs=1; 22 | sizes.NumInputs=3; 23 | sizes.DirFeedthrough=1; 24 | sizes.NumSampleTimes=1; 25 | sys=simsizes(sizes); 26 | x0=[0;0;0;0;0]; 27 | str=[]; 28 | ts=[h 0]; 29 | function sys=mdlUpdate(x,u,TD,ESO,b0) 30 | e1=x(1)-u(1); 31 | fh=fhan(e1,x(2),TD(1),TD(2)); 32 | sys(1)=x(1)+h*x(2); 33 | sys(2)=x(2)+h*fh; 34 | e2=x(3)-u(2); 35 | sys(3)=x(3)+h*(x(4)-ESO(1)*e2); 36 | sys(4)=x(4)+h*(x(5)-ESO(2)*fal(e2,0.5,ESO(4))+b0*u(3)); 37 | sys(5)=x(5)+h*(-ESO(3)*fal(e2,0.25,ESO(4))); 38 | % fe=fal(e,0.5,Delta); 39 | % fe1=fal(e,0.25,Delta); 40 | % sys(1,1)=x(1)+h2*(x(2)-BB(1)*e); 41 | % sys(2,1)=x(2)+h2*(x(3)-BB(2)*fe+u(1)); 42 | % sys(3,1)=x(3)+h2*(-BB(3)*fe1); 43 | function sys=mdlOutputs(x,NLSEF,b0) 44 | e3=x(1)-x(3); 45 | e4=x(2)-x(4); 46 | sys=-fhan(e3,NLSEF(1)*e4,NLSEF(2),NLSEF(3))-x(5)/b0; 47 | function sys=mdlGetTimeOfNextVarHit(t,h) 48 | sys=t+h; 49 | 50 | function y=fhan(x1,x2,r,h) 51 | d=r*h; 52 | d0=h*d; 53 | y=x1+h*x2; 54 | a0=sqrt(d^2+8*r*abs(y)); 55 | if abs(y)>d0 56 | a=x2+(a0-d)*sign(y)/2; 57 | else 58 | a=x2+y/h; 59 | end 60 | 61 | if abs(a)>d 62 | y=-r*sign(a); 63 | else 64 | y=-r*a/d; 65 | end 66 | 67 | function f=fal(e,a,d) 68 | if abs(e) -1 && yin < 0.6 && yin > -1) 112 | again = 0; 113 | load('bday_song_8bit_11025.mat'); 114 | % sound(song,11025,8); 115 | obj = audioplayer(song, 11025, 8); 116 | play(obj); 117 | close(figure1) 118 | [figure1, axes1] = figureset(); 119 | cake_w_flame(x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,figure1,axes1,0); 120 | eatmore = 'Wanna eat more ?? Use rotate tool or/and zoom in/out tool for it'; 121 | msgbox(eatmore); 122 | else 123 | while(~strcmp(questdlg('Blow off candle','Click on candle to blow it off','Ok','No'),'Ok')) 124 | end 125 | again = 1; 126 | end 127 | end 128 | 129 | function [figure1, axes1] = figureset() 130 | 131 | figure1 = figure('NumberTitle','off','Name','Wish you a very very happy birthday'); 132 | 133 | axes1 = axes('Visible','off','Parent',figure1,'PlotBoxAspectRatio',[1 1 1],... 134 | 'DataAspectRatio',[1 1 1],'CameraViewAngle',10); 135 | % 10.7508094342063 136 | view(axes1,[-72.5 30]); 137 | hold(axes1,'all'); 138 | 139 | oldRootUnits=get(0,'Units'); 140 | set(0,'Units','Pixels'); 141 | pos=get(0,'ScreenSize'); 142 | set(0,'Units',oldRootUnits); 143 | maxPos=[-3 27 pos(3)+8 pos(4)-22]; 144 | oldUnits=get(figure1,'Units'); 145 | oldActivePositionProperty=get(figure1,'ActivePositionProperty'); 146 | set(figure1,'Units','Pixels','ActivePositionProperty','outerposition'); 147 | set(figure1,'Position',maxPos,'OuterPosition',maxPos); 148 | set(figure1,'Units',oldUnits,'ActivePositionProperty',oldActivePositionProperty); 149 | 150 | %% Cake w/wo flame 151 | function cake_w_flame(x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,~,axes1,flame) 152 | 153 | global bday_name; 154 | global your_name; 155 | 156 | surf(x1,y1,z1,'Parent',axes1,'FaceLighting','phong',... 157 | 'LineStyle','none',... 158 | 'FaceColor',[0.200000002980232 0 0]); 159 | surf(x2,y2,z2,'Parent',axes1,'FaceLighting','phong',... 160 | 'LineStyle','none',... 161 | 'FaceColor',[0.600000023841858 0.200000002980232 0]); 162 | 163 | text('Parent',axes1,'String','Happy Birthday','Position',[-0.57 0.18 1.5],... 164 | 'FontSize',28,... 165 | 'FontName','Monotype Corsiva','Color',[1 0 0]); 166 | text('Parent',axes1,'String',bday_name,'Position',[-0.3 -0.1 1.2],... 167 | 'FontSize',28,... 168 | 'FontName','Monotype Corsiva','Color',[1 0 0]); 169 | text('Parent',axes1,'String',['Best Wishes from ',your_name],'Position',[-1.5 -1.5 1.5],... 170 | 'FontSize',28,... 171 | 'FontName','Monotype Corsiva','Color',[1 0 0]); 172 | surf(x3+0,y3+0.8,z3+1.1,'Parent',axes1,'FaceLighting','phong',... 173 | 'LineStyle','none',... 174 | 'FaceColor',[1 0 0]); 175 | surf(x3+0,y3-0.8,z3+1.1,'Parent',axes1,'FaceLighting','phong',... 176 | 'LineStyle','none',... 177 | 'FaceColor',[1 0 0]); 178 | surf(x3+0.8,y3+0,z3+1.1,'Parent',axes1,'FaceLighting','phong',... 179 | 'LineStyle','none',... 180 | 'FaceColor',[1 0 0]); 181 | 182 | surf(x3-0.8,y3+0,z3+1.1,'Parent',axes1,'FaceLighting','phong',... 183 | 'LineStyle','none',... 184 | 'FaceColor',[1 0 0]); 185 | surf(x4,y4,z4,'Parent',axes1,'FaceLighting','phong',... 186 | 'LineStyle','none',... 187 | 'FaceColor',[0.925490200519562 0.839215695858002 0.839215695858002]); 188 | surf(x5,y5,z5,'Parent',axes1,'FaceLighting','phong',... 189 | 'LineStyle','none',... 190 | 'FaceColor',[0.925490200519562 0.839215695858002 0.839215695858002]); 191 | if(flame==1) 192 | surf(x6,y6,z6,'Parent',axes1,'FaceLighting','phong',... 193 | 'LineStyle','none',... 194 | 'FaceColor',[1 1 0]); 195 | end 196 | light('Parent',axes1,'Style','local',... 197 | 'Position',[-10.162701816704 -0.924193626363743 14.9951905283833]); 198 | 199 | if(flame==0) 200 | for i=1:110 201 | view(axes1,[-10*i 20+0.2727*i]) 202 | pause(0.205) %0.15 203 | end 204 | end 205 | % EOF -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/ESO.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=ESO(t,x,u,flag,Delta,h2,BB) 2 | 3 | switch flag 4 | case 0 5 | [sys,x0,str,ts]=mdlInitializeSizes(h2); 6 | case 2 7 | sys=mdlUpdate(x,u,Delta,h2,BB); 8 | case 3 9 | sys=mdlOutputs(x); 10 | case 4, 11 | sys=mdlGetTimeOfNextVarHit(h2); 12 | case {1,9} 13 | sys=[]; 14 | otherwise 15 | error(['Unhandled flag=',num2str(flag)]); 16 | end 17 | function [sys,x0,str,ts]=mdlInitializeSizes(h2) 18 | sizes=simsizes; 19 | sizes.NumContStates=0; 20 | sizes.NumDiscStates=3; 21 | sizes.NumOutputs=3; 22 | sizes.NumInputs=2; 23 | sizes.DirFeedthrough=1; 24 | sizes.NumSampleTimes=1; 25 | sys=simsizes(sizes); 26 | x0=[0;0;0]; 27 | str=[]; 28 | ts=[h2 0]; 29 | function sys=mdlUpdate(x,u,Delta,h2,BB) 30 | e=x(1)-u(2); 31 | fe=fal(e,0.5,Delta); 32 | fe1=fal(e,0.25,Delta); 33 | sys(1,1)=x(1)+h2*(x(2)-BB(1)*e); 34 | sys(2,1)=x(2)+h2*(x(3)-BB(2)*fe+u(1)); 35 | sys(3,1)=x(3)+h2*(-BB(3)*fe1); 36 | function sys=mdlOutputs(x) 37 | sys=x; 38 | function sys=mdlGetTimeOfNextVarHit(h2) 39 | sys=sys+h2; 40 | function f=fal(e,a,d) 41 | if abs(e)" 702 | } 703 | TimeRange "10" 704 | DataFormat "StructureWithTime" 705 | SampleTime "0" 706 | } 707 | Block { 708 | BlockType Reference 709 | Name "TD1_L" 710 | SID "6" 711 | Ports [1, 1] 712 | Position [225, 85, 285, 115] 713 | LibraryVersion "1.51" 714 | SourceBlock "ADRC/TD/TD1_L" 715 | SourceType "" 716 | RisingTime "5" 717 | SampleTime "0.01" 718 | } 719 | Line { 720 | SrcBlock "TD1_L" 721 | SrcPort 1 722 | DstBlock "Scope" 723 | DstPort 1 724 | } 725 | Line { 726 | SrcBlock "Constant" 727 | SrcPort 1 728 | DstBlock "TD1_L" 729 | DstPort 1 730 | } 731 | } 732 | } 733 | -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/MODEL/Untitled1.mdl: -------------------------------------------------------------------------------- 1 | Model { 2 | Name "Untitled1" 3 | Version 7.6 4 | MdlSubVersion 0 5 | GraphicalInterface { 6 | NumRootInports 0 7 | NumRootOutports 0 8 | ParameterArgumentNames "" 9 | ComputedModelVersion "1.0" 10 | NumModelReferences 0 11 | NumTestPointedSignals 0 12 | } 13 | SavedCharacterEncoding "GBK" 14 | SaveDefaultBlockParams on 15 | ScopeRefreshTime 0.035000 16 | OverrideScopeRefreshTime on 17 | DisableAllScopes off 18 | DataTypeOverride "UseLocalSettings" 19 | DataTypeOverrideAppliesTo "AllNumericTypes" 20 | MinMaxOverflowLogging "UseLocalSettings" 21 | MinMaxOverflowArchiveMode "Overwrite" 22 | MaxMDLFileLineLength 120 23 | Created "Tue Apr 02 13:20:58 2013" 24 | Creator "Administrator" 25 | UpdateHistory "UpdateHistoryNever" 26 | ModifiedByFormat "%" 27 | LastModifiedBy "Administrator" 28 | ModifiedDateFormat "%" 29 | LastModifiedDate "Tue Apr 02 13:20:58 2013" 30 | RTWModifiedTimeStamp 0 31 | ModelVersionFormat "1.%" 32 | ConfigurationManager "None" 33 | SampleTimeColors off 34 | SampleTimeAnnotations off 35 | LibraryLinkDisplay "none" 36 | WideLines off 37 | ShowLineDimensions off 38 | ShowPortDataTypes off 39 | ShowLoopsOnError on 40 | IgnoreBidirectionalLines off 41 | ShowStorageClass off 42 | ShowTestPointIcons on 43 | ShowSignalResolutionIcons on 44 | ShowViewerIcons on 45 | SortedOrder off 46 | ExecutionContextIcon off 47 | ShowLinearizationAnnotations on 48 | BlockNameDataTip off 49 | BlockParametersDataTip off 50 | BlockDescriptionStringDataTip off 51 | ToolBar on 52 | StatusBar on 53 | BrowserShowLibraryLinks off 54 | BrowserLookUnderMasks off 55 | SimulationMode "normal" 56 | LinearizationMsg "none" 57 | Profile off 58 | ParamWorkspaceSource "MATLABWorkspace" 59 | AccelSystemTargetFile "accel.tlc" 60 | AccelTemplateMakefile "accel_default_tmf" 61 | AccelMakeCommand "make_rtw" 62 | TryForcingSFcnDF off 63 | RecordCoverage off 64 | CovPath "/" 65 | CovSaveName "covdata" 66 | CovMetricSettings "dw" 67 | CovNameIncrementing off 68 | CovHtmlReporting on 69 | CovForceBlockReductionOff on 70 | covSaveCumulativeToWorkspaceVar on 71 | CovSaveSingleToWorkspaceVar on 72 | CovCumulativeVarName "covCumulativeData" 73 | CovCumulativeReport off 74 | CovReportOnPause on 75 | CovModelRefEnable "Off" 76 | CovExternalEMLEnable off 77 | ExtModeBatchMode off 78 | ExtModeEnableFloating on 79 | ExtModeTrigType "manual" 80 | ExtModeTrigMode "normal" 81 | ExtModeTrigPort "1" 82 | ExtModeTrigElement "any" 83 | ExtModeTrigDuration 1000 84 | ExtModeTrigDurationFloating "auto" 85 | ExtModeTrigHoldOff 0 86 | ExtModeTrigDelay 0 87 | ExtModeTrigDirection "rising" 88 | ExtModeTrigLevel 0 89 | ExtModeArchiveMode "off" 90 | ExtModeAutoIncOneShot off 91 | ExtModeIncDirWhenArm off 92 | ExtModeAddSuffixToVar off 93 | ExtModeWriteAllDataToWs off 94 | ExtModeArmWhenConnect on 95 | ExtModeSkipDownloadWhenConnect off 96 | ExtModeLogAll on 97 | ExtModeAutoUpdateStatusClock on 98 | BufferReuse on 99 | ShowModelReferenceBlockVersion off 100 | ShowModelReferenceBlockIO off 101 | Array { 102 | Type "Handle" 103 | Dimension 1 104 | Simulink.ConfigSet { 105 | $ObjectID 1 106 | Version "1.10.0" 107 | Array { 108 | Type "Handle" 109 | Dimension 9 110 | Simulink.SolverCC { 111 | $ObjectID 2 112 | Version "1.10.0" 113 | StartTime "0.0" 114 | StopTime "10.0" 115 | AbsTol "auto" 116 | FixedStep "auto" 117 | InitialStep "auto" 118 | MaxNumMinSteps "-1" 119 | MaxOrder 5 120 | ZcThreshold "auto" 121 | ConsecutiveZCsStepRelTol "10*128*eps" 122 | MaxConsecutiveZCs "1000" 123 | ExtrapolationOrder 4 124 | NumberNewtonIterations 1 125 | MaxStep "auto" 126 | MinStep "auto" 127 | MaxConsecutiveMinStep "1" 128 | RelTol "1e-3" 129 | SolverMode "Auto" 130 | ConcurrentTasks off 131 | Solver "ode45" 132 | SolverName "ode45" 133 | SolverJacobianMethodControl "auto" 134 | ShapePreserveControl "DisableAll" 135 | ZeroCrossControl "UseLocalSettings" 136 | ZeroCrossAlgorithm "Nonadaptive" 137 | AlgebraicLoopSolver "TrustRegion" 138 | SolverResetMethod "Fast" 139 | PositivePriorityOrder off 140 | AutoInsertRateTranBlk off 141 | SampleTimeConstraint "Unconstrained" 142 | InsertRTBMode "Whenever possible" 143 | } 144 | Simulink.DataIOCC { 145 | $ObjectID 3 146 | Version "1.10.0" 147 | Decimation "1" 148 | ExternalInput "[t, u]" 149 | FinalStateName "xFinal" 150 | InitialState "xInitial" 151 | LimitDataPoints on 152 | MaxDataPoints "1000" 153 | LoadExternalInput off 154 | LoadInitialState off 155 | SaveFinalState off 156 | SaveCompleteFinalSimState off 157 | SaveFormat "Array" 158 | SaveOutput on 159 | SaveState off 160 | SignalLogging on 161 | DSMLogging on 162 | InspectSignalLogs off 163 | SaveTime on 164 | ReturnWorkspaceOutputs off 165 | StateSaveName "xout" 166 | TimeSaveName "tout" 167 | OutputSaveName "yout" 168 | SignalLoggingName "logsout" 169 | DSMLoggingName "dsmout" 170 | OutputOption "RefineOutputTimes" 171 | OutputTimes "[]" 172 | ReturnWorkspaceOutputsName "out" 173 | Refine "1" 174 | } 175 | Simulink.OptimizationCC { 176 | $ObjectID 4 177 | Version "1.10.0" 178 | Array { 179 | Type "Cell" 180 | Dimension 8 181 | Cell "BooleansAsBitfields" 182 | Cell "PassReuseOutputArgsAs" 183 | Cell "PassReuseOutputArgsThreshold" 184 | Cell "ZeroExternalMemoryAtStartup" 185 | Cell "ZeroInternalMemoryAtStartup" 186 | Cell "OptimizeModelRefInitCode" 187 | Cell "NoFixptDivByZeroProtection" 188 | Cell "UseSpecifiedMinMax" 189 | PropName "DisabledProps" 190 | } 191 | BlockReduction on 192 | BooleanDataType on 193 | ConditionallyExecuteInputs on 194 | InlineParams off 195 | UseIntDivNetSlope off 196 | UseSpecifiedMinMax off 197 | InlineInvariantSignals off 198 | OptimizeBlockIOStorage on 199 | BufferReuse on 200 | EnhancedBackFolding off 201 | StrengthReduction off 202 | ExpressionFolding on 203 | BooleansAsBitfields off 204 | BitfieldContainerType "uint_T" 205 | EnableMemcpy on 206 | MemcpyThreshold 64 207 | PassReuseOutputArgsAs "Structure reference" 208 | ExpressionDepthLimit 2147483647 209 | FoldNonRolledExpr on 210 | LocalBlockOutputs on 211 | RollThreshold 5 212 | SystemCodeInlineAuto off 213 | StateBitsets off 214 | DataBitsets off 215 | UseTempVars off 216 | ZeroExternalMemoryAtStartup on 217 | ZeroInternalMemoryAtStartup on 218 | InitFltsAndDblsToZero off 219 | NoFixptDivByZeroProtection off 220 | EfficientFloat2IntCast off 221 | EfficientMapNaN2IntZero on 222 | OptimizeModelRefInitCode off 223 | LifeSpan "inf" 224 | MaxStackSize "Inherit from target" 225 | BufferReusableBoundary on 226 | SimCompilerOptimization "Off" 227 | AccelVerboseBuild off 228 | } 229 | Simulink.DebuggingCC { 230 | $ObjectID 5 231 | Version "1.10.0" 232 | RTPrefix "error" 233 | ConsistencyChecking "none" 234 | ArrayBoundsChecking "none" 235 | SignalInfNanChecking "none" 236 | SignalRangeChecking "none" 237 | ReadBeforeWriteMsg "UseLocalSettings" 238 | WriteAfterWriteMsg "UseLocalSettings" 239 | WriteAfterReadMsg "UseLocalSettings" 240 | AlgebraicLoopMsg "warning" 241 | ArtificialAlgebraicLoopMsg "warning" 242 | SaveWithDisabledLinksMsg "warning" 243 | SaveWithParameterizedLinksMsg "warning" 244 | CheckSSInitialOutputMsg on 245 | UnderspecifiedInitializationDetection "Classic" 246 | MergeDetectMultiDrivingBlocksExec "none" 247 | CheckExecutionContextPreStartOutputMsg off 248 | CheckExecutionContextRuntimeOutputMsg off 249 | SignalResolutionControl "UseLocalSettings" 250 | BlockPriorityViolationMsg "warning" 251 | MinStepSizeMsg "warning" 252 | TimeAdjustmentMsg "none" 253 | MaxConsecutiveZCsMsg "error" 254 | MaskedZcDiagnostic "warning" 255 | IgnoredZcDiagnostic "warning" 256 | SolverPrmCheckMsg "warning" 257 | InheritedTsInSrcMsg "warning" 258 | DiscreteInheritContinuousMsg "warning" 259 | MultiTaskDSMMsg "error" 260 | MultiTaskCondExecSysMsg "error" 261 | MultiTaskRateTransMsg "error" 262 | SingleTaskRateTransMsg "none" 263 | TasksWithSamePriorityMsg "warning" 264 | SigSpecEnsureSampleTimeMsg "warning" 265 | CheckMatrixSingularityMsg "none" 266 | IntegerOverflowMsg "warning" 267 | Int32ToFloatConvMsg "warning" 268 | ParameterDowncastMsg "error" 269 | ParameterOverflowMsg "error" 270 | ParameterUnderflowMsg "none" 271 | ParameterPrecisionLossMsg "warning" 272 | ParameterTunabilityLossMsg "warning" 273 | FixptConstUnderflowMsg "none" 274 | FixptConstOverflowMsg "none" 275 | FixptConstPrecisionLossMsg "none" 276 | UnderSpecifiedDataTypeMsg "none" 277 | UnnecessaryDatatypeConvMsg "none" 278 | VectorMatrixConversionMsg "none" 279 | InvalidFcnCallConnMsg "error" 280 | FcnCallInpInsideContextMsg "Use local settings" 281 | SignalLabelMismatchMsg "none" 282 | UnconnectedInputMsg "warning" 283 | UnconnectedOutputMsg "warning" 284 | UnconnectedLineMsg "warning" 285 | SFcnCompatibilityMsg "none" 286 | UniqueDataStoreMsg "none" 287 | BusObjectLabelMismatch "warning" 288 | RootOutportRequireBusObject "warning" 289 | AssertControl "UseLocalSettings" 290 | EnableOverflowDetection off 291 | ModelReferenceIOMsg "none" 292 | ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" 293 | ModelReferenceVersionMismatchMessage "none" 294 | ModelReferenceIOMismatchMessage "none" 295 | ModelReferenceCSMismatchMessage "none" 296 | UnknownTsInhSupMsg "warning" 297 | ModelReferenceDataLoggingMessage "warning" 298 | ModelReferenceSymbolNameMessage "warning" 299 | ModelReferenceExtraNoncontSigs "error" 300 | StateNameClashWarn "warning" 301 | SimStateInterfaceChecksumMismatchMsg "warning" 302 | InitInArrayFormatMsg "warning" 303 | StrictBusMsg "ErrorLevel1" 304 | BusNameAdapt "WarnAndRepair" 305 | NonBusSignalsTreatedAsBus "none" 306 | LoggingUnavailableSignals "error" 307 | BlockIODiagnostic "none" 308 | SFUnusedDataAndEventsDiag "warning" 309 | SFUnexpectedBacktrackingDiag "warning" 310 | SFInvalidInputDataAccessInChartInitDiag "warning" 311 | SFNoUnconditionalDefaultTransitionDiag "warning" 312 | SFTransitionOutsideNaturalParentDiag "warning" 313 | } 314 | Simulink.HardwareCC { 315 | $ObjectID 6 316 | Version "1.10.0" 317 | ProdBitPerChar 8 318 | ProdBitPerShort 16 319 | ProdBitPerInt 32 320 | ProdBitPerLong 32 321 | ProdBitPerFloat 32 322 | ProdBitPerDouble 64 323 | ProdBitPerPointer 32 324 | ProdLargestAtomicInteger "Char" 325 | ProdLargestAtomicFloat "None" 326 | ProdIntDivRoundTo "Undefined" 327 | ProdEndianess "Unspecified" 328 | ProdWordSize 32 329 | ProdShiftRightIntArith on 330 | ProdHWDeviceType "32-bit Generic" 331 | TargetBitPerChar 8 332 | TargetBitPerShort 16 333 | TargetBitPerInt 32 334 | TargetBitPerLong 32 335 | TargetBitPerFloat 32 336 | TargetBitPerDouble 64 337 | TargetBitPerPointer 32 338 | TargetLargestAtomicInteger "Char" 339 | TargetLargestAtomicFloat "None" 340 | TargetShiftRightIntArith on 341 | TargetIntDivRoundTo "Undefined" 342 | TargetEndianess "Unspecified" 343 | TargetWordSize 32 344 | TargetTypeEmulationWarnSuppressLevel 0 345 | TargetPreprocMaxBitsSint 32 346 | TargetPreprocMaxBitsUint 32 347 | TargetHWDeviceType "Specified" 348 | TargetUnknown off 349 | ProdEqTarget on 350 | } 351 | Simulink.ModelReferenceCC { 352 | $ObjectID 7 353 | Version "1.10.0" 354 | UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" 355 | CheckModelReferenceTargetMessage "error" 356 | EnableParallelModelReferenceBuilds off 357 | ParallelModelReferenceErrorOnInvalidPool on 358 | ParallelModelReferenceMATLABWorkerInit "None" 359 | ModelReferenceNumInstancesAllowed "Multi" 360 | PropagateVarSize "Infer from blocks in model" 361 | ModelReferencePassRootInputsByReference on 362 | ModelReferenceMinAlgLoopOccurrences off 363 | PropagateSignalLabelsOutOfModel off 364 | SupportModelReferenceSimTargetCustomCode off 365 | } 366 | Simulink.SFSimCC { 367 | $ObjectID 8 368 | Version "1.10.0" 369 | SFSimEnableDebug on 370 | SFSimOverflowDetection on 371 | SFSimEcho on 372 | SimBlas on 373 | SimCtrlC on 374 | SimExtrinsic on 375 | SimIntegrity on 376 | SimUseLocalCustomCode off 377 | SimParseCustomCode on 378 | SimBuildMode "sf_incremental_build" 379 | } 380 | Simulink.RTWCC { 381 | $BackupClass "Simulink.RTWCC" 382 | $ObjectID 9 383 | Version "1.10.0" 384 | Array { 385 | Type "Cell" 386 | Dimension 7 387 | Cell "IncludeHyperlinkInReport" 388 | Cell "GenerateTraceInfo" 389 | Cell "GenerateTraceReport" 390 | Cell "GenerateTraceReportSl" 391 | Cell "GenerateTraceReportSf" 392 | Cell "GenerateTraceReportEml" 393 | Cell "GenerateSLWebview" 394 | PropName "DisabledProps" 395 | } 396 | SystemTargetFile "grt.tlc" 397 | GenCodeOnly off 398 | MakeCommand "make_rtw" 399 | GenerateMakefile on 400 | TemplateMakefile "grt_default_tmf" 401 | GenerateReport off 402 | SaveLog off 403 | RTWVerbose on 404 | RetainRTWFile off 405 | ProfileTLC off 406 | TLCDebug off 407 | TLCCoverage off 408 | TLCAssert off 409 | ProcessScriptMode "Default" 410 | ConfigurationMode "Optimized" 411 | ConfigAtBuild off 412 | RTWUseLocalCustomCode off 413 | RTWUseSimCustomCode off 414 | IncludeHyperlinkInReport off 415 | LaunchReport off 416 | TargetLang "C" 417 | IncludeBusHierarchyInRTWFileBlockHierarchyMap off 418 | IncludeERTFirstTime off 419 | GenerateTraceInfo off 420 | GenerateTraceReport off 421 | GenerateTraceReportSl off 422 | GenerateTraceReportSf off 423 | GenerateTraceReportEml off 424 | GenerateCodeInfo off 425 | GenerateSLWebview off 426 | RTWCompilerOptimization "Off" 427 | CheckMdlBeforeBuild "Off" 428 | CustomRebuildMode "OnUpdate" 429 | Array { 430 | Type "Handle" 431 | Dimension 2 432 | Simulink.CodeAppCC { 433 | $ObjectID 10 434 | Version "1.10.0" 435 | Array { 436 | Type "Cell" 437 | Dimension 21 438 | Cell "IgnoreCustomStorageClasses" 439 | Cell "IgnoreTestpoints" 440 | Cell "InsertBlockDesc" 441 | Cell "InsertPolySpaceComments" 442 | Cell "SFDataObjDesc" 443 | Cell "MATLABFcnDesc" 444 | Cell "SimulinkDataObjDesc" 445 | Cell "DefineNamingRule" 446 | Cell "SignalNamingRule" 447 | Cell "ParamNamingRule" 448 | Cell "InlinedPrmAccess" 449 | Cell "CustomSymbolStr" 450 | Cell "CustomSymbolStrGlobalVar" 451 | Cell "CustomSymbolStrType" 452 | Cell "CustomSymbolStrField" 453 | Cell "CustomSymbolStrFcn" 454 | Cell "CustomSymbolStrFcnArg" 455 | Cell "CustomSymbolStrBlkIO" 456 | Cell "CustomSymbolStrTmpVar" 457 | Cell "CustomSymbolStrMacro" 458 | Cell "ReqsInCode" 459 | PropName "DisabledProps" 460 | } 461 | ForceParamTrailComments off 462 | GenerateComments on 463 | IgnoreCustomStorageClasses on 464 | IgnoreTestpoints off 465 | IncHierarchyInIds off 466 | MaxIdLength 31 467 | PreserveName off 468 | PreserveNameWithParent off 469 | ShowEliminatedStatement off 470 | IncAutoGenComments off 471 | SimulinkDataObjDesc off 472 | SFDataObjDesc off 473 | MATLABFcnDesc off 474 | IncDataTypeInIds off 475 | MangleLength 1 476 | CustomSymbolStrGlobalVar "$R$N$M" 477 | CustomSymbolStrType "$N$R$M" 478 | CustomSymbolStrField "$N$M" 479 | CustomSymbolStrFcn "$R$N$M$F" 480 | CustomSymbolStrFcnArg "rt$I$N$M" 481 | CustomSymbolStrBlkIO "rtb_$N$M" 482 | CustomSymbolStrTmpVar "$N$M" 483 | CustomSymbolStrMacro "$R$N$M" 484 | DefineNamingRule "None" 485 | ParamNamingRule "None" 486 | SignalNamingRule "None" 487 | InsertBlockDesc off 488 | InsertPolySpaceComments off 489 | SimulinkBlockComments on 490 | MATLABSourceComments off 491 | EnableCustomComments off 492 | InlinedPrmAccess "Literals" 493 | ReqsInCode off 494 | UseSimReservedNames off 495 | } 496 | Simulink.GRTTargetCC { 497 | $BackupClass "Simulink.TargetCC" 498 | $ObjectID 11 499 | Version "1.10.0" 500 | Array { 501 | Type "Cell" 502 | Dimension 16 503 | Cell "GeneratePreprocessorConditionals" 504 | Cell "IncludeMdlTerminateFcn" 505 | Cell "CombineOutputUpdateFcns" 506 | Cell "SuppressErrorStatus" 507 | Cell "ERTCustomFileBanners" 508 | Cell "GenerateSampleERTMain" 509 | Cell "GenerateTestInterfaces" 510 | Cell "ModelStepFunctionPrototypeControlCompliant" 511 | Cell "CPPClassGenCompliant" 512 | Cell "MultiInstanceERTCode" 513 | Cell "PurelyIntegerCode" 514 | Cell "SupportComplex" 515 | Cell "SupportAbsoluteTime" 516 | Cell "SupportContinuousTime" 517 | Cell "SupportNonInlinedSFcns" 518 | Cell "PortableWordSizes" 519 | PropName "DisabledProps" 520 | } 521 | TargetFcnLib "ansi_tfl_table_tmw.mat" 522 | TargetLibSuffix "" 523 | TargetPreCompLibLocation "" 524 | TargetFunctionLibrary "ANSI_C" 525 | UtilityFuncGeneration "Auto" 526 | ERTMultiwordTypeDef "System defined" 527 | ERTCodeCoverageTool "None" 528 | ERTMultiwordLength 256 529 | MultiwordLength 2048 530 | GenerateFullHeader on 531 | GenerateSampleERTMain off 532 | GenerateTestInterfaces off 533 | IsPILTarget off 534 | ModelReferenceCompliant on 535 | ParMdlRefBuildCompliant on 536 | CompOptLevelCompliant on 537 | IncludeMdlTerminateFcn on 538 | GeneratePreprocessorConditionals "Disable all" 539 | CombineOutputUpdateFcns off 540 | CombineSignalStateStructs off 541 | SuppressErrorStatus off 542 | ERTFirstTimeCompliant off 543 | IncludeFileDelimiter "Auto" 544 | ERTCustomFileBanners off 545 | SupportAbsoluteTime on 546 | LogVarNameModifier "rt_" 547 | MatFileLogging on 548 | MultiInstanceERTCode off 549 | SupportNonFinite on 550 | SupportComplex on 551 | PurelyIntegerCode off 552 | SupportContinuousTime on 553 | SupportNonInlinedSFcns on 554 | SupportVariableSizeSignals off 555 | EnableShiftOperators on 556 | ParenthesesLevel "Nominal" 557 | PortableWordSizes off 558 | ModelStepFunctionPrototypeControlCompliant off 559 | CPPClassGenCompliant off 560 | AutosarCompliant off 561 | UseMalloc off 562 | ExtMode off 563 | ExtModeStaticAlloc off 564 | ExtModeTesting off 565 | ExtModeStaticAllocSize 1000000 566 | ExtModeTransport 0 567 | ExtModeMexFile "ext_comm" 568 | ExtModeIntrfLevel "Level1" 569 | RTWCAPISignals off 570 | RTWCAPIParams off 571 | RTWCAPIStates off 572 | GenerateASAP2 off 573 | } 574 | PropName "Components" 575 | } 576 | } 577 | hdlcoderui.hdlcc { 578 | $ObjectID 12 579 | Version "1.10.0" 580 | Description "HDL Coder custom configuration component" 581 | Name "HDL Coder" 582 | Array { 583 | Type "Cell" 584 | Dimension 1 585 | Cell "" 586 | PropName "HDLConfigFile" 587 | } 588 | HDLCActiveTab "0" 589 | } 590 | PropName "Components" 591 | } 592 | Name "Configuration" 593 | CurrentDlgPage "Solver" 594 | ConfigPrmDlgPosition " [ 280, 135, 1160, 765 ] " 595 | } 596 | PropName "ConfigurationSets" 597 | } 598 | Simulink.ConfigSet { 599 | $PropName "ActiveConfigurationSet" 600 | $ObjectID 1 601 | } 602 | BlockDefaults { 603 | ForegroundColor "black" 604 | BackgroundColor "white" 605 | DropShadow off 606 | NamePlacement "normal" 607 | FontName "Helvetica" 608 | FontSize 10 609 | FontWeight "normal" 610 | FontAngle "normal" 611 | ShowName on 612 | BlockRotation 0 613 | BlockMirror off 614 | } 615 | AnnotationDefaults { 616 | HorizontalAlignment "center" 617 | VerticalAlignment "middle" 618 | ForegroundColor "black" 619 | BackgroundColor "white" 620 | DropShadow off 621 | FontName "Helvetica" 622 | FontSize 10 623 | FontWeight "normal" 624 | FontAngle "normal" 625 | UseDisplayTextAsClickCallback off 626 | } 627 | LineDefaults { 628 | FontName "Helvetica" 629 | FontSize 9 630 | FontWeight "normal" 631 | FontAngle "normal" 632 | } 633 | BlockParameterDefaults { 634 | } 635 | System { 636 | Name "Untitled1" 637 | Location [480, 92, 1016, 386] 638 | Open off 639 | ModelBrowserVisibility off 640 | ModelBrowserWidth 200 641 | ScreenColor "white" 642 | PaperOrientation "landscape" 643 | PaperPositionMode "auto" 644 | PaperType "A4" 645 | PaperUnits "centimeters" 646 | TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] 647 | TiledPageScale 1 648 | ShowPageBoundaries off 649 | ZoomFactor "100" 650 | ReportName "simulink-default.rpt" 651 | } 652 | } 653 | -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/NLSEF_2fal.asv: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=NLSEF_2fal(t,x,u,flag,Beta1,A1,Beta2,A2,Delta) 2 | 3 | switch flag 4 | case 0 5 | [sys,x0,str,ts]=mdlInitializeSizes; 6 | case 1 7 | sys=mdlDerivatives; 8 | case 3 9 | sys=mdlOutputs(Beta1,A1,Beta2,A2,Delta); 10 | case {2,4,9} 11 | sys=[]; 12 | otherwise 13 | error(['Unhandled flag=',num2str(flag)]); 14 | end 15 | function [sys,x0,str,ts]=mdlInitializeSizes 16 | sizes=simsizes; 17 | sizes.NumContStates=0; 18 | sizes.NumDiscStates=0; 19 | sizes.NumOutputs=1; 20 | sizes.NumInputs=2; 21 | sizes.DirFeedthrough=1; 22 | sizes.NumSampleTimes=1; 23 | sys=simsizes(sizes); 24 | x0=[0;0;0]; 25 | str=[]; 26 | ts=[-1 0]; 27 | 28 | function sys=mdlOutputs(Beta1,A1,Beta2,A2,Delta) 29 | sys=Beta1*fal(u(1),A1,Delta)+Beta2*fal(u(2),A2,Delta); 30 | 31 | 32 | -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/NLSEF_2fal.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts]=NLSEF_2fal(t,x,u,flag,Beta1,A1,Beta2,A2,Delta) 2 | 3 | switch flag 4 | case 0 5 | [sys,x0,str,ts]=mdlInitializeSizes; 6 | case 1 7 | sys=mdlDerivatives; 8 | case 3 9 | sys=mdlOutputs(u,Beta1,A1,Beta2,A2,Delta); 10 | case 4, 11 | sys=mdlGetTimeOfNextVarHit(t,H); 12 | case {2,9} 13 | sys=[]; 14 | otherwise 15 | error(['Unhandled flag=',num2str(flag)]); 16 | end 17 | function [sys,x0,str,ts]=mdlInitializeSizes 18 | sizes=simsizes; 19 | sizes.NumContStates=0; 20 | sizes.NumDiscStates=0; 21 | sizes.NumOutputs=1; 22 | sizes.NumInputs=2; 23 | sizes.DirFeedthrough=1; 24 | sizes.NumSampleTimes=1; 25 | sys=simsizes(sizes); 26 | x0=[]; 27 | str=[]; 28 | ts=[-1 0]; 29 | 30 | function sys=mdlOutputs(u,Beta1,A1,Beta2,A2,Delta) 31 | sys=Beta1*fal(u(1),A1,Delta)+Beta2*fal(u(2),A2,Delta); 32 | function f=fal(e,a,d) 33 | if abs(e)" 618 | } 619 | YMin "-4e+014" 620 | YMax "5e+014" 621 | DataFormat "StructureWithTime" 622 | LimitDataPoints off 623 | } 624 | Block { 625 | BlockType Scope 626 | Name "Scope1" 627 | Ports [1] 628 | Position [370, 129, 400, 161] 629 | Location [5, 56, 1021, 729] 630 | Open off 631 | NumInputPorts "1" 632 | List { 633 | ListType AxesTitles 634 | axes1 "%" 635 | } 636 | YMin "2.77556e-017" 637 | YMax "1" 638 | SaveName "ScopeData1" 639 | DataFormat "StructureWithTime" 640 | LimitDataPoints off 641 | } 642 | Block { 643 | BlockType TransferFcn 644 | Name "Transfer Fcn" 645 | Position [655, 232, 785, 288] 646 | Numerator "[1.5]" 647 | Denominator "conv([10 1],[10 1])" 648 | } 649 | Line { 650 | SrcBlock "S-Function1" 651 | SrcPort 1 652 | Points [0, 0; 50, 0] 653 | Branch { 654 | Points [0, 185; -305, 0; 0, -145] 655 | DstBlock "Mux" 656 | DstPort 3 657 | } 658 | Branch { 659 | DstBlock "Add1" 660 | DstPort 2 661 | } 662 | } 663 | Line { 664 | SrcBlock "Transfer Fcn" 665 | SrcPort 1 666 | Points [0, 0; 20, 0] 667 | Branch { 668 | Points [0, 250; -650, 0; 0, -245] 669 | DstBlock "Mux" 670 | DstPort 2 671 | } 672 | Branch { 673 | DstBlock "Scope" 674 | DstPort 1 675 | } 676 | } 677 | Line { 678 | SrcBlock "Mux" 679 | SrcPort 1 680 | Points [0, 0] 681 | DstBlock "S-Function1" 682 | DstPort 1 683 | } 684 | Line { 685 | SrcBlock "S-Function" 686 | SrcPort 1 687 | Points [0, 0; 85, 0] 688 | Branch { 689 | DstBlock "Mux" 690 | DstPort 1 691 | } 692 | Branch { 693 | Points [0, -80] 694 | DstBlock "Scope1" 695 | DstPort 1 696 | } 697 | } 698 | Line { 699 | SrcBlock "Constant2" 700 | SrcPort 1 701 | Points [20, 0; 0, 60] 702 | DstBlock "Add1" 703 | DstPort 1 704 | } 705 | Line { 706 | SrcBlock "Add1" 707 | SrcPort 1 708 | Points [0, 0] 709 | DstBlock "Transfer Fcn" 710 | DstPort 1 711 | } 712 | } 713 | } 714 | -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/adrc2/fal.m: -------------------------------------------------------------------------------- 1 | function f=fal(e,a,d) 2 | 3 | %if a>=1 | a<=0 4 | % error('a must satisfy 0b 3 | y=1; 4 | elseif xd0 7 | a=x2+(a0-d)*sign(y)/2; 8 | else 9 | a=x2+y/h; 10 | end 11 | 12 | if abs(a)>d 13 | y=-r*sign(a); 14 | else 15 | y=-r*a/d; 16 | end -------------------------------------------------------------------------------- /贺庆毕业论文ADRC全集包仅用于内部共享不要外传/MyLibrary/function/fsg.asv: -------------------------------------------------------------------------------- 1 | function y=fsg(x,a,b) 2 | if x>b 3 | y=0; 4 | elseif xb 3 | y=0; 4 | elseif xb 3 | y=1; 4 | elseif x