Simulink.Bus.cellToObject
Create Simulink.Bus objects from cell array of bus
information
Description
Examples
This example shows how to create and use a cell array to generate Simulink.Bus objects in the base workspace.
To define the elements that the Simulink.Bus object contains, create an array of Simulink.BusElement objects or a cell array of the property values for the Simulink.BusElement objects.
When you define the elements in an array, specify the values that differ from the default.
elementsArray(1) = Simulink.BusElement; elementsArray(2) = Simulink.BusElement; elementsArray(2).Name = "b"; elementsArray(2).Min = -3; elementsArray(2).Max = 3; elementsArray(2).Unit = "m";
When you define the elements in a cell array of property values, specify the element name, dimensions, data type, complexity, and sampling mode. Optionally, specify the dimensions mode, minimum, maximum, units, and description.
elementsCellArray = {{'a',1,'double','real','Sample'}; ...
{'b',1,'double','real','Sample','Fixed',-3,3,'m',''}};In this example, elementsArray and elementsCellArray create identical Simulink.BusElement objects.
To create multiple Simulink.Bus objects at once, create a cell array with two subordinate cell arrays that define the Simulink.Bus objects. For each Simulink.Bus object, specify the bus name, header file, description, data scope, alignment, preservation of element dimensions, and elements.
busCell = {{'BusObjArray','','','Auto','-1','0',elementsArray}, ...
{'BusObjCellArray','','','Auto','-1','0',elementsCellArray}};Create the Simulink.Bus objects in the base workspace from the cell array of cell arrays.
Simulink.Bus.cellToObject(busCell)
To compare the Simulink.Bus objects, open the Type Editor.
typeeditor

The Simulink.Bus objects are identical other than their names.
Input Arguments
Bus information, specified as a cell array of cell arrays. Each
subordinate cell array must contain this Simulink.Bus
object information:
Bus name
Header file
Description
Data scope
Alignment
Preserve element dimensions
Elements
The elements field must contain arrays or cell arrays with this
information for each of the Simulink.BusElement objects
that the Simulink.Bus object references:
Element name
Dimensions
Data type
Sample time (optional) — If you specify a sample time, specify an inherited sample time (
-1). A noninherited sample time causes an error during model compilation. For more information, see Simulink.BusElement objects no longer support the SampleTime property.Complexity
Sampling mode
The elements field arrays or cell arrays can also contain this information:
Dimensions mode
Minimum
Maximum
Units
Description
Data dictionary, specified as a Simulink.data.Dictionary
object. Before you use this argument, represent the dictionary with a
Simulink.data.Dictionary
object by using, for example, the Simulink.data.dictionary.create or Simulink.data.dictionary.open function.
If scope is empty, the function uses the MATLAB base workspace as the source of the
Simulink.Bus objects.
Tips
The inverse function is Simulink.Bus.objectToCell.
Version History
Introduced before R2006aThe SampleTime property of Simulink.BusElement
objects is no longer supported.
BusElement objects that specify a sample time cause an error during
compile. To remove the sample time specification from a BusElement object,
set its SampleTime to -1.
Simulink.Bus.cellToObject continues to accept cell arrays that
specify sample time for bus elements. Simulink.Bus.objectToCell,
Simulink.Bus.save, and Simulink.Bus.createObject
continue to return cell arrays or arrays that include the sample time when it is noninherited.
When the sample time is inherited (-1), they omit it. Similarly, the
Type Editor and Model Explorer omit the sample time when it is
inherited.
To specify the sample time for an element of a bus, use the
SampleTime block parameter of corresponding blocks. For example,
you can use In Bus Element, Out Bus Element, and Signal
Specification blocks to specify sample time.
The SamplingMode property of Simulink.BusElement
objects has been removed. Scripts that use the SamplingMode property of
Simulink.BusElement objects continue to work. The
Simulink.Bus.cellToObject function continues to require the
SamplingMode field. The
Simulink.Bus.objectToCell function continues to include the
sampling mode in the output cell arrays. When you save Simulink.Bus object
definitions to functions that use cell arrays, the cell arrays continue to include the
sampling mode.
In a future release, support for the SamplingMode property will be
removed.
To specify whether a signal is sample-based or frame-based, define the sampling mode of input signals at the block level instead of at the signal level.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)