Main Content

isOutputComplex

Check if outputs of a System object are complex

    Description

    [cp_1, cp_2, ..., cp_n] = isOutputComplex(obj) returns whether each output of a System object™ is complex. The number of outputs must match the number of outputs returned by the getNumOutputs method.

    example

    Examples

    collapse all

    Call isOutputComplex to check if the outputs of a System object are complex.

    Consider a System object object defined as,

    classdef UnitDelay < matlab.System
    % UnitDelayNondirect Delay input by one time step
    
    properties(DiscreteState)
            State
            Step
    end
    
        methods(Access = protected)
            function resetImpl(obj)
                obj.State = 0; % Initialize states
                obj.Step = 1;
            end
           
            function [y1, y2] = stepImpl(obj,u)
                y1 = obj.State; % Output current state
                y2 = obj.Step; 
                
                obj.State = u;
                obj.Step = obj.Step + 1; 
            end
    
            function [sz1, sz2] = getOutputSizeImpl(obj)
                sz1 = [1,1]; % Specify size of output port
                sz2 = [1,1]; 
            end
    
            function [flag1, flag2] = isOutputFixedSizeImpl(obj)
                flag1 = true; % Specify if output is fized size
                flag2 = true;
            end
    
            function [c1, c2] = getOutputDataTypeImpl(obj)
                c1 = 'double'; % Specify output datatype
                c2 = 'double'; 
            end 
    
            function [c1, c2] = isOutputComplexImpl(obj)
                c1 = false;   % Specify if output is complex
                c2 = false; 
            end
        end
    
    end

    Create an instance of the System object and provide it with an input.

    a = UnitDelay();
    [out, step] = a(1);

    Call isOutputComplex to check if the outputs of the System object are complex.

    [cp_1, cp2_2] = isOutputComplex(a);

    Input Arguments

    collapse all

    System object handle used to access properties, states, and methods specific to the object.

    Output Arguments

    collapse all

    Logical, scalar value indicating whether the specific output port is complex. true is returned if output is complex and false is returned if output is real.

    Version History

    Introduced in R2012a