Clear Filters
Clear Filters

Input definition in "MATLAB System" block not necessary?

2 views (last 30 days)
Looking at a MATLAB System block that I wrote a while ago, I noticed that I didn't properly specify the inputs. The code works but I don't remember why I did it this way or if it could create a problem at some point. The functions getInputDataTypeImpl, isInputComplexImpl and isInputFixedSizeImpl only have one element, instead of seven.
Does Matlab automatically copy the settings for the other six inputs?
function num = getNumInputsImpl(~) % Number of inputs
num = 7;
function num = getNumOutputsImpl(~) % Number of outputs
num = 8;
function [dt1, dt2, dt3, dt4, dt5, dt6, dt7, dt8] = getOutputDataTypeImpl(~) % Output data type
dt1 = 'double';
dt2 = 'double';
dt3 = 'double';
dt4 = 'double';
dt5 = 'double';
dt6 = 'double';
dt7 = 'double';
dt8 = 'double';
function dt1 = getInputDataTypeImpl(~) % Input data type
dt1 = 'double';
function [sz1, sz2, sz3, sz4, sz5, sz6, sz7, sz8] = getOutputSizeImpl(obj) % Output dimensions
sz1 = [1, obj.nIn];
sz2 = [obj.N+1, obj.nState];
sz3 = [obj.N, obj.nOut];
sz4 = [obj.N, obj.nIn];
sz5 = [obj.N, 1];
sz6 = [obj.N, 1];
sz7 = [obj.N, 1];
sz8 = [1, obj.nOut];
function [sz1, sz2, sz3, sz4, sz5, sz6, sz7] = getInputSizeImpl(obj) % Input dimensions
sz1 = [obj.nState, 1];
sz2 = [obj.N, obj.nDst];
sz3 = [obj.N, 1];
sz4 = [obj.N, 1];
sz5 = [obj.N, 1];
sz6 = [obj.N, 1];
sz7 = [1, 1];
function cp1 = isInputComplexImpl(~) % Inputs are complex numbers?
cp1 = false;
function [cp1, cp2, cp3, cp4, cp5, cp6, cp7, cp8] = isOutputComplexImpl(~) % Outputs are complex numbers?
cp1 = false;
cp2 = false;
cp3 = false;
cp4 = false;
cp5 = false;
cp6 = false;
cp7 = false;
cp8 = false;
function fz1 = isInputFixedSizeImpl(~) % Input fixed size?
fz1 = true;
function [fz1, fz2, fz3, fz4, fz5, fz6, fz7, fz8] = isOutputFixedSizeImpl(~) % Output fixed size?
fz1 = true;
fz2 = true;
fz3 = true;
fz4 = true;
fz5 = true;
fz6 = true;
fz7 = true;
fz8 = true;

Answers (1)

Prateekshya on 26 Sep 2023
Hi Manu,
As per my understanding you want to know the usage of "tilde" (~) in MATLAB function arguments.
This operator is used for the unused input arguments. The corresponding input arguments, which are replaced by "tilde" (~) are ignored. For more information you can follow this link:
I hope this helps!


Find more on Introduction to Installation and Licensing 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!