Skip to content
Product.md

Product ​

Multiplies two input signals and outputs their product.

The Product component multiplies two input signals, producing a single output that is the result of u1*u2. This is a fundamental mathematical operation used in many control and signal processing applications.

This component extends from SI2SO

Usage ​

BlockComponents.Product()

Connectors ​

  • u1 - This connector represents a real signal as an input to a component (RealInput)

  • u2 - This connector represents a real signal as an input to a component (RealInput)

  • y - This connector represents a real signal as an output from a component (RealOutput)

Behavior ​

y(t)=u1(t)u2(t)

Source ​

dyad
"""
Multiplies two input signals and outputs their product.

The Product component multiplies two input signals, producing a single output
that is the result of u1*u2. This is a fundamental mathematical operation used in many control and signal
processing applications.
"""
component Product
  extends SI2SO
relations
  "Calculates the output as the product of the two input signals"
  y = u1 * u2
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://BlockComponents/Product.svg"}
  }
}
end
Flattened Source
dyad
"""
Multiplies two input signals and outputs their product.

The Product component multiplies two input signals, producing a single output
that is the result of u1*u2. This is a fundamental mathematical operation used in many control and signal
processing applications.
"""
component Product
  "First real-valued input signal"
  u1 = RealInput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": -50, "y1": 150, "x2": 50, "y2": 250, "rot": 0},
        "diagram": {"iconName": "default", "x1": -100, "y1": 150, "x2": 0, "y2": 250, "rot": 0}
      }
    }
  }
  "Second real-valued input signal"
  u2 = RealInput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": -100, "y1": 750, "x2": 0, "y2": 850, "rot": 0},
        "diagram": {"iconName": "default", "x1": -100, "y1": 750, "x2": 0, "y2": 850, "rot": 0}
      }
    }
  }
  "Real-valued output signal"
  y = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 1000, "y1": 450, "x2": 1100, "y2": 550, "rot": 0},
        "diagram": {"iconName": "default", "x1": 1000, "y1": 450, "x2": 1100, "y2": 550, "rot": 0}
      }
    }
  }
relations
  "Calculates the output as the product of the two input signals"
  y = u1 * u2
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://BlockComponents/Product.svg"}
  }
}
end


Test Cases ​

No test cases defined.