integration using s-functions in simulink
Show older comments
function task1(block)
setup(block);
function setup(block)
block.NumDialogPrms = 3;
block.DialogPrmsTunable={'a','b','c'};
block.NumInputPorts = 1;
block.NumOutputPorts = 1;
block.SetPreCompInpPortInfoToDynamic;
block.SetPreCompOutPortInfoToDynamic;
block.InputPort(1).Dimensions = 1;
block.InputPort(1).DirectFeedthrough = false;
block.OutputPort(1).Dimensions = 1;
block.SampleTimes = [0 0];
block.NumContStates = 1;
block.SimStateCompliance = 'DefaultSimState';
block.RegBlockMethod('InitializeConditions', @InitConditions);
block.RegBlockMethod('Outputs', @Output);
block.RegBlockMethod('Derivatives', @Derivative);
function InitConditions(block)
block.ContStates.Data = block.DialogPrm(3).Data;
function Output(block)
block.OutputPort(1).Data = block.ContStates.Data;
function Derivative(block)
a = block.DialogPrm(1).Data;
b = block.DialogPrm(2).Data;
c = block.DialogPrm(3).Data;
if (block.ContStates.Data <= a && c < 0) || (block.ContStates.Data >= b && c > 0)
block.Derivatives.Data = 0;
else
block.Derivatives.Data = c;
end
this is my code for making s-function written in script file ".m" format. it is giving the following errors-
1.Invalid setting specified for the tunability of the dialog parameters of 'task1' in 'untitled/integration'. The tunability for dialog parameters should be a [1x3] cell array of the form {'Tunable','Nontunable','SimOnlyTunable',...}.
2.Error evaluating the initialization for M-S-Function 'task1'. Invalid setting specified for the tunability of the dialog parameters of 'task1' in 'untitled/integration'. The tunability for dialog parameters should be a [1x3] cell array of the form {'Tunable','Nontunable','SimOnlyTunable',...}. The following is the MATLAB call stack (file names and line numbers) that produced this error:
['C:\Users\Admin\Downloads\The Grand Design - Stephen Hawking (Audiobook) [128k mp3] politux\task1.m'] [8]
['C:\Users\Admin\Downloads\The Grand Design - Stephen Hawking (Audiobook) [128k mp3] politux\task1.m'] [2]
how do i resolve this problem?? thanks.
Answers (1)
Kaustubha Govind
on 17 Feb 2012
0 votes
block.DialogPrmsTunable must be a cell-array that contains any of the following strings: 'Tunable','Nontunable','SimOnlyTunable'. You cannot say:
block.DialogPrmsTunable={'a','b','c'};
'a', 'b' and 'c' are not valid strings.
Categories
Find more on Naming Conventions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!