Category: Matlab
Category Archives: Matlab
ReqIF import error: Type ‘xhtml:p’ has not been found in the registry
Hi,
When I tried to import requirements from a ReqIF file in Requirement Editor, the GUI reports:
"Invalid ReqIF file. Error details: Type ‘xhtml:p’ has not been found in the registry."
Is this class unsupported? It seems ‘xhtml:div’ is supported.
<?xml version="1.0"?>
<REQ-IF xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<THE-HEADER>
<REQ-IF-HEADER IDENTIFIER="_q6t8q2X9fb2Cn5jN20LdqZHL1Ir3a98">
<CREATION-TIME>2024-06-14T09:29:39Z</CREATION-TIME>
<REQ-IF-TOOL-ID>Cradle WorkBench</REQ-IF-TOOL-ID>
<REQ-IF-VERSION>1.0</REQ-IF-VERSION>
<SOURCE-TOOL-ID>Cradle WorkBench</SOURCE-TOOL-ID>
<TITLE>Cradle WorkBench ReqIF Export</TITLE>
</REQ-IF-HEADER>
</THE-HEADER>
<CORE-CONTENT>
<REQ-IF-CONTENT>
<DATATYPES>
<DATATYPE-DEFINITION-BOOLEAN IDENTIFIER="_84299a2QOHS4ze5rNPVcDu6PxkacqeY" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_BOOLEAN"/>
<DATATYPE-DEFINITION-INTEGER IDENTIFIER="_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_INTEGER" MIN="-2147483648" MAX="2147483647"/>
<DATATYPE-DEFINITION-STRING IDENTIFIER="_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_STRING" MAX-LENGTH="1000"/>
<DATATYPE-DEFINITION-DATE IDENTIFIER="_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_DATE"/>
<DATATYPE-DEFINITION-REAL IDENTIFIER="_46w33R6Ha3U7vy8YwqDYu4J1bPiEKm2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_REAL" MIN="-1.08310167E17" MAX="1.08310167E17" ACCURACY="10"/>
<DATATYPE-DEFINITION-XHTML IDENTIFIER="_2sYqJFs3WkJJz00VB8ft277UnTheTp5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_XHTML"/>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_jBW99EoOLIuwDLscUmG3anZjUORjqMu" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_QoLKIC6P9valnJX52LoHh7fW2InMG2h" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Certification">
<PROPERTIES>
<EMBEDDED-VALUE KEY="0" OTHER-CONTENT="Certification"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_nl9it9bDq99s7pdgnf801qH5arRPH3i" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Environment">
<PROPERTIES>
<EMBEDDED-VALUE KEY="1" OTHER-CONTENT="Environment"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_78z6p673bV0G16hC0Ca8emSA6zJr48g" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Human Factors">
<PROPERTIES>
<EMBEDDED-VALUE KEY="2" OTHER-CONTENT="Human Factors"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_VF2V0IFEREXOqsPcrv2vny0TS8548iR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Infrastructure">
<PROPERTIES>
<EMBEDDED-VALUE KEY="3" OTHER-CONTENT="Infrastructure"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_S0P8HEm4sf0ZVtth82L8AJPtSY9Ng5Z" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Operational">
<PROPERTIES>
<EMBEDDED-VALUE KEY="4" OTHER-CONTENT="Operational"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_Q9PQy2cr2hn09S14orL420GQvm481AN" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Other">
<PROPERTIES>
<EMBEDDED-VALUE KEY="5" OTHER-CONTENT="Other"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_tQdUgsdBFSjnaNZsI04DM0Ok9Lh3aKZ" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Safety">
<PROPERTIES>
<EMBEDDED-VALUE KEY="6" OTHER-CONTENT="Safety"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_1E9z461lHgmgF9pXPK355chQ2Uy9vDR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Accepted">
<PROPERTIES>
<EMBEDDED-VALUE KEY="7" OTHER-CONTENT="Accepted"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_p6CI770i4yb5Rg2e4zC4L5x5D5k78h0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Agreed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="8" OTHER-CONTENT="Agreed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_3DU39sZMeOe3MaocMf3hQYbHo8Ud0z6" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Candidate">
<PROPERTIES>
<EMBEDDED-VALUE KEY="9" OTHER-CONTENT="Candidate"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_w2kfxbdJt4VWq59lljb9X37be9CLFuM" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Closed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="10" OTHER-CONTENT="Closed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_T4Uoz8RI8wON0QU0HJRFuQm9Mv0K2xB" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Disputed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="11" OTHER-CONTENT="Disputed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_2E45Kk7x847Qn732CWqp7poNMqG6Gq7" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Rejected">
<PROPERTIES>
<EMBEDDED-VALUE KEY="12" OTHER-CONTENT="Rejected"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_x11s6CtBX9U3vz7fgjOSXbJ5NWhE25V" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Review">
<PROPERTIES>
<EMBEDDED-VALUE KEY="13" OTHER-CONTENT="Review"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_ib9j5eojQk36UyOqccVzbo0EjPFN0O5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Reviewed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="14" OTHER-CONTENT="Reviewed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_4xy2FifD0MPu0uJhBXnGgy9D0H9HYqC" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Suspect">
<PROPERTIES>
<EMBEDDED-VALUE KEY="15" OTHER-CONTENT="Suspect"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="TBD">
<PROPERTIES>
<EMBEDDED-VALUE KEY="16" OTHER-CONTENT="TBD"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_QGd1NTcOY6177TmX7C9t5gM4gc5Zkyy" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Assembly">
<PROPERTIES>
<EMBEDDED-VALUE KEY="17" OTHER-CONTENT="Assembly"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_3t7qe6E5L0CZl8rtxW3Q3n7weKu71zn" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Component">
<PROPERTIES>
<EMBEDDED-VALUE KEY="18" OTHER-CONTENT="Component"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_PNcwOu7g2OALpXpJ5uPNgr1dheKM52J" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Sub-System">
<PROPERTIES>
<EMBEDDED-VALUE KEY="19" OTHER-CONTENT="Sub-System"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_JLUOkrJj5otC4zZ3mx2r2z6gx3tD8nM" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="System">
<PROPERTIES>
<EMBEDDED-VALUE KEY="20" OTHER-CONTENT="System"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_6S937HlnVg21zU1VSQTosz9FE35QiXE" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Unit">
<PROPERTIES>
<EMBEDDED-VALUE KEY="21" OTHER-CONTENT="Unit"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
</DATATYPES>
<SPEC-TYPES>
<SPECIFICATION-TYPE IDENTIFIER="_vQSPiJp854ACfaHoeq15TQYwMLWz1n8" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_SBS">
<SPEC-ATTRIBUTES>
<ATTRIBUTE-DEFINITION-INTEGER IDENTIFIER="_tFmqTCfkJ6PTFzh7jFWA57Dv3Os2E24" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Security" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-INTEGER-REF>_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r</DATATYPE-DEFINITION-INTEGER-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-INTEGER>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_TCh66m4v824r71lGRyy7yMsJ363O3x9" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Baseline" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_tSnd3D7UWvPXGNwAOAmNmgJw2PEt8zc" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Comment" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_fbT7sNm4Mtw9s6UKdZquJ0ZoL1926ww" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Draft" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_7R99v1K59528lT46nMOTAhoU2P0GEsG" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Group" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_gJ1Zjn4yA397191ETrxSrQH7Mon3sqP" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Identity" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_kAFI67n1VQtO8PdZhaZjC6EZ35IfV7J" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Key" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_W1Y3xSQWl9BvaQFI7GEFb9KvgqiWxng" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Owner" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_VLY5NqVfgiRj59wBJhBnZh6bsjF1RQR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Status" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_818F5C9Nq62Xy8fbM8Em7opsQP072XH" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Description" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_buiEkw962FbT8I7JXFi9mhp89M30w6C" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_64EBqYYU2Eixx6lAXk6vI65U5RtG1k0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_4H9gtsGhrcmKuS1Ux2fr9tyGs89lih2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Name" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_sN72WNhUBpKQ8D1LD51UnNn2H9l4lLv" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Revision" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_N6Bzv3Q3L3i7eVbs0F122xIvjGR9AUj" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_45RzThwGKnD8SZvyi4JdPLtsXn1AbxE" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-XHTML IDENTIFIER="_I6eUj6J37gilfR4U4i4P9rqFfPwp8j0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_TEXT" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-XHTML-REF>_2sYqJFs3WkJJz00VB8ft277UnTheTp5</DATATYPE-DEFINITION-XHTML-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-XHTML>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_4DZHRGS14YD6C9odZwGkhIZq0zg6Jf9" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_jBW99EoOLIuwDLscUmG3anZjUORjqMu</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_w0gAFngtw8hP9Hg7NmBG5CZ52ua9Vbi" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_AbYG0a0tTMeTjl4fh9oM6XcG137ecD5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
</SPEC-ATTRIBUTES>
</SPECIFICATION-TYPE>
<SPEC-OBJECT-TYPE IDENTIFIER="_AgI3y7P4M8m411dH6Q795ME0DZwTKaX" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="SBS Object">
<SPEC-ATTRIBUTES>
<ATTRIBUTE-DEFINITION-INTEGER IDENTIFIER="_1l0lJn06F3AWKxHUHk6OvEFv1WPnv4y" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Security" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-INTEGER-REF>_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r</DATATYPE-DEFINITION-INTEGER-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-INTEGER>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_ASI470eOS7l88FS29m423AK3Fb67TDu" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Baseline" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_3U7p471015q2eAnmUyr2Q4X9slP6ES3" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Comment" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_301an5l6kiJ32p3793U8FZ30WhL3ggQ" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Draft" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_lT99Dzp9ZmNd3F8u0VdGxECoKT3JM13" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Group" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_2c6QWPXaO9axWk7frkrufvrTGbH0K5o" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Identity" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_2oeT0PltW9BT2Ys9mi19oe97qmzEqAK" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Key" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_DQHhey19gxG5uC6ux9wZ9Iyb0wYcuWF" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Owner" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_7GL4XMKuT575NDBKBj5Ko40XIOuxKl7" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Status" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_jIEt1w4JIIgDdiaT89O9aqX3Qk7k2hT" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Description" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_tK2h5SKKl0M5ZzDm8zz76r08U57Z6Tq" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_4OCaZI6s2ghFTPzGG7g142XaYHVfexq" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_vxr2q82qOn331rcpvk2NrvRIoDc6Mb4" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Name" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_9kKFanMjOhM70uRjYnu9gyPG9Rfo8U2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Revision" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_rReqE1sJwCI7jfsDUt3JT4p1pVMor4i" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_cYb0I2ulY2QfIY8I6y27Axus3R3Ty4z" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-XHTML IDENTIFIER="_enYtQsY5enrFcsjWXPt1v352jB4tG3S" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_TEXT" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-XHTML-REF>_2sYqJFs3WkJJz00VB8ft277UnTheTp5</DATATYPE-DEFINITION-XHTML-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-XHTML>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_4eH16HONInN5Mq3FafqPJK2ygJy2lCI" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_jBW99EoOLIuwDLscUmG3anZjUORjqMu</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_073U9h0mvX598gvxwM6DEn48B1vf5bC" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_zD8CWQua7K735m31eL0dNQDU08GrqZS" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
</SPEC-ATTRIBUTES>
</SPEC-OBJECT-TYPE>
</SPEC-TYPES>
<SPEC-OBJECTS>
<SPEC-OBJECT IDENTIFIER="_8Eu7x9U5M25j17D5SOipCMblruhXvsI" LAST-CHANGE="2024-06-14T09:29:39Z">
<VALUES>
<ATTRIBUTE-VALUE-INTEGER THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-INTEGER-REF>_1l0lJn06F3AWKxHUHk6OvEFv1WPnv4y</ATTRIBUTE-DEFINITION-INTEGER-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-INTEGER>
<ATTRIBUTE-VALUE-STRING THE-VALUE="A">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_301an5l6kiJ32p3793U8FZ30WhL3ggQ</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="SBS-2">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_2c6QWPXaO9axWk7frkrufvrTGbH0K5o</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="1.1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_2oeT0PltW9BT2Ys9mi19oe97qmzEqAK</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_DQHhey19gxG5uC6ux9wZ9Iyb0wYcuWF</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_tK2h5SKKl0M5ZzDm8zz76r08U57Z6Tq</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_4OCaZI6s2ghFTPzGG7g142XaYHVfexq</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="aaa-2">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_vxr2q82qOn331rcpvk2NrvRIoDc6Mb4</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:22:18Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_rReqE1sJwCI7jfsDUt3JT4p1pVMor4i</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:22:27Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_cYb0I2ulY2QfIY8I6y27Axus3R3Ty4z</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-ENUMERATION>
<VALUES>
<ENUM-VALUE-REF>_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w</ENUM-VALUE-REF>
</VALUES>
<DEFINITION>
<ATTRIBUTE-DEFINITION-ENUMERATION-REF>_073U9h0mvX598gvxwM6DEn48B1vf5bC</ATTRIBUTE-DEFINITION-ENUMERATION-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-ENUMERATION>
</VALUES>
<TYPE>
<SPEC-OBJECT-TYPE-REF>_AgI3y7P4M8m411dH6Q795ME0DZwTKaX</SPEC-OBJECT-TYPE-REF>
</TYPE>
</SPEC-OBJECT>
</SPEC-OBJECTS>
<SPEC-RELATIONS/>
<SPECIFICATIONS>
<SPECIFICATION IDENTIFIER="_TpnzVbw83eLu17T6JDvfqJMZ9g8ZqTn" LAST-CHANGE="2024-06-14T09:29:39Z">
<VALUES>
<ATTRIBUTE-VALUE-INTEGER THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-INTEGER-REF>_tFmqTCfkJ6PTFzh7jFWA57Dv3Os2E24</ATTRIBUTE-DEFINITION-INTEGER-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-INTEGER>
<ATTRIBUTE-VALUE-STRING THE-VALUE="A">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_fbT7sNm4Mtw9s6UKdZquJ0ZoL1926ww</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="SBS-1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_gJ1Zjn4yA397191ETrxSrQH7Mon3sqP</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_kAFI67n1VQtO8PdZhaZjC6EZ35IfV7J</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_W1Y3xSQWl9BvaQFI7GEFb9KvgqiWxng</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_buiEkw962FbT8I7JXFi9mhp89M30w6C</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_64EBqYYU2Eixx6lAXk6vI65U5RtG1k0</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="aaa-1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_4H9gtsGhrcmKuS1Ux2fr9tyGs89lih2</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:21:45Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_N6Bzv3Q3L3i7eVbs0F122xIvjGR9AUj</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:28:51Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_45RzThwGKnD8SZvyi4JdPLtsXn1AbxE</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-XHTML>
<THE-VALUE>
<xhtml:p>bbbb</xhtml:p>
</THE-VALUE>
<DEFINITION>
<ATTRIBUTE-DEFINITION-XHTML-REF>_I6eUj6J37gilfR4U4i4P9rqFfPwp8j0</ATTRIBUTE-DEFINITION-XHTML-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-XHTML>
<ATTRIBUTE-VALUE-ENUMERATION>
<VALUES>
<ENUM-VALUE-REF>_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w</ENUM-VALUE-REF>
</VALUES>
<DEFINITION>
<ATTRIBUTE-DEFINITION-ENUMERATION-REF>_w0gAFngtw8hP9Hg7NmBG5CZ52ua9Vbi</ATTRIBUTE-DEFINITION-ENUMERATION-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-ENUMERATION>
</VALUES>
<TYPE>
<SPECIFICATION-TYPE-REF>_vQSPiJp854ACfaHoeq15TQYwMLWz1n8</SPECIFICATION-TYPE-REF>
</TYPE>
<CHILDREN>
<SPEC-HIERARCHY IDENTIFIER="_VW48dBKJi53B2g4jLip3S4TskxmQwGb" LAST-CHANGE="2024-06-14T09:29:39Z">
<OBJECT>
<SPEC-OBJECT-REF>_8Eu7x9U5M25j17D5SOipCMblruhXvsI</SPEC-OBJECT-REF>
</OBJECT>
<CHILDREN/>
</SPEC-HIERARCHY>
</CHILDREN>
</SPECIFICATION>
</SPECIFICATIONS>
</REQ-IF-CONTENT>
</CORE-CONTENT>
<TOOL-EXTENSIONS/>
</REQ-IF>Hi,
When I tried to import requirements from a ReqIF file in Requirement Editor, the GUI reports:
"Invalid ReqIF file. Error details: Type ‘xhtml:p’ has not been found in the registry."
Is this class unsupported? It seems ‘xhtml:div’ is supported.
<?xml version="1.0"?>
<REQ-IF xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<THE-HEADER>
<REQ-IF-HEADER IDENTIFIER="_q6t8q2X9fb2Cn5jN20LdqZHL1Ir3a98">
<CREATION-TIME>2024-06-14T09:29:39Z</CREATION-TIME>
<REQ-IF-TOOL-ID>Cradle WorkBench</REQ-IF-TOOL-ID>
<REQ-IF-VERSION>1.0</REQ-IF-VERSION>
<SOURCE-TOOL-ID>Cradle WorkBench</SOURCE-TOOL-ID>
<TITLE>Cradle WorkBench ReqIF Export</TITLE>
</REQ-IF-HEADER>
</THE-HEADER>
<CORE-CONTENT>
<REQ-IF-CONTENT>
<DATATYPES>
<DATATYPE-DEFINITION-BOOLEAN IDENTIFIER="_84299a2QOHS4ze5rNPVcDu6PxkacqeY" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_BOOLEAN"/>
<DATATYPE-DEFINITION-INTEGER IDENTIFIER="_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_INTEGER" MIN="-2147483648" MAX="2147483647"/>
<DATATYPE-DEFINITION-STRING IDENTIFIER="_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_STRING" MAX-LENGTH="1000"/>
<DATATYPE-DEFINITION-DATE IDENTIFIER="_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_DATE"/>
<DATATYPE-DEFINITION-REAL IDENTIFIER="_46w33R6Ha3U7vy8YwqDYu4J1bPiEKm2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_REAL" MIN="-1.08310167E17" MAX="1.08310167E17" ACCURACY="10"/>
<DATATYPE-DEFINITION-XHTML IDENTIFIER="_2sYqJFs3WkJJz00VB8ft277UnTheTp5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_XHTML"/>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_jBW99EoOLIuwDLscUmG3anZjUORjqMu" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_QoLKIC6P9valnJX52LoHh7fW2InMG2h" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Certification">
<PROPERTIES>
<EMBEDDED-VALUE KEY="0" OTHER-CONTENT="Certification"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_nl9it9bDq99s7pdgnf801qH5arRPH3i" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Environment">
<PROPERTIES>
<EMBEDDED-VALUE KEY="1" OTHER-CONTENT="Environment"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_78z6p673bV0G16hC0Ca8emSA6zJr48g" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Human Factors">
<PROPERTIES>
<EMBEDDED-VALUE KEY="2" OTHER-CONTENT="Human Factors"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_VF2V0IFEREXOqsPcrv2vny0TS8548iR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Infrastructure">
<PROPERTIES>
<EMBEDDED-VALUE KEY="3" OTHER-CONTENT="Infrastructure"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_S0P8HEm4sf0ZVtth82L8AJPtSY9Ng5Z" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Operational">
<PROPERTIES>
<EMBEDDED-VALUE KEY="4" OTHER-CONTENT="Operational"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_Q9PQy2cr2hn09S14orL420GQvm481AN" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Other">
<PROPERTIES>
<EMBEDDED-VALUE KEY="5" OTHER-CONTENT="Other"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_tQdUgsdBFSjnaNZsI04DM0Ok9Lh3aKZ" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Safety">
<PROPERTIES>
<EMBEDDED-VALUE KEY="6" OTHER-CONTENT="Safety"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_1E9z461lHgmgF9pXPK355chQ2Uy9vDR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Accepted">
<PROPERTIES>
<EMBEDDED-VALUE KEY="7" OTHER-CONTENT="Accepted"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_p6CI770i4yb5Rg2e4zC4L5x5D5k78h0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Agreed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="8" OTHER-CONTENT="Agreed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_3DU39sZMeOe3MaocMf3hQYbHo8Ud0z6" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Candidate">
<PROPERTIES>
<EMBEDDED-VALUE KEY="9" OTHER-CONTENT="Candidate"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_w2kfxbdJt4VWq59lljb9X37be9CLFuM" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Closed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="10" OTHER-CONTENT="Closed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_T4Uoz8RI8wON0QU0HJRFuQm9Mv0K2xB" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Disputed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="11" OTHER-CONTENT="Disputed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_2E45Kk7x847Qn732CWqp7poNMqG6Gq7" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Rejected">
<PROPERTIES>
<EMBEDDED-VALUE KEY="12" OTHER-CONTENT="Rejected"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_x11s6CtBX9U3vz7fgjOSXbJ5NWhE25V" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Review">
<PROPERTIES>
<EMBEDDED-VALUE KEY="13" OTHER-CONTENT="Review"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_ib9j5eojQk36UyOqccVzbo0EjPFN0O5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Reviewed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="14" OTHER-CONTENT="Reviewed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_4xy2FifD0MPu0uJhBXnGgy9D0H9HYqC" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Suspect">
<PROPERTIES>
<EMBEDDED-VALUE KEY="15" OTHER-CONTENT="Suspect"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="TBD">
<PROPERTIES>
<EMBEDDED-VALUE KEY="16" OTHER-CONTENT="TBD"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_QGd1NTcOY6177TmX7C9t5gM4gc5Zkyy" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Assembly">
<PROPERTIES>
<EMBEDDED-VALUE KEY="17" OTHER-CONTENT="Assembly"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_3t7qe6E5L0CZl8rtxW3Q3n7weKu71zn" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Component">
<PROPERTIES>
<EMBEDDED-VALUE KEY="18" OTHER-CONTENT="Component"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_PNcwOu7g2OALpXpJ5uPNgr1dheKM52J" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Sub-System">
<PROPERTIES>
<EMBEDDED-VALUE KEY="19" OTHER-CONTENT="Sub-System"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_JLUOkrJj5otC4zZ3mx2r2z6gx3tD8nM" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="System">
<PROPERTIES>
<EMBEDDED-VALUE KEY="20" OTHER-CONTENT="System"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_6S937HlnVg21zU1VSQTosz9FE35QiXE" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Unit">
<PROPERTIES>
<EMBEDDED-VALUE KEY="21" OTHER-CONTENT="Unit"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
</DATATYPES>
<SPEC-TYPES>
<SPECIFICATION-TYPE IDENTIFIER="_vQSPiJp854ACfaHoeq15TQYwMLWz1n8" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_SBS">
<SPEC-ATTRIBUTES>
<ATTRIBUTE-DEFINITION-INTEGER IDENTIFIER="_tFmqTCfkJ6PTFzh7jFWA57Dv3Os2E24" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Security" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-INTEGER-REF>_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r</DATATYPE-DEFINITION-INTEGER-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-INTEGER>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_TCh66m4v824r71lGRyy7yMsJ363O3x9" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Baseline" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_tSnd3D7UWvPXGNwAOAmNmgJw2PEt8zc" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Comment" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_fbT7sNm4Mtw9s6UKdZquJ0ZoL1926ww" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Draft" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_7R99v1K59528lT46nMOTAhoU2P0GEsG" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Group" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_gJ1Zjn4yA397191ETrxSrQH7Mon3sqP" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Identity" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_kAFI67n1VQtO8PdZhaZjC6EZ35IfV7J" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Key" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_W1Y3xSQWl9BvaQFI7GEFb9KvgqiWxng" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Owner" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_VLY5NqVfgiRj59wBJhBnZh6bsjF1RQR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Status" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_818F5C9Nq62Xy8fbM8Em7opsQP072XH" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Description" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_buiEkw962FbT8I7JXFi9mhp89M30w6C" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_64EBqYYU2Eixx6lAXk6vI65U5RtG1k0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_4H9gtsGhrcmKuS1Ux2fr9tyGs89lih2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Name" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_sN72WNhUBpKQ8D1LD51UnNn2H9l4lLv" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Revision" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_N6Bzv3Q3L3i7eVbs0F122xIvjGR9AUj" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_45RzThwGKnD8SZvyi4JdPLtsXn1AbxE" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-XHTML IDENTIFIER="_I6eUj6J37gilfR4U4i4P9rqFfPwp8j0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_TEXT" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-XHTML-REF>_2sYqJFs3WkJJz00VB8ft277UnTheTp5</DATATYPE-DEFINITION-XHTML-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-XHTML>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_4DZHRGS14YD6C9odZwGkhIZq0zg6Jf9" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_jBW99EoOLIuwDLscUmG3anZjUORjqMu</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_w0gAFngtw8hP9Hg7NmBG5CZ52ua9Vbi" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_AbYG0a0tTMeTjl4fh9oM6XcG137ecD5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
</SPEC-ATTRIBUTES>
</SPECIFICATION-TYPE>
<SPEC-OBJECT-TYPE IDENTIFIER="_AgI3y7P4M8m411dH6Q795ME0DZwTKaX" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="SBS Object">
<SPEC-ATTRIBUTES>
<ATTRIBUTE-DEFINITION-INTEGER IDENTIFIER="_1l0lJn06F3AWKxHUHk6OvEFv1WPnv4y" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Security" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-INTEGER-REF>_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r</DATATYPE-DEFINITION-INTEGER-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-INTEGER>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_ASI470eOS7l88FS29m423AK3Fb67TDu" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Baseline" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_3U7p471015q2eAnmUyr2Q4X9slP6ES3" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Comment" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_301an5l6kiJ32p3793U8FZ30WhL3ggQ" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Draft" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_lT99Dzp9ZmNd3F8u0VdGxECoKT3JM13" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Group" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_2c6QWPXaO9axWk7frkrufvrTGbH0K5o" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Identity" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_2oeT0PltW9BT2Ys9mi19oe97qmzEqAK" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Key" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_DQHhey19gxG5uC6ux9wZ9Iyb0wYcuWF" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Owner" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_7GL4XMKuT575NDBKBj5Ko40XIOuxKl7" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Status" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_jIEt1w4JIIgDdiaT89O9aqX3Qk7k2hT" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Description" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_tK2h5SKKl0M5ZzDm8zz76r08U57Z6Tq" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_4OCaZI6s2ghFTPzGG7g142XaYHVfexq" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_vxr2q82qOn331rcpvk2NrvRIoDc6Mb4" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Name" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_9kKFanMjOhM70uRjYnu9gyPG9Rfo8U2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Revision" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_rReqE1sJwCI7jfsDUt3JT4p1pVMor4i" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_cYb0I2ulY2QfIY8I6y27Axus3R3Ty4z" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-XHTML IDENTIFIER="_enYtQsY5enrFcsjWXPt1v352jB4tG3S" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_TEXT" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-XHTML-REF>_2sYqJFs3WkJJz00VB8ft277UnTheTp5</DATATYPE-DEFINITION-XHTML-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-XHTML>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_4eH16HONInN5Mq3FafqPJK2ygJy2lCI" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_jBW99EoOLIuwDLscUmG3anZjUORjqMu</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_073U9h0mvX598gvxwM6DEn48B1vf5bC" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_zD8CWQua7K735m31eL0dNQDU08GrqZS" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
</SPEC-ATTRIBUTES>
</SPEC-OBJECT-TYPE>
</SPEC-TYPES>
<SPEC-OBJECTS>
<SPEC-OBJECT IDENTIFIER="_8Eu7x9U5M25j17D5SOipCMblruhXvsI" LAST-CHANGE="2024-06-14T09:29:39Z">
<VALUES>
<ATTRIBUTE-VALUE-INTEGER THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-INTEGER-REF>_1l0lJn06F3AWKxHUHk6OvEFv1WPnv4y</ATTRIBUTE-DEFINITION-INTEGER-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-INTEGER>
<ATTRIBUTE-VALUE-STRING THE-VALUE="A">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_301an5l6kiJ32p3793U8FZ30WhL3ggQ</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="SBS-2">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_2c6QWPXaO9axWk7frkrufvrTGbH0K5o</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="1.1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_2oeT0PltW9BT2Ys9mi19oe97qmzEqAK</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_DQHhey19gxG5uC6ux9wZ9Iyb0wYcuWF</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_tK2h5SKKl0M5ZzDm8zz76r08U57Z6Tq</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_4OCaZI6s2ghFTPzGG7g142XaYHVfexq</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="aaa-2">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_vxr2q82qOn331rcpvk2NrvRIoDc6Mb4</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:22:18Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_rReqE1sJwCI7jfsDUt3JT4p1pVMor4i</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:22:27Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_cYb0I2ulY2QfIY8I6y27Axus3R3Ty4z</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-ENUMERATION>
<VALUES>
<ENUM-VALUE-REF>_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w</ENUM-VALUE-REF>
</VALUES>
<DEFINITION>
<ATTRIBUTE-DEFINITION-ENUMERATION-REF>_073U9h0mvX598gvxwM6DEn48B1vf5bC</ATTRIBUTE-DEFINITION-ENUMERATION-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-ENUMERATION>
</VALUES>
<TYPE>
<SPEC-OBJECT-TYPE-REF>_AgI3y7P4M8m411dH6Q795ME0DZwTKaX</SPEC-OBJECT-TYPE-REF>
</TYPE>
</SPEC-OBJECT>
</SPEC-OBJECTS>
<SPEC-RELATIONS/>
<SPECIFICATIONS>
<SPECIFICATION IDENTIFIER="_TpnzVbw83eLu17T6JDvfqJMZ9g8ZqTn" LAST-CHANGE="2024-06-14T09:29:39Z">
<VALUES>
<ATTRIBUTE-VALUE-INTEGER THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-INTEGER-REF>_tFmqTCfkJ6PTFzh7jFWA57Dv3Os2E24</ATTRIBUTE-DEFINITION-INTEGER-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-INTEGER>
<ATTRIBUTE-VALUE-STRING THE-VALUE="A">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_fbT7sNm4Mtw9s6UKdZquJ0ZoL1926ww</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="SBS-1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_gJ1Zjn4yA397191ETrxSrQH7Mon3sqP</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_kAFI67n1VQtO8PdZhaZjC6EZ35IfV7J</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_W1Y3xSQWl9BvaQFI7GEFb9KvgqiWxng</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_buiEkw962FbT8I7JXFi9mhp89M30w6C</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_64EBqYYU2Eixx6lAXk6vI65U5RtG1k0</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="aaa-1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_4H9gtsGhrcmKuS1Ux2fr9tyGs89lih2</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:21:45Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_N6Bzv3Q3L3i7eVbs0F122xIvjGR9AUj</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:28:51Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_45RzThwGKnD8SZvyi4JdPLtsXn1AbxE</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-XHTML>
<THE-VALUE>
<xhtml:p>bbbb</xhtml:p>
</THE-VALUE>
<DEFINITION>
<ATTRIBUTE-DEFINITION-XHTML-REF>_I6eUj6J37gilfR4U4i4P9rqFfPwp8j0</ATTRIBUTE-DEFINITION-XHTML-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-XHTML>
<ATTRIBUTE-VALUE-ENUMERATION>
<VALUES>
<ENUM-VALUE-REF>_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w</ENUM-VALUE-REF>
</VALUES>
<DEFINITION>
<ATTRIBUTE-DEFINITION-ENUMERATION-REF>_w0gAFngtw8hP9Hg7NmBG5CZ52ua9Vbi</ATTRIBUTE-DEFINITION-ENUMERATION-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-ENUMERATION>
</VALUES>
<TYPE>
<SPECIFICATION-TYPE-REF>_vQSPiJp854ACfaHoeq15TQYwMLWz1n8</SPECIFICATION-TYPE-REF>
</TYPE>
<CHILDREN>
<SPEC-HIERARCHY IDENTIFIER="_VW48dBKJi53B2g4jLip3S4TskxmQwGb" LAST-CHANGE="2024-06-14T09:29:39Z">
<OBJECT>
<SPEC-OBJECT-REF>_8Eu7x9U5M25j17D5SOipCMblruhXvsI</SPEC-OBJECT-REF>
</OBJECT>
<CHILDREN/>
</SPEC-HIERARCHY>
</CHILDREN>
</SPECIFICATION>
</SPECIFICATIONS>
</REQ-IF-CONTENT>
</CORE-CONTENT>
<TOOL-EXTENSIONS/>
</REQ-IF> Hi,
When I tried to import requirements from a ReqIF file in Requirement Editor, the GUI reports:
"Invalid ReqIF file. Error details: Type ‘xhtml:p’ has not been found in the registry."
Is this class unsupported? It seems ‘xhtml:div’ is supported.
<?xml version="1.0"?>
<REQ-IF xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<THE-HEADER>
<REQ-IF-HEADER IDENTIFIER="_q6t8q2X9fb2Cn5jN20LdqZHL1Ir3a98">
<CREATION-TIME>2024-06-14T09:29:39Z</CREATION-TIME>
<REQ-IF-TOOL-ID>Cradle WorkBench</REQ-IF-TOOL-ID>
<REQ-IF-VERSION>1.0</REQ-IF-VERSION>
<SOURCE-TOOL-ID>Cradle WorkBench</SOURCE-TOOL-ID>
<TITLE>Cradle WorkBench ReqIF Export</TITLE>
</REQ-IF-HEADER>
</THE-HEADER>
<CORE-CONTENT>
<REQ-IF-CONTENT>
<DATATYPES>
<DATATYPE-DEFINITION-BOOLEAN IDENTIFIER="_84299a2QOHS4ze5rNPVcDu6PxkacqeY" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_BOOLEAN"/>
<DATATYPE-DEFINITION-INTEGER IDENTIFIER="_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_INTEGER" MIN="-2147483648" MAX="2147483647"/>
<DATATYPE-DEFINITION-STRING IDENTIFIER="_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_STRING" MAX-LENGTH="1000"/>
<DATATYPE-DEFINITION-DATE IDENTIFIER="_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_DATE"/>
<DATATYPE-DEFINITION-REAL IDENTIFIER="_46w33R6Ha3U7vy8YwqDYu4J1bPiEKm2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_REAL" MIN="-1.08310167E17" MAX="1.08310167E17" ACCURACY="10"/>
<DATATYPE-DEFINITION-XHTML IDENTIFIER="_2sYqJFs3WkJJz00VB8ft277UnTheTp5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_XHTML"/>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_jBW99EoOLIuwDLscUmG3anZjUORjqMu" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_QoLKIC6P9valnJX52LoHh7fW2InMG2h" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Certification">
<PROPERTIES>
<EMBEDDED-VALUE KEY="0" OTHER-CONTENT="Certification"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_nl9it9bDq99s7pdgnf801qH5arRPH3i" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Environment">
<PROPERTIES>
<EMBEDDED-VALUE KEY="1" OTHER-CONTENT="Environment"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_78z6p673bV0G16hC0Ca8emSA6zJr48g" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Human Factors">
<PROPERTIES>
<EMBEDDED-VALUE KEY="2" OTHER-CONTENT="Human Factors"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_VF2V0IFEREXOqsPcrv2vny0TS8548iR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Infrastructure">
<PROPERTIES>
<EMBEDDED-VALUE KEY="3" OTHER-CONTENT="Infrastructure"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_S0P8HEm4sf0ZVtth82L8AJPtSY9Ng5Z" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Operational">
<PROPERTIES>
<EMBEDDED-VALUE KEY="4" OTHER-CONTENT="Operational"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_Q9PQy2cr2hn09S14orL420GQvm481AN" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Other">
<PROPERTIES>
<EMBEDDED-VALUE KEY="5" OTHER-CONTENT="Other"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_tQdUgsdBFSjnaNZsI04DM0Ok9Lh3aKZ" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Safety">
<PROPERTIES>
<EMBEDDED-VALUE KEY="6" OTHER-CONTENT="Safety"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_1E9z461lHgmgF9pXPK355chQ2Uy9vDR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Accepted">
<PROPERTIES>
<EMBEDDED-VALUE KEY="7" OTHER-CONTENT="Accepted"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_p6CI770i4yb5Rg2e4zC4L5x5D5k78h0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Agreed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="8" OTHER-CONTENT="Agreed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_3DU39sZMeOe3MaocMf3hQYbHo8Ud0z6" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Candidate">
<PROPERTIES>
<EMBEDDED-VALUE KEY="9" OTHER-CONTENT="Candidate"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_w2kfxbdJt4VWq59lljb9X37be9CLFuM" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Closed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="10" OTHER-CONTENT="Closed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_T4Uoz8RI8wON0QU0HJRFuQm9Mv0K2xB" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Disputed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="11" OTHER-CONTENT="Disputed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_2E45Kk7x847Qn732CWqp7poNMqG6Gq7" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Rejected">
<PROPERTIES>
<EMBEDDED-VALUE KEY="12" OTHER-CONTENT="Rejected"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_x11s6CtBX9U3vz7fgjOSXbJ5NWhE25V" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Review">
<PROPERTIES>
<EMBEDDED-VALUE KEY="13" OTHER-CONTENT="Review"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_ib9j5eojQk36UyOqccVzbo0EjPFN0O5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Reviewed">
<PROPERTIES>
<EMBEDDED-VALUE KEY="14" OTHER-CONTENT="Reviewed"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_4xy2FifD0MPu0uJhBXnGgy9D0H9HYqC" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Suspect">
<PROPERTIES>
<EMBEDDED-VALUE KEY="15" OTHER-CONTENT="Suspect"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="TBD">
<PROPERTIES>
<EMBEDDED-VALUE KEY="16" OTHER-CONTENT="TBD"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
<DATATYPE-DEFINITION-ENUMERATION IDENTIFIER="_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level">
<SPECIFIED-VALUES>
<ENUM-VALUE IDENTIFIER="_QGd1NTcOY6177TmX7C9t5gM4gc5Zkyy" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Assembly">
<PROPERTIES>
<EMBEDDED-VALUE KEY="17" OTHER-CONTENT="Assembly"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_3t7qe6E5L0CZl8rtxW3Q3n7weKu71zn" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Component">
<PROPERTIES>
<EMBEDDED-VALUE KEY="18" OTHER-CONTENT="Component"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_PNcwOu7g2OALpXpJ5uPNgr1dheKM52J" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Sub-System">
<PROPERTIES>
<EMBEDDED-VALUE KEY="19" OTHER-CONTENT="Sub-System"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_JLUOkrJj5otC4zZ3mx2r2z6gx3tD8nM" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="System">
<PROPERTIES>
<EMBEDDED-VALUE KEY="20" OTHER-CONTENT="System"/>
</PROPERTIES>
</ENUM-VALUE>
<ENUM-VALUE IDENTIFIER="_6S937HlnVg21zU1VSQTosz9FE35QiXE" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="Unit">
<PROPERTIES>
<EMBEDDED-VALUE KEY="21" OTHER-CONTENT="Unit"/>
</PROPERTIES>
</ENUM-VALUE>
</SPECIFIED-VALUES>
</DATATYPE-DEFINITION-ENUMERATION>
</DATATYPES>
<SPEC-TYPES>
<SPECIFICATION-TYPE IDENTIFIER="_vQSPiJp854ACfaHoeq15TQYwMLWz1n8" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_SBS">
<SPEC-ATTRIBUTES>
<ATTRIBUTE-DEFINITION-INTEGER IDENTIFIER="_tFmqTCfkJ6PTFzh7jFWA57Dv3Os2E24" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Security" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-INTEGER-REF>_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r</DATATYPE-DEFINITION-INTEGER-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-INTEGER>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_TCh66m4v824r71lGRyy7yMsJ363O3x9" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Baseline" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_tSnd3D7UWvPXGNwAOAmNmgJw2PEt8zc" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Comment" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_fbT7sNm4Mtw9s6UKdZquJ0ZoL1926ww" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Draft" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_7R99v1K59528lT46nMOTAhoU2P0GEsG" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Group" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_gJ1Zjn4yA397191ETrxSrQH7Mon3sqP" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Identity" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_kAFI67n1VQtO8PdZhaZjC6EZ35IfV7J" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Key" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_W1Y3xSQWl9BvaQFI7GEFb9KvgqiWxng" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Owner" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_VLY5NqVfgiRj59wBJhBnZh6bsjF1RQR" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Status" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_818F5C9Nq62Xy8fbM8Em7opsQP072XH" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Description" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_buiEkw962FbT8I7JXFi9mhp89M30w6C" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_64EBqYYU2Eixx6lAXk6vI65U5RtG1k0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_4H9gtsGhrcmKuS1Ux2fr9tyGs89lih2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Name" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_sN72WNhUBpKQ8D1LD51UnNn2H9l4lLv" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Revision" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_N6Bzv3Q3L3i7eVbs0F122xIvjGR9AUj" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_45RzThwGKnD8SZvyi4JdPLtsXn1AbxE" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-XHTML IDENTIFIER="_I6eUj6J37gilfR4U4i4P9rqFfPwp8j0" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_TEXT" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-XHTML-REF>_2sYqJFs3WkJJz00VB8ft277UnTheTp5</DATATYPE-DEFINITION-XHTML-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-XHTML>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_4DZHRGS14YD6C9odZwGkhIZq0zg6Jf9" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_jBW99EoOLIuwDLscUmG3anZjUORjqMu</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_w0gAFngtw8hP9Hg7NmBG5CZ52ua9Vbi" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_AbYG0a0tTMeTjl4fh9oM6XcG137ecD5" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
</SPEC-ATTRIBUTES>
</SPECIFICATION-TYPE>
<SPEC-OBJECT-TYPE IDENTIFIER="_AgI3y7P4M8m411dH6Q795ME0DZwTKaX" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="SBS Object">
<SPEC-ATTRIBUTES>
<ATTRIBUTE-DEFINITION-INTEGER IDENTIFIER="_1l0lJn06F3AWKxHUHk6OvEFv1WPnv4y" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Security" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-INTEGER-REF>_jN4Q8qSB1w6EKiQK9AaHaJi4vsYx35r</DATATYPE-DEFINITION-INTEGER-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-INTEGER>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_ASI470eOS7l88FS29m423AK3Fb67TDu" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Baseline" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_3U7p471015q2eAnmUyr2Q4X9slP6ES3" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Comment" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_301an5l6kiJ32p3793U8FZ30WhL3ggQ" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Draft" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_lT99Dzp9ZmNd3F8u0VdGxECoKT3JM13" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Group" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_2c6QWPXaO9axWk7frkrufvrTGbH0K5o" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Identity" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_2oeT0PltW9BT2Ys9mi19oe97qmzEqAK" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Key" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_DQHhey19gxG5uC6ux9wZ9Iyb0wYcuWF" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Owner" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_7GL4XMKuT575NDBKBj5Ko40XIOuxKl7" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Status" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_jIEt1w4JIIgDdiaT89O9aqX3Qk7k2hT" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Description" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_tK2h5SKKl0M5ZzDm8zz76r08U57Z6Tq" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_4OCaZI6s2ghFTPzGG7g142XaYHVfexq" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedBy" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_vxr2q82qOn331rcpvk2NrvRIoDc6Mb4" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Name" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-STRING IDENTIFIER="_9kKFanMjOhM70uRjYnu9gyPG9Rfo8U2" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.Revision" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-STRING-REF>_4hR7Rs7WVAnHWQ9T0IEmS2kj7J0JLpP</DATATYPE-DEFINITION-STRING-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-STRING>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_rReqE1sJwCI7jfsDUt3JT4p1pVMor4i" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignCreatedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_cYb0I2ulY2QfIY8I6y27Axus3R3Ty4z" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="ReqIF.ForeignModifiedOn" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-DATE-REF>_B6lFGSftbOlNr2F4U8xeKrop3zdkDMg</DATATYPE-DEFINITION-DATE-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-DATE>
<ATTRIBUTE-DEFINITION-XHTML IDENTIFIER="_enYtQsY5enrFcsjWXPt1v352jB4tG3S" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_TEXT" IS-EDITABLE="true">
<TYPE>
<DATATYPE-DEFINITION-XHTML-REF>_2sYqJFs3WkJJz00VB8ft277UnTheTp5</DATATYPE-DEFINITION-XHTML-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-XHTML>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_4eH16HONInN5Mq3FafqPJK2ygJy2lCI" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Domain" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_jBW99EoOLIuwDLscUmG3anZjUORjqMu</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_073U9h0mvX598gvxwM6DEn48B1vf5bC" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_Item Status" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_WMy3G5qu162WgR6Xw9gFCaVQTeRB65y</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
<ATTRIBUTE-DEFINITION-ENUMERATION IDENTIFIER="_zD8CWQua7K735m31eL0dNQDU08GrqZS" LAST-CHANGE="2024-06-14T09:29:39Z" LONG-NAME="CRADLE_System Level" IS-EDITABLE="true" MULTI-VALUED="false">
<TYPE>
<DATATYPE-DEFINITION-ENUMERATION-REF>_3FMBjzpc5nWFI3k30Z9Z390wxrmI4a0</DATATYPE-DEFINITION-ENUMERATION-REF>
</TYPE>
</ATTRIBUTE-DEFINITION-ENUMERATION>
</SPEC-ATTRIBUTES>
</SPEC-OBJECT-TYPE>
</SPEC-TYPES>
<SPEC-OBJECTS>
<SPEC-OBJECT IDENTIFIER="_8Eu7x9U5M25j17D5SOipCMblruhXvsI" LAST-CHANGE="2024-06-14T09:29:39Z">
<VALUES>
<ATTRIBUTE-VALUE-INTEGER THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-INTEGER-REF>_1l0lJn06F3AWKxHUHk6OvEFv1WPnv4y</ATTRIBUTE-DEFINITION-INTEGER-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-INTEGER>
<ATTRIBUTE-VALUE-STRING THE-VALUE="A">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_301an5l6kiJ32p3793U8FZ30WhL3ggQ</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="SBS-2">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_2c6QWPXaO9axWk7frkrufvrTGbH0K5o</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="1.1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_2oeT0PltW9BT2Ys9mi19oe97qmzEqAK</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_DQHhey19gxG5uC6ux9wZ9Iyb0wYcuWF</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_tK2h5SKKl0M5ZzDm8zz76r08U57Z6Tq</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_4OCaZI6s2ghFTPzGG7g142XaYHVfexq</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="aaa-2">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_vxr2q82qOn331rcpvk2NrvRIoDc6Mb4</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:22:18Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_rReqE1sJwCI7jfsDUt3JT4p1pVMor4i</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:22:27Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_cYb0I2ulY2QfIY8I6y27Axus3R3Ty4z</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-ENUMERATION>
<VALUES>
<ENUM-VALUE-REF>_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w</ENUM-VALUE-REF>
</VALUES>
<DEFINITION>
<ATTRIBUTE-DEFINITION-ENUMERATION-REF>_073U9h0mvX598gvxwM6DEn48B1vf5bC</ATTRIBUTE-DEFINITION-ENUMERATION-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-ENUMERATION>
</VALUES>
<TYPE>
<SPEC-OBJECT-TYPE-REF>_AgI3y7P4M8m411dH6Q795ME0DZwTKaX</SPEC-OBJECT-TYPE-REF>
</TYPE>
</SPEC-OBJECT>
</SPEC-OBJECTS>
<SPEC-RELATIONS/>
<SPECIFICATIONS>
<SPECIFICATION IDENTIFIER="_TpnzVbw83eLu17T6JDvfqJMZ9g8ZqTn" LAST-CHANGE="2024-06-14T09:29:39Z">
<VALUES>
<ATTRIBUTE-VALUE-INTEGER THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-INTEGER-REF>_tFmqTCfkJ6PTFzh7jFWA57Dv3Os2E24</ATTRIBUTE-DEFINITION-INTEGER-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-INTEGER>
<ATTRIBUTE-VALUE-STRING THE-VALUE="A">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_fbT7sNm4Mtw9s6UKdZquJ0ZoL1926ww</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="SBS-1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_gJ1Zjn4yA397191ETrxSrQH7Mon3sqP</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_kAFI67n1VQtO8PdZhaZjC6EZ35IfV7J</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_W1Y3xSQWl9BvaQFI7GEFb9KvgqiWxng</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_buiEkw962FbT8I7JXFi9mhp89M30w6C</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="MANAGER">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_64EBqYYU2Eixx6lAXk6vI65U5RtG1k0</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-STRING THE-VALUE="aaa-1">
<DEFINITION>
<ATTRIBUTE-DEFINITION-STRING-REF>_4H9gtsGhrcmKuS1Ux2fr9tyGs89lih2</ATTRIBUTE-DEFINITION-STRING-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-STRING>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:21:45Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_N6Bzv3Q3L3i7eVbs0F122xIvjGR9AUj</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-DATE THE-VALUE="2024-06-14T09:28:51Z">
<DEFINITION>
<ATTRIBUTE-DEFINITION-DATE-REF>_45RzThwGKnD8SZvyi4JdPLtsXn1AbxE</ATTRIBUTE-DEFINITION-DATE-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-DATE>
<ATTRIBUTE-VALUE-XHTML>
<THE-VALUE>
<xhtml:p>bbbb</xhtml:p>
</THE-VALUE>
<DEFINITION>
<ATTRIBUTE-DEFINITION-XHTML-REF>_I6eUj6J37gilfR4U4i4P9rqFfPwp8j0</ATTRIBUTE-DEFINITION-XHTML-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-XHTML>
<ATTRIBUTE-VALUE-ENUMERATION>
<VALUES>
<ENUM-VALUE-REF>_66wNI1VJUVYw4xmbmfiOgN9K6gbnw0w</ENUM-VALUE-REF>
</VALUES>
<DEFINITION>
<ATTRIBUTE-DEFINITION-ENUMERATION-REF>_w0gAFngtw8hP9Hg7NmBG5CZ52ua9Vbi</ATTRIBUTE-DEFINITION-ENUMERATION-REF>
</DEFINITION>
</ATTRIBUTE-VALUE-ENUMERATION>
</VALUES>
<TYPE>
<SPECIFICATION-TYPE-REF>_vQSPiJp854ACfaHoeq15TQYwMLWz1n8</SPECIFICATION-TYPE-REF>
</TYPE>
<CHILDREN>
<SPEC-HIERARCHY IDENTIFIER="_VW48dBKJi53B2g4jLip3S4TskxmQwGb" LAST-CHANGE="2024-06-14T09:29:39Z">
<OBJECT>
<SPEC-OBJECT-REF>_8Eu7x9U5M25j17D5SOipCMblruhXvsI</SPEC-OBJECT-REF>
</OBJECT>
<CHILDREN/>
</SPEC-HIERARCHY>
</CHILDREN>
</SPECIFICATION>
</SPECIFICATIONS>
</REQ-IF-CONTENT>
</CORE-CONTENT>
<TOOL-EXTENSIONS/>
</REQ-IF> attribute-value-xhtml the-value MATLAB Answers — New Questions
Assigning a line plot object to a global property doesn’t retain it after the object is deleted
Is there a reason why when I delete a plot of a multiplot graph and assign it to a global (public) property it doesn’t retain it.
ax=app.UIAxes; % My plot is on a UIAxes
t = ax.Children(1) % Get the last plot
app.myPlot=t % myPlot is a Global property
delete(t);
app.myPlot
app.myPlot shows:
ans =
handle to deleted Line
so instead I have to access all the properties of the line individually and assign to a struct.
s = struct;
s.X=t.XData;
s.Y=t.YData;
s.Cl=t.Color;
s.DN=t.DisplayName;
s.Ls=t.LineStyle;
s.Lw=t.LineWidth
s.M=t.Marker;
app.myPlot=s;
Just seems more clunky!Is there a reason why when I delete a plot of a multiplot graph and assign it to a global (public) property it doesn’t retain it.
ax=app.UIAxes; % My plot is on a UIAxes
t = ax.Children(1) % Get the last plot
app.myPlot=t % myPlot is a Global property
delete(t);
app.myPlot
app.myPlot shows:
ans =
handle to deleted Line
so instead I have to access all the properties of the line individually and assign to a struct.
s = struct;
s.X=t.XData;
s.Y=t.YData;
s.Cl=t.Color;
s.DN=t.DisplayName;
s.Ls=t.LineStyle;
s.Lw=t.LineWidth
s.M=t.Marker;
app.myPlot=s;
Just seems more clunky! Is there a reason why when I delete a plot of a multiplot graph and assign it to a global (public) property it doesn’t retain it.
ax=app.UIAxes; % My plot is on a UIAxes
t = ax.Children(1) % Get the last plot
app.myPlot=t % myPlot is a Global property
delete(t);
app.myPlot
app.myPlot shows:
ans =
handle to deleted Line
so instead I have to access all the properties of the line individually and assign to a struct.
s = struct;
s.X=t.XData;
s.Y=t.YData;
s.Cl=t.Color;
s.DN=t.DisplayName;
s.Ls=t.LineStyle;
s.Lw=t.LineWidth
s.M=t.Marker;
app.myPlot=s;
Just seems more clunky! plot, struct, property MATLAB Answers — New Questions
ive been trying to generate vhdl code using hdl code genrator on matlab 2020a but its showing error regarding the use of fi in my code , can someone fix it for me ? thankyou
this is my code : MATLAB FUNCTION
function [received_signal_real, received_signal_imag, error_rate] = hdl_compatible_code(n, channel_type)
% Constants
aircraft_altitude = fi(45000,1,32,10); % Altitude of the aircraft in feet
distance_km = fi(350,1,32,10); % Distance between aircraft and base station in kilometers
speed_of_light = fi(3e8,1,32,10); % Speed of light in m/s
n = 100;
% Pathloss model – Free Space Path Loss (FSPL)
fc = fi(1.5e9,1,32,10); % Carrier frequency in Hz (1.5GHz)
lambda = speed_of_light / fc; % Wavelength
path_loss_dB = 20 *log10_approx(fi(4 * pi * distance_km * 1e3 / lambda,1,32,10)); % Path loss in dB
% AWGN
SNR_dB_awgn = fi(10,1,32,10); % Signal to noise ratio in dB for AWGN channel
SNR_awgn = fi(fi(10)^(SNR_dB_awgn / 10),1,32,10); % Convert SNR to linear scale for AWGN channel
tx_power_awgn = fi(1,1,32,10); % Initial guess for transmit power for AWGN channel
noise_power_awgn = tx_power_awgn / SNR_awgn; % Noise power based on SNR for AWGN channel
% Doppler spread
aircraft_speed = fi(660,1,32,10); % Average aircraft speed in meters per second
fd_max = fi(((aircraft_speed * fi(0.51444,1,32,10) * fc) / speed_of_light),1,32,10); % Doppler frequency shift
% Modulation using lookup table
% Precompute constellation points (Scalar approach)
constellation_points = [fi(1,1,16,10), fi(1i,1,16,10),fi(-1,1,16,10), fi(-1i,1,16,10)];
% Modulation
data = lfsr_data(n); % Generate random bits
qpsk_symbols = constellation_points(data + 1); % QPSK modulation: symbol mapping to complex constellation points
% Generate doppler effect using lookup table
two_pi_fd_max = fi(2*pi*fd_max,1,128,10);
t = fi((0:n-1) /n,1,32,10); % Time vector
doppler_shift = cos_lookup(fi((2 * pi * fd_max * t),1,32,10));
% Channel simulation
if channel_type == 0 % AWGN channel
noise_real = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for real part
noise_imag = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for imaginary part
received_signal = (qpsk_symbols .* doppler_shift) + noise_real + fi(1i,1,16,10) * noise_imag; % Received signal in AWGN channel
elseif channel_type == 1 % Rician fading channel
% Rician channel parameters
K =fi( 5,1,32,10); % Rician factor
LOS_power_dB =fi( -10,1,32,10); % Line of sight power in dB
LOS_power_linear = pow2(fi(10,1,32,10),LOS_power_dB/10); % Convert LOS power to linear scale
K_linear = pow2(fi(10,1,32,10),K/10); % Convert Rician factor to linear scale
% Generate fading coefficients
LOS = sqrt(LOS_power_linear / (2 * (1 + 1 / K_linear))) * ones(1, n,’like’,fi(0,1,16,10)); % LOS component
scattering = sqrt(LOS_power_linear / (2 * (1 + K_linear))) * (lfsr_noise(n) +fi( 1i,1,16,10) * lfsr_noise(n)); % Scattering component
fading_coefficient = LOS + scattering; % Rician fading coefficients
received_signal = (qpsk_symbols .* fading_coefficient .* doppler_shift); % Apply fading to the transmitted signal
% Add noise to the received signal in Rician channel
noise_real_rician = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for real part
noise_imag_rician = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for imaginary part
received_signal = fi((received_signal + noise_real_rician + fi(1i,1,16,10) * noise_imag_rician),1,49,20); % Add noise
else
error(‘hdl_compatible_code:UnknownChannelType’, ‘Unknown channel type’);
end
% QPSK demodulation
% Hard decision demodulation
% Decision regions
decision_regions = [fi(-1-1i,1,16,10), fi(-1+1i,1,16,10), fi(1-1i,1,16,10), fi(1+1i,1,16,10)];
% Initialize demodulated symbols
demodulated_symbols = zeros(1, n,’uint8′);
for i = 1:n
%Seperate real and imaginary part of received_signal and
%decision_regions
received_real = real(received_signal(i));
received_imag = imag(received_signal(i));
decision_real = real(decision_regions);
decision_imag = imag(decision_regions);
%Compute the absolute difference for real and imaginary parts
%seperately
diff_real = received_real – decision_real;
diff_imag = received_imag – decision_imag;
%Compute the absolute value using Pythagorean theorem
abs_diff = sqrt(diff_real.^2+diff_imag.^2);
%Find the index corresponding to the minimum absoloute difference
[~,~]=min(abs_diff);
end
% Calculate the error rate
errors = sum(bitxor(fi((data),0,8,0), fi((demodulated_symbols),0,8,0))); % Count errors
% Extract real and imaginary parts
received_signal_real = real(received_signal);
received_signal_imag = imag(received_signal);
error_rate = errors / n; % Calculate error rate
end
function noise = lfsr_noise(n)
% Linear feedback shift register (LFSR) for pseudo-random number generation
% Initialize LFSR state
lfsr_state = uint32(1);
noise = zeros(1, n,’like’,fi(0,1,16,10));
for i = 1:n
% Generate pseudo-random bit using xor feedback
new_bit = bitxor(bitget(lfsr_state, 1), bitget(lfsr_state, 3));
lfsr_state = bitshift(lfsr_state, -1);
lfsr_state = bitset(lfsr_state, 32, new_bit);
noise(i) = fi(lfsr_state,0,32,0) / fi(intmax(‘uint32’),1,16,10); % Scale [0,1]
end
end
function data = lfsr_data(n)
% Linear feedback shift register (LFSR) for generating random data
% Initialize LFSR state
lfsr_state = uint32(1);
data = zeros(1, n, ‘uint8’);
for i = 1:n
% Generate pseudo-random bit using xor feedback
new_bit = bitxor(bitget(lfsr_state, 1), bitget(lfsr_state, 3));
lfsr_state = bitshift(lfsr_state, -1);
lfsr_state = bitset(lfsr_state, 32, new_bit);
data(i) = fi((mod(lfsr_state,4)),0,2,0); % Generate random values in the range [0, 3]
end
end
function cos_value = cos_lookup(angle)
% Precompute cosine values for a range of angles
angles =fi( (0:0.01:2*pi),1,32,10); % Define the range of angles (adjust the step size as needed)
cos_values = fi((cos(angles)),1,16,10); % Compute cosine values
% Interpolate the cosine value for the given angle
cos_value = fi((zeros(size(angle))),1,16,10);
for i = 1:numel(angle)
[~,idx]=min(abs(angles-angle(i)));
cos_value(i)=cos_values(idx);
end
end
function y = log2_approx(x)
%Fixed-point logarithm base 2 approximation
y = fi(0,1,32,10);%Initialize y as fixed-point format
one = fi(1,1,32,10);%Define one in the same fixed-point format
sqrt2 = fi((sqrt(2)),1,32,10);%Define sqrt(2) in the same fixed -point format
for i = 1:32 %Limiting the iterations to 32 to avoid infinite loop
if x > one
x = bitsra(x,1);
y = fi((y + one),1,32,10);
end
end
frac = fi (0.5,1,32,10);
for i = 1:32
if x < one
x = bitsll(x,1);
y =fi( (y – one),1,32,10);
end
end
frac = fi (0.5,1,32,10);
two_pow_neg32 = fi((2^-32),1,32,10);
for i = 1:32
if x >= sqrt2
x = divide(x,sqrt2);
y =fi((y + frac) , 1,32,10);
end
frac = divide(frac,2);
end
end
function y = log10_approx(x)
%Approximate log10 function using a fixed-point approach
y = log2_approx(x)/ log2_approx(fi(10,1,32,10));
end
function result = divide(a,b)
%custom fixed-point division function
result = a/b;
result = fi(result,a.Signed,a.WordLength,a.FractionLength);
endthis is my code : MATLAB FUNCTION
function [received_signal_real, received_signal_imag, error_rate] = hdl_compatible_code(n, channel_type)
% Constants
aircraft_altitude = fi(45000,1,32,10); % Altitude of the aircraft in feet
distance_km = fi(350,1,32,10); % Distance between aircraft and base station in kilometers
speed_of_light = fi(3e8,1,32,10); % Speed of light in m/s
n = 100;
% Pathloss model – Free Space Path Loss (FSPL)
fc = fi(1.5e9,1,32,10); % Carrier frequency in Hz (1.5GHz)
lambda = speed_of_light / fc; % Wavelength
path_loss_dB = 20 *log10_approx(fi(4 * pi * distance_km * 1e3 / lambda,1,32,10)); % Path loss in dB
% AWGN
SNR_dB_awgn = fi(10,1,32,10); % Signal to noise ratio in dB for AWGN channel
SNR_awgn = fi(fi(10)^(SNR_dB_awgn / 10),1,32,10); % Convert SNR to linear scale for AWGN channel
tx_power_awgn = fi(1,1,32,10); % Initial guess for transmit power for AWGN channel
noise_power_awgn = tx_power_awgn / SNR_awgn; % Noise power based on SNR for AWGN channel
% Doppler spread
aircraft_speed = fi(660,1,32,10); % Average aircraft speed in meters per second
fd_max = fi(((aircraft_speed * fi(0.51444,1,32,10) * fc) / speed_of_light),1,32,10); % Doppler frequency shift
% Modulation using lookup table
% Precompute constellation points (Scalar approach)
constellation_points = [fi(1,1,16,10), fi(1i,1,16,10),fi(-1,1,16,10), fi(-1i,1,16,10)];
% Modulation
data = lfsr_data(n); % Generate random bits
qpsk_symbols = constellation_points(data + 1); % QPSK modulation: symbol mapping to complex constellation points
% Generate doppler effect using lookup table
two_pi_fd_max = fi(2*pi*fd_max,1,128,10);
t = fi((0:n-1) /n,1,32,10); % Time vector
doppler_shift = cos_lookup(fi((2 * pi * fd_max * t),1,32,10));
% Channel simulation
if channel_type == 0 % AWGN channel
noise_real = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for real part
noise_imag = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for imaginary part
received_signal = (qpsk_symbols .* doppler_shift) + noise_real + fi(1i,1,16,10) * noise_imag; % Received signal in AWGN channel
elseif channel_type == 1 % Rician fading channel
% Rician channel parameters
K =fi( 5,1,32,10); % Rician factor
LOS_power_dB =fi( -10,1,32,10); % Line of sight power in dB
LOS_power_linear = pow2(fi(10,1,32,10),LOS_power_dB/10); % Convert LOS power to linear scale
K_linear = pow2(fi(10,1,32,10),K/10); % Convert Rician factor to linear scale
% Generate fading coefficients
LOS = sqrt(LOS_power_linear / (2 * (1 + 1 / K_linear))) * ones(1, n,’like’,fi(0,1,16,10)); % LOS component
scattering = sqrt(LOS_power_linear / (2 * (1 + K_linear))) * (lfsr_noise(n) +fi( 1i,1,16,10) * lfsr_noise(n)); % Scattering component
fading_coefficient = LOS + scattering; % Rician fading coefficients
received_signal = (qpsk_symbols .* fading_coefficient .* doppler_shift); % Apply fading to the transmitted signal
% Add noise to the received signal in Rician channel
noise_real_rician = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for real part
noise_imag_rician = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for imaginary part
received_signal = fi((received_signal + noise_real_rician + fi(1i,1,16,10) * noise_imag_rician),1,49,20); % Add noise
else
error(‘hdl_compatible_code:UnknownChannelType’, ‘Unknown channel type’);
end
% QPSK demodulation
% Hard decision demodulation
% Decision regions
decision_regions = [fi(-1-1i,1,16,10), fi(-1+1i,1,16,10), fi(1-1i,1,16,10), fi(1+1i,1,16,10)];
% Initialize demodulated symbols
demodulated_symbols = zeros(1, n,’uint8′);
for i = 1:n
%Seperate real and imaginary part of received_signal and
%decision_regions
received_real = real(received_signal(i));
received_imag = imag(received_signal(i));
decision_real = real(decision_regions);
decision_imag = imag(decision_regions);
%Compute the absolute difference for real and imaginary parts
%seperately
diff_real = received_real – decision_real;
diff_imag = received_imag – decision_imag;
%Compute the absolute value using Pythagorean theorem
abs_diff = sqrt(diff_real.^2+diff_imag.^2);
%Find the index corresponding to the minimum absoloute difference
[~,~]=min(abs_diff);
end
% Calculate the error rate
errors = sum(bitxor(fi((data),0,8,0), fi((demodulated_symbols),0,8,0))); % Count errors
% Extract real and imaginary parts
received_signal_real = real(received_signal);
received_signal_imag = imag(received_signal);
error_rate = errors / n; % Calculate error rate
end
function noise = lfsr_noise(n)
% Linear feedback shift register (LFSR) for pseudo-random number generation
% Initialize LFSR state
lfsr_state = uint32(1);
noise = zeros(1, n,’like’,fi(0,1,16,10));
for i = 1:n
% Generate pseudo-random bit using xor feedback
new_bit = bitxor(bitget(lfsr_state, 1), bitget(lfsr_state, 3));
lfsr_state = bitshift(lfsr_state, -1);
lfsr_state = bitset(lfsr_state, 32, new_bit);
noise(i) = fi(lfsr_state,0,32,0) / fi(intmax(‘uint32’),1,16,10); % Scale [0,1]
end
end
function data = lfsr_data(n)
% Linear feedback shift register (LFSR) for generating random data
% Initialize LFSR state
lfsr_state = uint32(1);
data = zeros(1, n, ‘uint8’);
for i = 1:n
% Generate pseudo-random bit using xor feedback
new_bit = bitxor(bitget(lfsr_state, 1), bitget(lfsr_state, 3));
lfsr_state = bitshift(lfsr_state, -1);
lfsr_state = bitset(lfsr_state, 32, new_bit);
data(i) = fi((mod(lfsr_state,4)),0,2,0); % Generate random values in the range [0, 3]
end
end
function cos_value = cos_lookup(angle)
% Precompute cosine values for a range of angles
angles =fi( (0:0.01:2*pi),1,32,10); % Define the range of angles (adjust the step size as needed)
cos_values = fi((cos(angles)),1,16,10); % Compute cosine values
% Interpolate the cosine value for the given angle
cos_value = fi((zeros(size(angle))),1,16,10);
for i = 1:numel(angle)
[~,idx]=min(abs(angles-angle(i)));
cos_value(i)=cos_values(idx);
end
end
function y = log2_approx(x)
%Fixed-point logarithm base 2 approximation
y = fi(0,1,32,10);%Initialize y as fixed-point format
one = fi(1,1,32,10);%Define one in the same fixed-point format
sqrt2 = fi((sqrt(2)),1,32,10);%Define sqrt(2) in the same fixed -point format
for i = 1:32 %Limiting the iterations to 32 to avoid infinite loop
if x > one
x = bitsra(x,1);
y = fi((y + one),1,32,10);
end
end
frac = fi (0.5,1,32,10);
for i = 1:32
if x < one
x = bitsll(x,1);
y =fi( (y – one),1,32,10);
end
end
frac = fi (0.5,1,32,10);
two_pow_neg32 = fi((2^-32),1,32,10);
for i = 1:32
if x >= sqrt2
x = divide(x,sqrt2);
y =fi((y + frac) , 1,32,10);
end
frac = divide(frac,2);
end
end
function y = log10_approx(x)
%Approximate log10 function using a fixed-point approach
y = log2_approx(x)/ log2_approx(fi(10,1,32,10));
end
function result = divide(a,b)
%custom fixed-point division function
result = a/b;
result = fi(result,a.Signed,a.WordLength,a.FractionLength);
end this is my code : MATLAB FUNCTION
function [received_signal_real, received_signal_imag, error_rate] = hdl_compatible_code(n, channel_type)
% Constants
aircraft_altitude = fi(45000,1,32,10); % Altitude of the aircraft in feet
distance_km = fi(350,1,32,10); % Distance between aircraft and base station in kilometers
speed_of_light = fi(3e8,1,32,10); % Speed of light in m/s
n = 100;
% Pathloss model – Free Space Path Loss (FSPL)
fc = fi(1.5e9,1,32,10); % Carrier frequency in Hz (1.5GHz)
lambda = speed_of_light / fc; % Wavelength
path_loss_dB = 20 *log10_approx(fi(4 * pi * distance_km * 1e3 / lambda,1,32,10)); % Path loss in dB
% AWGN
SNR_dB_awgn = fi(10,1,32,10); % Signal to noise ratio in dB for AWGN channel
SNR_awgn = fi(fi(10)^(SNR_dB_awgn / 10),1,32,10); % Convert SNR to linear scale for AWGN channel
tx_power_awgn = fi(1,1,32,10); % Initial guess for transmit power for AWGN channel
noise_power_awgn = tx_power_awgn / SNR_awgn; % Noise power based on SNR for AWGN channel
% Doppler spread
aircraft_speed = fi(660,1,32,10); % Average aircraft speed in meters per second
fd_max = fi(((aircraft_speed * fi(0.51444,1,32,10) * fc) / speed_of_light),1,32,10); % Doppler frequency shift
% Modulation using lookup table
% Precompute constellation points (Scalar approach)
constellation_points = [fi(1,1,16,10), fi(1i,1,16,10),fi(-1,1,16,10), fi(-1i,1,16,10)];
% Modulation
data = lfsr_data(n); % Generate random bits
qpsk_symbols = constellation_points(data + 1); % QPSK modulation: symbol mapping to complex constellation points
% Generate doppler effect using lookup table
two_pi_fd_max = fi(2*pi*fd_max,1,128,10);
t = fi((0:n-1) /n,1,32,10); % Time vector
doppler_shift = cos_lookup(fi((2 * pi * fd_max * t),1,32,10));
% Channel simulation
if channel_type == 0 % AWGN channel
noise_real = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for real part
noise_imag = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for imaginary part
received_signal = (qpsk_symbols .* doppler_shift) + noise_real + fi(1i,1,16,10) * noise_imag; % Received signal in AWGN channel
elseif channel_type == 1 % Rician fading channel
% Rician channel parameters
K =fi( 5,1,32,10); % Rician factor
LOS_power_dB =fi( -10,1,32,10); % Line of sight power in dB
LOS_power_linear = pow2(fi(10,1,32,10),LOS_power_dB/10); % Convert LOS power to linear scale
K_linear = pow2(fi(10,1,32,10),K/10); % Convert Rician factor to linear scale
% Generate fading coefficients
LOS = sqrt(LOS_power_linear / (2 * (1 + 1 / K_linear))) * ones(1, n,’like’,fi(0,1,16,10)); % LOS component
scattering = sqrt(LOS_power_linear / (2 * (1 + K_linear))) * (lfsr_noise(n) +fi( 1i,1,16,10) * lfsr_noise(n)); % Scattering component
fading_coefficient = LOS + scattering; % Rician fading coefficients
received_signal = (qpsk_symbols .* fading_coefficient .* doppler_shift); % Apply fading to the transmitted signal
% Add noise to the received signal in Rician channel
noise_real_rician = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for real part
noise_imag_rician = sqrt(noise_power_awgn / 2) * lfsr_noise(n); % Generate noise for imaginary part
received_signal = fi((received_signal + noise_real_rician + fi(1i,1,16,10) * noise_imag_rician),1,49,20); % Add noise
else
error(‘hdl_compatible_code:UnknownChannelType’, ‘Unknown channel type’);
end
% QPSK demodulation
% Hard decision demodulation
% Decision regions
decision_regions = [fi(-1-1i,1,16,10), fi(-1+1i,1,16,10), fi(1-1i,1,16,10), fi(1+1i,1,16,10)];
% Initialize demodulated symbols
demodulated_symbols = zeros(1, n,’uint8′);
for i = 1:n
%Seperate real and imaginary part of received_signal and
%decision_regions
received_real = real(received_signal(i));
received_imag = imag(received_signal(i));
decision_real = real(decision_regions);
decision_imag = imag(decision_regions);
%Compute the absolute difference for real and imaginary parts
%seperately
diff_real = received_real – decision_real;
diff_imag = received_imag – decision_imag;
%Compute the absolute value using Pythagorean theorem
abs_diff = sqrt(diff_real.^2+diff_imag.^2);
%Find the index corresponding to the minimum absoloute difference
[~,~]=min(abs_diff);
end
% Calculate the error rate
errors = sum(bitxor(fi((data),0,8,0), fi((demodulated_symbols),0,8,0))); % Count errors
% Extract real and imaginary parts
received_signal_real = real(received_signal);
received_signal_imag = imag(received_signal);
error_rate = errors / n; % Calculate error rate
end
function noise = lfsr_noise(n)
% Linear feedback shift register (LFSR) for pseudo-random number generation
% Initialize LFSR state
lfsr_state = uint32(1);
noise = zeros(1, n,’like’,fi(0,1,16,10));
for i = 1:n
% Generate pseudo-random bit using xor feedback
new_bit = bitxor(bitget(lfsr_state, 1), bitget(lfsr_state, 3));
lfsr_state = bitshift(lfsr_state, -1);
lfsr_state = bitset(lfsr_state, 32, new_bit);
noise(i) = fi(lfsr_state,0,32,0) / fi(intmax(‘uint32’),1,16,10); % Scale [0,1]
end
end
function data = lfsr_data(n)
% Linear feedback shift register (LFSR) for generating random data
% Initialize LFSR state
lfsr_state = uint32(1);
data = zeros(1, n, ‘uint8’);
for i = 1:n
% Generate pseudo-random bit using xor feedback
new_bit = bitxor(bitget(lfsr_state, 1), bitget(lfsr_state, 3));
lfsr_state = bitshift(lfsr_state, -1);
lfsr_state = bitset(lfsr_state, 32, new_bit);
data(i) = fi((mod(lfsr_state,4)),0,2,0); % Generate random values in the range [0, 3]
end
end
function cos_value = cos_lookup(angle)
% Precompute cosine values for a range of angles
angles =fi( (0:0.01:2*pi),1,32,10); % Define the range of angles (adjust the step size as needed)
cos_values = fi((cos(angles)),1,16,10); % Compute cosine values
% Interpolate the cosine value for the given angle
cos_value = fi((zeros(size(angle))),1,16,10);
for i = 1:numel(angle)
[~,idx]=min(abs(angles-angle(i)));
cos_value(i)=cos_values(idx);
end
end
function y = log2_approx(x)
%Fixed-point logarithm base 2 approximation
y = fi(0,1,32,10);%Initialize y as fixed-point format
one = fi(1,1,32,10);%Define one in the same fixed-point format
sqrt2 = fi((sqrt(2)),1,32,10);%Define sqrt(2) in the same fixed -point format
for i = 1:32 %Limiting the iterations to 32 to avoid infinite loop
if x > one
x = bitsra(x,1);
y = fi((y + one),1,32,10);
end
end
frac = fi (0.5,1,32,10);
for i = 1:32
if x < one
x = bitsll(x,1);
y =fi( (y – one),1,32,10);
end
end
frac = fi (0.5,1,32,10);
two_pow_neg32 = fi((2^-32),1,32,10);
for i = 1:32
if x >= sqrt2
x = divide(x,sqrt2);
y =fi((y + frac) , 1,32,10);
end
frac = divide(frac,2);
end
end
function y = log10_approx(x)
%Approximate log10 function using a fixed-point approach
y = log2_approx(x)/ log2_approx(fi(10,1,32,10));
end
function result = divide(a,b)
%custom fixed-point division function
result = a/b;
result = fi(result,a.Signed,a.WordLength,a.FractionLength);
end hdl coder compatible code MATLAB Answers — New Questions
Requirements manager: How to maintain bidirectional requirements
Hi all.
After that I’ve created the requirements structure in exel file and i imported the requirements from the exel file into the Requirements manager, if I modify the requirements in the Requirements manager there is the possibility to maintain the bidirectionality of the change automatically with some mechanism or with an export function in the source exel file.
Thank you in advance.Hi all.
After that I’ve created the requirements structure in exel file and i imported the requirements from the exel file into the Requirements manager, if I modify the requirements in the Requirements manager there is the possibility to maintain the bidirectionality of the change automatically with some mechanism or with an export function in the source exel file.
Thank you in advance. Hi all.
After that I’ve created the requirements structure in exel file and i imported the requirements from the exel file into the Requirements manager, if I modify the requirements in the Requirements manager there is the possibility to maintain the bidirectionality of the change automatically with some mechanism or with an export function in the source exel file.
Thank you in advance. requirements manager MATLAB Answers — New Questions
Hi, I want to plot the eigenvalue of the Orr-Sommerfeld operator at different instants in time. How can I do that?
% p40.m – eigenvalues of Orr-Sommerfeld operator (compare p38.m)
R = 5772; clf, [ay,ax] = meshgrid([.56 .04],[.1 .5]);
for N = 40:20:100
% 2nd- and 4th-order differentiation matrices:
[D,x] = cheb(N); D2 = D^2; D2 = D2(2:N,2:N);
S = diag([0; 1 ./(1-x(2:N).^2); 0]);
D4 = (diag(1-x.^2)*D^4 – 8*diag(x)*D^3 – 12*D^2)*S;
D4 = D4(2:N,2:N);
% Orr-Sommerfeld operators A,B and generalized eigenvalues:
I = eye(N-1);
A = (D4-2*D2+I)/R – 2i*I – 1i*diag(1-x(2:N).^2)*(D2-I);
B = D2-I;
ee = eig(A,B);
i = N/20-1; subplot(‘position’,[ax(i) ay(i) .38 .38])
plot(ee,’.’,’markersize’,12)
grid on, axis([-.8 .2 -1 0]), axis square
title([‘N = ‘ int2str(N) ‘ lambda_{max} = ‘ …
num2str(max(real(ee)),’%16.12f’)]), drawnow
end
with the help of eigenshuffle function.
function [Vseq,Dseq] = eigenshuffle(Asequence,Bsequence)
% eigenshuffle: Consistent sorting for an eigenvalue/vector sequence
% [Vseq,Dseq] = eigenshuffle(Asequence)
% [Vseq,Dseq] = eigenshuffle(Asequence,Bsequence)
%
% Includes munkres.m (by gracious permission from Yi Cao)
% to choose the appropriate permutation. This greatly
% enhances the speed of eigenshuffle over my previous
% release.
%
% http://www.mathworks.com/matlabcentral/fileexchange/20652
%
% Arguments: (input)
% Asequence – an array of eigenvalue problems. If
% Asequence is a 3-d numeric array, then each
% plane of Asequence must contain a square
% matrix that will be used to call eig.
%
% Eig will be called on each of these matrices
% to produce a series of eigenvalues/vectors,
% one such set for each eigenvalue problem.
%
% Bsequence – (OPTIONAL) This allows the user to solve
% generalized eigenvalue problems of the form
%
% A*X = lambda*B*x
%
% Bsequence must be the same shape and size as
% Asequence.
%
% ONLY supply Bsequence when generalized eigenvalues
% will be computed.
%
% Arguments: (Output)
% Vseq – a 3-d array (pxpxn) of eigenvectors. Each
% plane of the array will be sorted into a
% consistent order with the other eigenvalue
% problems. The ordering chosen will be one
% that maximizes the energy of the consecutive
% eigensystems relative to each other.
%
% Dseq – pxn array of eigen values, sorted in order
% to be consistent with each other and with the
% eigenvectors in Vseq.
%
% Example:
% Efun = @(t) [1 2*t+1 t^2 t^3;2*t+1 2-t t^2 1-t^3; …
% t^2 t^2 3-2*t t^2;t^3 1-t^3 t^2 4-3*t];
%
% Aseq = zeros(4,4,21);
% for i = 1:21
% Aseq(:,:,i) = Efun((i-11)/10);
% end
% [Vseq,Dseq] = eigenshuffle(Aseq);
%
% To see that eigenshuffle has done its work correctly,
% look at the eigenvalues in sequence, after the shuffle.
%
% t = (-1:.1:1)’;
% [t,Dseq’]
% ans =
% -1 8.4535 5 2.3447 0.20181
% -0.9 7.8121 4.7687 2.3728 0.44644
% -0.8 7.2481 4.56 2.3413 0.65054
% -0.7 6.7524 4.3648 2.2709 0.8118
% -0.6 6.3156 4.1751 2.1857 0.92364
% -0.5 5.9283 3.9855 2.1118 0.97445
% -0.4 5.5816 3.7931 2.0727 0.95254
% -0.3 5.2676 3.5976 2.0768 0.858
% -0.2 4.9791 3.3995 2.1156 0.70581
% -0.1 4.7109 3.2 2.1742 0.51494
% 0 4.4605 3 2.2391 0.30037
% 0.1 4.2302 2.8 2.2971 0.072689
% 0.2 4.0303 2.5997 2.3303 -0.16034
% 0.3 3.8817 2.4047 2.3064 -0.39272
% 0.4 3.8108 2.1464 2.2628 -0.62001
% 0.5 3.8302 1.8986 2.1111 -0.83992
% 0.6 3.9301 1.5937 1.9298 -1.0537
% 0.7 4.0927 1.2308 1.745 -1.2685
% 0.8 4.3042 0.82515 1.5729 -1.5023
% 0.9 4.5572 0.40389 1.4272 -1.7883
% 1 4.8482 -8.0012e-16 1.3273 -2.1755
%
% Here, the columns are the shuffled eigenvalues.
% See that the second eigenvalue goes to zero, but
% the third eigenvalue remains positive. We can plot
% eigenvalues and see that they have crossed, near
% t = 0.35 in Efun.
%
% plot(-1:.1:1,Dseq’)
%
% For a better appreciation of what eigenshuffle did,
% compare the result of eig directly on Efun(.3) and
% Efun(.4). Thus:
%
% [V3,D3] = eig(Efun(.3))
% V3 =
% -0.74139 0.53464 -0.23551 0.3302
% 0.64781 0.4706 -0.16256 0.57659
% 0.0086542 -0.44236 -0.89119 0.10006
% -0.17496 -0.54498 0.35197 0.74061
%
% D3 =
% -0.39272 0 0 0
% 0 2.3064 0 0
% 0 0 2.4047 0
% 0 0 0 3.8817
%
% [V4,D4] = eig(Efun(.4))
% V4 =
% -0.73026 0.19752 0.49743 0.42459
% 0.66202 0.21373 0.35297 0.62567
% 0.013412 -0.95225 0.25513 0.16717
% -0.16815 -0.092308 -0.75026 0.63271
%
% D4 =
% -0.62001 0 0 0
% 0 2.1464 0 0
% 0 0 2.2628 0
% 0 0 0 3.8108
%
% With no sort or shuffle applied, look at V3(:,3). See
% that it is really closest to V4(:,2), but with a sign
% flip. Since the signs on the eigenvectors are arbitrary,
% the sign is changed, and the most consistent sequence
% will be chosen. By way of comparison, see how the
% eigenvectors in Vseq have been shuffled, the signs
% swapped appropriately.
%
% Vseq(:,:,14)
% ans =
% 0.3302 0.23551 -0.53464 0.74139
% 0.57659 0.16256 -0.4706 -0.64781
% 0.10006 0.89119 0.44236 -0.0086542
% 0.74061 -0.35197 0.54498 0.17496
%
% Vseq(:,:,15)
% ans =
% 0.42459 -0.19752 -0.49743 0.73026
% 0.62567 -0.21373 -0.35297 -0.66202
% 0.16717 0.95225 -0.25513 -0.013412
% 0.63271 0.092308 0.75026 0.16815
%
% See also: eig
%
% Author: John D’Errico
% e-mail: woodchips@rochester.rr.com
% Release: 3.0
% Release date: 2/18/09
% Is Asequence a 3-d array?
Asize = size(Asequence);
if (Asize(1)~=Asize(2))
error(‘Asequence must be a (pxpxn) array of eigen-problems, each of size pxp’)
end
% was Bsequence supplied
genflag = false;
if (nargin > 1) & ~isempty(Bsequence)
genflag = true;
if ~isequal(size(Asequence),size(Bsequence))
error(‘If Bsequence is provided to compute generalized eigenvalues, then Asequence and Bsequence must be the same size arrays’)
end
end
p = Asize(1);
if length(Asize)<3
n = 1;
else
n = Asize(3);
end
% the initial eigenvalues/vectors in nominal order
Vseq = zeros(p,p,n);
Dseq = zeros(p,n);
for i = 1:n
if genflag
[V,D] = eig(Asequence(:,:,i),Bsequence(:,:,i));
else
[V,D] = eig(Asequence(:,:,i));
end
D = diag(D);
% initial ordering is purely in decreasing order.
% If any are complex, the sort is in terms of the
% real part.
[junk,tags] = sort(real(D),1,’descend’);
Dseq(:,i) = D(tags);
Vseq(:,:,i) = V(:,tags);
end
% was there only one eigenvalue problem?
if n < 2
% we can quit now, having sorted the eigenvalues
% as best as we could.
return
end
% now, treat each eigenproblem in sequence (after
% the first one.)
for i = 2:n
% compute distance between systems
V1 = Vseq(:,:,i-1);
V2 = Vseq(:,:,i);
D1 = Dseq(:,i-1);
D2 = Dseq(:,i);
dist = (1-abs(V1’*V2)).*sqrt( …
distancematrix(real(D1),real(D2)).^2+ …
distancematrix(imag(D1),imag(D2)).^2);
% Is there a best permutation? use munkres.
% much faster than my own mintrace, munkres
% is used by gracious permission from Yi Cao.
reorder = munkres(dist);
Vseq(:,:,i) = Vseq(:,reorder,i);
Dseq(:,i) = Dseq(reorder,i);
% also ensure the signs of each eigenvector pair
% were consistent if possible
S = squeeze(real(sum(Vseq(:,:,i-1).*Vseq(:,:,i),1))) < 0;
Vseq(:,S,i) = -Vseq(:,S,i);
end
% =================
% end mainline
% =================
% begin subfunctions
% =================
function d = distancematrix(vec1,vec2)
% simple interpoint distance matrix
[vec1,vec2] = ndgrid(vec1,vec2);
d = abs(vec1 – vec2);
function [assignment,cost] = munkres(costMat)
% MUNKRES Munkres (Hungarian) Algorithm for Linear Assignment Problem.
%
% [ASSIGN,COST] = munkres(COSTMAT) returns the optimal column indices,
% ASSIGN assigned to each row and the minimum COST based on the assignment
% problem represented by the COSTMAT, where the (i,j)th element represents the cost to assign the jth
% job to the ith worker.
%
% This is vectorized implementation of the algorithm. It is the fastest
% among all Matlab implementations of the algorithm.
% Examples
% Example 1: a 5 x 5 example
%{
[assignment,cost] = munkres(magic(5));
disp(assignment); % 3 2 1 5 4
disp(cost); %15
%}
% Example 2: 400 x 400 random data
%{
n=400;
A=rand(n);
tic
[a,b]=munkres(A);
toc % about 2 seconds
%}
% Example 3: rectangular assignment with inf costs
%{
A=rand(10,7);
A(A>0.7)=Inf;
[a,b]=munkres(A);
%}
% Reference:
% "Munkres’ Assignment Algorithm, Modified for Rectangular Matrices",
% http://csclab.murraystate.edu/bob.pilgrim/445/munkres.html
% version 2.0 by Yi Cao at Cranfield University on 10th July 2008
assignment = zeros(1,size(costMat,1));
cost = 0;
costMat(costMat~=costMat)=Inf;
validMat = costMat<Inf;
validCol = any(validMat,1);
validRow = any(validMat,2);
nRows = sum(validRow);
nCols = sum(validCol);
n = max(nRows,nCols);
if ~n
return
end
maxv=10*max(costMat(validMat));
dMat = zeros(n) + maxv;
dMat(1:nRows,1:nCols) = costMat(validRow,validCol);
%*************************************************
% Munkres’ Assignment Algorithm starts here
%*************************************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% STEP 1: Subtract the row minimum from each row.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
minR = min(dMat,[],2);
minC = min(bsxfun(@minus, dMat, minR));
%**************************************************************************
% STEP 2: Find a zero of dMat. If there are no starred zeros in its
% column or row start the zero. Repeat for each zero
%**************************************************************************
zP = dMat == bsxfun(@plus, minC, minR);
starZ = zeros(n,1);
while any(zP(:))
[r,c]=find(zP,1);
starZ(r)=c;
zP(r,:)=false;
zP(:,c)=false;
end
while 1
%**************************************************************************
% STEP 3: Cover each column with a starred zero. If all the columns are
% covered then the matching is maximum
%**************************************************************************
if all(starZ>0)
break
end
coverColumn = false(1,n);
coverColumn(starZ(starZ>0))=true;
coverRow = false(n,1);
primeZ = zeros(n,1);
[rIdx, cIdx] = find(dMat(~coverRow,~coverColumn)==bsxfun(@plus,minR(~coverRow),minC(~coverColumn)));
while 1
%**************************************************************************
% STEP 4: Find a noncovered zero and prime it. If there is no starred
% zero in the row containing this primed zero, Go to Step 5.
% Otherwise, cover this row and uncover the column containing
% the starred zero. Continue in this manner until there are no
% uncovered zeros left. Save the smallest uncovered value and
% Go to Step 6.
%**************************************************************************
cR = find(~coverRow);
cC = find(~coverColumn);
rIdx = cR(rIdx);
cIdx = cC(cIdx);
Step = 6;
while ~isempty(cIdx)
uZr = rIdx(1);
uZc = cIdx(1);
primeZ(uZr) = uZc;
stz = starZ(uZr);
if ~stz
Step = 5;
break;
end
coverRow(uZr) = true;
coverColumn(stz) = false;
z = rIdx==uZr;
rIdx(z) = [];
cIdx(z) = [];
cR = find(~coverRow);
z = dMat(~coverRow,stz) == minR(~coverRow) + minC(stz);
rIdx = [rIdx(:);cR(z)];
cIdx = [cIdx(:);stz(ones(sum(z),1))];
end
if Step == 6
% *************************************************************************
% STEP 6: Add the minimum uncovered value to every element of each covered
% row, and subtract it from every element of each uncovered column.
% Return to Step 4 without altering any stars, primes, or covered lines.
%**************************************************************************
[minval,rIdx,cIdx]=outerplus(dMat(~coverRow,~coverColumn),minR(~coverRow),minC(~coverColumn));
minC(~coverColumn) = minC(~coverColumn) + minval;
minR(coverRow) = minR(coverRow) – minval;
else
break
end
end
%**************************************************************************
% STEP 5:
% Construct a series of alternating primed and starred zeros as
% follows:
% Let Z0 represent the uncovered primed zero found in Step 4.
% Let Z1 denote the starred zero in the column of Z0 (if any).
% Let Z2 denote the primed zero in the row of Z1 (there will always
% be one). Continue until the series terminates at a primed zero
% that has no starred zero in its column. Unstar each starred
% zero of the series, star each primed zero of the series, erase
% all primes and uncover every line in the matrix. Return to Step 3.
%**************************************************************************
rowZ1 = find(starZ==uZc);
starZ(uZr)=uZc;
while rowZ1>0
starZ(rowZ1)=0;
uZc = primeZ(rowZ1);
uZr = rowZ1;
rowZ1 = find(starZ==uZc);
starZ(uZr)=uZc;
end
end
% Cost of assignment
rowIdx = find(validRow);
colIdx = find(validCol);
starZ = starZ(1:nRows);
vIdx = starZ <= nCols;
assignment(rowIdx(vIdx)) = colIdx(starZ(vIdx));
cost = trace(costMat(assignment>0,assignment(assignment>0)));
function [minval,rIdx,cIdx]=outerplus(M,x,y)
[nx,ny]=size(M);
minval=inf;
for r=1:nx
x1=x(r);
for c=1:ny
M(r,c)=M(r,c)-(x1+y(c));
if minval>M(r,c)
minval=M(r,c);
end
end
end
[rIdx,cIdx]=find(M==minval);
This code is from SPECTRAL METHODS IN MATLAB by Trefethen. The eigenvalue problem is solved here. But for t>0, how can I calculate eigenvalues? . Dont hasitate to ask me any questien if my problem was mis understood. Thanks in advance.% p40.m – eigenvalues of Orr-Sommerfeld operator (compare p38.m)
R = 5772; clf, [ay,ax] = meshgrid([.56 .04],[.1 .5]);
for N = 40:20:100
% 2nd- and 4th-order differentiation matrices:
[D,x] = cheb(N); D2 = D^2; D2 = D2(2:N,2:N);
S = diag([0; 1 ./(1-x(2:N).^2); 0]);
D4 = (diag(1-x.^2)*D^4 – 8*diag(x)*D^3 – 12*D^2)*S;
D4 = D4(2:N,2:N);
% Orr-Sommerfeld operators A,B and generalized eigenvalues:
I = eye(N-1);
A = (D4-2*D2+I)/R – 2i*I – 1i*diag(1-x(2:N).^2)*(D2-I);
B = D2-I;
ee = eig(A,B);
i = N/20-1; subplot(‘position’,[ax(i) ay(i) .38 .38])
plot(ee,’.’,’markersize’,12)
grid on, axis([-.8 .2 -1 0]), axis square
title([‘N = ‘ int2str(N) ‘ lambda_{max} = ‘ …
num2str(max(real(ee)),’%16.12f’)]), drawnow
end
with the help of eigenshuffle function.
function [Vseq,Dseq] = eigenshuffle(Asequence,Bsequence)
% eigenshuffle: Consistent sorting for an eigenvalue/vector sequence
% [Vseq,Dseq] = eigenshuffle(Asequence)
% [Vseq,Dseq] = eigenshuffle(Asequence,Bsequence)
%
% Includes munkres.m (by gracious permission from Yi Cao)
% to choose the appropriate permutation. This greatly
% enhances the speed of eigenshuffle over my previous
% release.
%
% http://www.mathworks.com/matlabcentral/fileexchange/20652
%
% Arguments: (input)
% Asequence – an array of eigenvalue problems. If
% Asequence is a 3-d numeric array, then each
% plane of Asequence must contain a square
% matrix that will be used to call eig.
%
% Eig will be called on each of these matrices
% to produce a series of eigenvalues/vectors,
% one such set for each eigenvalue problem.
%
% Bsequence – (OPTIONAL) This allows the user to solve
% generalized eigenvalue problems of the form
%
% A*X = lambda*B*x
%
% Bsequence must be the same shape and size as
% Asequence.
%
% ONLY supply Bsequence when generalized eigenvalues
% will be computed.
%
% Arguments: (Output)
% Vseq – a 3-d array (pxpxn) of eigenvectors. Each
% plane of the array will be sorted into a
% consistent order with the other eigenvalue
% problems. The ordering chosen will be one
% that maximizes the energy of the consecutive
% eigensystems relative to each other.
%
% Dseq – pxn array of eigen values, sorted in order
% to be consistent with each other and with the
% eigenvectors in Vseq.
%
% Example:
% Efun = @(t) [1 2*t+1 t^2 t^3;2*t+1 2-t t^2 1-t^3; …
% t^2 t^2 3-2*t t^2;t^3 1-t^3 t^2 4-3*t];
%
% Aseq = zeros(4,4,21);
% for i = 1:21
% Aseq(:,:,i) = Efun((i-11)/10);
% end
% [Vseq,Dseq] = eigenshuffle(Aseq);
%
% To see that eigenshuffle has done its work correctly,
% look at the eigenvalues in sequence, after the shuffle.
%
% t = (-1:.1:1)’;
% [t,Dseq’]
% ans =
% -1 8.4535 5 2.3447 0.20181
% -0.9 7.8121 4.7687 2.3728 0.44644
% -0.8 7.2481 4.56 2.3413 0.65054
% -0.7 6.7524 4.3648 2.2709 0.8118
% -0.6 6.3156 4.1751 2.1857 0.92364
% -0.5 5.9283 3.9855 2.1118 0.97445
% -0.4 5.5816 3.7931 2.0727 0.95254
% -0.3 5.2676 3.5976 2.0768 0.858
% -0.2 4.9791 3.3995 2.1156 0.70581
% -0.1 4.7109 3.2 2.1742 0.51494
% 0 4.4605 3 2.2391 0.30037
% 0.1 4.2302 2.8 2.2971 0.072689
% 0.2 4.0303 2.5997 2.3303 -0.16034
% 0.3 3.8817 2.4047 2.3064 -0.39272
% 0.4 3.8108 2.1464 2.2628 -0.62001
% 0.5 3.8302 1.8986 2.1111 -0.83992
% 0.6 3.9301 1.5937 1.9298 -1.0537
% 0.7 4.0927 1.2308 1.745 -1.2685
% 0.8 4.3042 0.82515 1.5729 -1.5023
% 0.9 4.5572 0.40389 1.4272 -1.7883
% 1 4.8482 -8.0012e-16 1.3273 -2.1755
%
% Here, the columns are the shuffled eigenvalues.
% See that the second eigenvalue goes to zero, but
% the third eigenvalue remains positive. We can plot
% eigenvalues and see that they have crossed, near
% t = 0.35 in Efun.
%
% plot(-1:.1:1,Dseq’)
%
% For a better appreciation of what eigenshuffle did,
% compare the result of eig directly on Efun(.3) and
% Efun(.4). Thus:
%
% [V3,D3] = eig(Efun(.3))
% V3 =
% -0.74139 0.53464 -0.23551 0.3302
% 0.64781 0.4706 -0.16256 0.57659
% 0.0086542 -0.44236 -0.89119 0.10006
% -0.17496 -0.54498 0.35197 0.74061
%
% D3 =
% -0.39272 0 0 0
% 0 2.3064 0 0
% 0 0 2.4047 0
% 0 0 0 3.8817
%
% [V4,D4] = eig(Efun(.4))
% V4 =
% -0.73026 0.19752 0.49743 0.42459
% 0.66202 0.21373 0.35297 0.62567
% 0.013412 -0.95225 0.25513 0.16717
% -0.16815 -0.092308 -0.75026 0.63271
%
% D4 =
% -0.62001 0 0 0
% 0 2.1464 0 0
% 0 0 2.2628 0
% 0 0 0 3.8108
%
% With no sort or shuffle applied, look at V3(:,3). See
% that it is really closest to V4(:,2), but with a sign
% flip. Since the signs on the eigenvectors are arbitrary,
% the sign is changed, and the most consistent sequence
% will be chosen. By way of comparison, see how the
% eigenvectors in Vseq have been shuffled, the signs
% swapped appropriately.
%
% Vseq(:,:,14)
% ans =
% 0.3302 0.23551 -0.53464 0.74139
% 0.57659 0.16256 -0.4706 -0.64781
% 0.10006 0.89119 0.44236 -0.0086542
% 0.74061 -0.35197 0.54498 0.17496
%
% Vseq(:,:,15)
% ans =
% 0.42459 -0.19752 -0.49743 0.73026
% 0.62567 -0.21373 -0.35297 -0.66202
% 0.16717 0.95225 -0.25513 -0.013412
% 0.63271 0.092308 0.75026 0.16815
%
% See also: eig
%
% Author: John D’Errico
% e-mail: woodchips@rochester.rr.com
% Release: 3.0
% Release date: 2/18/09
% Is Asequence a 3-d array?
Asize = size(Asequence);
if (Asize(1)~=Asize(2))
error(‘Asequence must be a (pxpxn) array of eigen-problems, each of size pxp’)
end
% was Bsequence supplied
genflag = false;
if (nargin > 1) & ~isempty(Bsequence)
genflag = true;
if ~isequal(size(Asequence),size(Bsequence))
error(‘If Bsequence is provided to compute generalized eigenvalues, then Asequence and Bsequence must be the same size arrays’)
end
end
p = Asize(1);
if length(Asize)<3
n = 1;
else
n = Asize(3);
end
% the initial eigenvalues/vectors in nominal order
Vseq = zeros(p,p,n);
Dseq = zeros(p,n);
for i = 1:n
if genflag
[V,D] = eig(Asequence(:,:,i),Bsequence(:,:,i));
else
[V,D] = eig(Asequence(:,:,i));
end
D = diag(D);
% initial ordering is purely in decreasing order.
% If any are complex, the sort is in terms of the
% real part.
[junk,tags] = sort(real(D),1,’descend’);
Dseq(:,i) = D(tags);
Vseq(:,:,i) = V(:,tags);
end
% was there only one eigenvalue problem?
if n < 2
% we can quit now, having sorted the eigenvalues
% as best as we could.
return
end
% now, treat each eigenproblem in sequence (after
% the first one.)
for i = 2:n
% compute distance between systems
V1 = Vseq(:,:,i-1);
V2 = Vseq(:,:,i);
D1 = Dseq(:,i-1);
D2 = Dseq(:,i);
dist = (1-abs(V1’*V2)).*sqrt( …
distancematrix(real(D1),real(D2)).^2+ …
distancematrix(imag(D1),imag(D2)).^2);
% Is there a best permutation? use munkres.
% much faster than my own mintrace, munkres
% is used by gracious permission from Yi Cao.
reorder = munkres(dist);
Vseq(:,:,i) = Vseq(:,reorder,i);
Dseq(:,i) = Dseq(reorder,i);
% also ensure the signs of each eigenvector pair
% were consistent if possible
S = squeeze(real(sum(Vseq(:,:,i-1).*Vseq(:,:,i),1))) < 0;
Vseq(:,S,i) = -Vseq(:,S,i);
end
% =================
% end mainline
% =================
% begin subfunctions
% =================
function d = distancematrix(vec1,vec2)
% simple interpoint distance matrix
[vec1,vec2] = ndgrid(vec1,vec2);
d = abs(vec1 – vec2);
function [assignment,cost] = munkres(costMat)
% MUNKRES Munkres (Hungarian) Algorithm for Linear Assignment Problem.
%
% [ASSIGN,COST] = munkres(COSTMAT) returns the optimal column indices,
% ASSIGN assigned to each row and the minimum COST based on the assignment
% problem represented by the COSTMAT, where the (i,j)th element represents the cost to assign the jth
% job to the ith worker.
%
% This is vectorized implementation of the algorithm. It is the fastest
% among all Matlab implementations of the algorithm.
% Examples
% Example 1: a 5 x 5 example
%{
[assignment,cost] = munkres(magic(5));
disp(assignment); % 3 2 1 5 4
disp(cost); %15
%}
% Example 2: 400 x 400 random data
%{
n=400;
A=rand(n);
tic
[a,b]=munkres(A);
toc % about 2 seconds
%}
% Example 3: rectangular assignment with inf costs
%{
A=rand(10,7);
A(A>0.7)=Inf;
[a,b]=munkres(A);
%}
% Reference:
% "Munkres’ Assignment Algorithm, Modified for Rectangular Matrices",
% http://csclab.murraystate.edu/bob.pilgrim/445/munkres.html
% version 2.0 by Yi Cao at Cranfield University on 10th July 2008
assignment = zeros(1,size(costMat,1));
cost = 0;
costMat(costMat~=costMat)=Inf;
validMat = costMat<Inf;
validCol = any(validMat,1);
validRow = any(validMat,2);
nRows = sum(validRow);
nCols = sum(validCol);
n = max(nRows,nCols);
if ~n
return
end
maxv=10*max(costMat(validMat));
dMat = zeros(n) + maxv;
dMat(1:nRows,1:nCols) = costMat(validRow,validCol);
%*************************************************
% Munkres’ Assignment Algorithm starts here
%*************************************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% STEP 1: Subtract the row minimum from each row.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
minR = min(dMat,[],2);
minC = min(bsxfun(@minus, dMat, minR));
%**************************************************************************
% STEP 2: Find a zero of dMat. If there are no starred zeros in its
% column or row start the zero. Repeat for each zero
%**************************************************************************
zP = dMat == bsxfun(@plus, minC, minR);
starZ = zeros(n,1);
while any(zP(:))
[r,c]=find(zP,1);
starZ(r)=c;
zP(r,:)=false;
zP(:,c)=false;
end
while 1
%**************************************************************************
% STEP 3: Cover each column with a starred zero. If all the columns are
% covered then the matching is maximum
%**************************************************************************
if all(starZ>0)
break
end
coverColumn = false(1,n);
coverColumn(starZ(starZ>0))=true;
coverRow = false(n,1);
primeZ = zeros(n,1);
[rIdx, cIdx] = find(dMat(~coverRow,~coverColumn)==bsxfun(@plus,minR(~coverRow),minC(~coverColumn)));
while 1
%**************************************************************************
% STEP 4: Find a noncovered zero and prime it. If there is no starred
% zero in the row containing this primed zero, Go to Step 5.
% Otherwise, cover this row and uncover the column containing
% the starred zero. Continue in this manner until there are no
% uncovered zeros left. Save the smallest uncovered value and
% Go to Step 6.
%**************************************************************************
cR = find(~coverRow);
cC = find(~coverColumn);
rIdx = cR(rIdx);
cIdx = cC(cIdx);
Step = 6;
while ~isempty(cIdx)
uZr = rIdx(1);
uZc = cIdx(1);
primeZ(uZr) = uZc;
stz = starZ(uZr);
if ~stz
Step = 5;
break;
end
coverRow(uZr) = true;
coverColumn(stz) = false;
z = rIdx==uZr;
rIdx(z) = [];
cIdx(z) = [];
cR = find(~coverRow);
z = dMat(~coverRow,stz) == minR(~coverRow) + minC(stz);
rIdx = [rIdx(:);cR(z)];
cIdx = [cIdx(:);stz(ones(sum(z),1))];
end
if Step == 6
% *************************************************************************
% STEP 6: Add the minimum uncovered value to every element of each covered
% row, and subtract it from every element of each uncovered column.
% Return to Step 4 without altering any stars, primes, or covered lines.
%**************************************************************************
[minval,rIdx,cIdx]=outerplus(dMat(~coverRow,~coverColumn),minR(~coverRow),minC(~coverColumn));
minC(~coverColumn) = minC(~coverColumn) + minval;
minR(coverRow) = minR(coverRow) – minval;
else
break
end
end
%**************************************************************************
% STEP 5:
% Construct a series of alternating primed and starred zeros as
% follows:
% Let Z0 represent the uncovered primed zero found in Step 4.
% Let Z1 denote the starred zero in the column of Z0 (if any).
% Let Z2 denote the primed zero in the row of Z1 (there will always
% be one). Continue until the series terminates at a primed zero
% that has no starred zero in its column. Unstar each starred
% zero of the series, star each primed zero of the series, erase
% all primes and uncover every line in the matrix. Return to Step 3.
%**************************************************************************
rowZ1 = find(starZ==uZc);
starZ(uZr)=uZc;
while rowZ1>0
starZ(rowZ1)=0;
uZc = primeZ(rowZ1);
uZr = rowZ1;
rowZ1 = find(starZ==uZc);
starZ(uZr)=uZc;
end
end
% Cost of assignment
rowIdx = find(validRow);
colIdx = find(validCol);
starZ = starZ(1:nRows);
vIdx = starZ <= nCols;
assignment(rowIdx(vIdx)) = colIdx(starZ(vIdx));
cost = trace(costMat(assignment>0,assignment(assignment>0)));
function [minval,rIdx,cIdx]=outerplus(M,x,y)
[nx,ny]=size(M);
minval=inf;
for r=1:nx
x1=x(r);
for c=1:ny
M(r,c)=M(r,c)-(x1+y(c));
if minval>M(r,c)
minval=M(r,c);
end
end
end
[rIdx,cIdx]=find(M==minval);
This code is from SPECTRAL METHODS IN MATLAB by Trefethen. The eigenvalue problem is solved here. But for t>0, how can I calculate eigenvalues? . Dont hasitate to ask me any questien if my problem was mis understood. Thanks in advance. % p40.m – eigenvalues of Orr-Sommerfeld operator (compare p38.m)
R = 5772; clf, [ay,ax] = meshgrid([.56 .04],[.1 .5]);
for N = 40:20:100
% 2nd- and 4th-order differentiation matrices:
[D,x] = cheb(N); D2 = D^2; D2 = D2(2:N,2:N);
S = diag([0; 1 ./(1-x(2:N).^2); 0]);
D4 = (diag(1-x.^2)*D^4 – 8*diag(x)*D^3 – 12*D^2)*S;
D4 = D4(2:N,2:N);
% Orr-Sommerfeld operators A,B and generalized eigenvalues:
I = eye(N-1);
A = (D4-2*D2+I)/R – 2i*I – 1i*diag(1-x(2:N).^2)*(D2-I);
B = D2-I;
ee = eig(A,B);
i = N/20-1; subplot(‘position’,[ax(i) ay(i) .38 .38])
plot(ee,’.’,’markersize’,12)
grid on, axis([-.8 .2 -1 0]), axis square
title([‘N = ‘ int2str(N) ‘ lambda_{max} = ‘ …
num2str(max(real(ee)),’%16.12f’)]), drawnow
end
with the help of eigenshuffle function.
function [Vseq,Dseq] = eigenshuffle(Asequence,Bsequence)
% eigenshuffle: Consistent sorting for an eigenvalue/vector sequence
% [Vseq,Dseq] = eigenshuffle(Asequence)
% [Vseq,Dseq] = eigenshuffle(Asequence,Bsequence)
%
% Includes munkres.m (by gracious permission from Yi Cao)
% to choose the appropriate permutation. This greatly
% enhances the speed of eigenshuffle over my previous
% release.
%
% http://www.mathworks.com/matlabcentral/fileexchange/20652
%
% Arguments: (input)
% Asequence – an array of eigenvalue problems. If
% Asequence is a 3-d numeric array, then each
% plane of Asequence must contain a square
% matrix that will be used to call eig.
%
% Eig will be called on each of these matrices
% to produce a series of eigenvalues/vectors,
% one such set for each eigenvalue problem.
%
% Bsequence – (OPTIONAL) This allows the user to solve
% generalized eigenvalue problems of the form
%
% A*X = lambda*B*x
%
% Bsequence must be the same shape and size as
% Asequence.
%
% ONLY supply Bsequence when generalized eigenvalues
% will be computed.
%
% Arguments: (Output)
% Vseq – a 3-d array (pxpxn) of eigenvectors. Each
% plane of the array will be sorted into a
% consistent order with the other eigenvalue
% problems. The ordering chosen will be one
% that maximizes the energy of the consecutive
% eigensystems relative to each other.
%
% Dseq – pxn array of eigen values, sorted in order
% to be consistent with each other and with the
% eigenvectors in Vseq.
%
% Example:
% Efun = @(t) [1 2*t+1 t^2 t^3;2*t+1 2-t t^2 1-t^3; …
% t^2 t^2 3-2*t t^2;t^3 1-t^3 t^2 4-3*t];
%
% Aseq = zeros(4,4,21);
% for i = 1:21
% Aseq(:,:,i) = Efun((i-11)/10);
% end
% [Vseq,Dseq] = eigenshuffle(Aseq);
%
% To see that eigenshuffle has done its work correctly,
% look at the eigenvalues in sequence, after the shuffle.
%
% t = (-1:.1:1)’;
% [t,Dseq’]
% ans =
% -1 8.4535 5 2.3447 0.20181
% -0.9 7.8121 4.7687 2.3728 0.44644
% -0.8 7.2481 4.56 2.3413 0.65054
% -0.7 6.7524 4.3648 2.2709 0.8118
% -0.6 6.3156 4.1751 2.1857 0.92364
% -0.5 5.9283 3.9855 2.1118 0.97445
% -0.4 5.5816 3.7931 2.0727 0.95254
% -0.3 5.2676 3.5976 2.0768 0.858
% -0.2 4.9791 3.3995 2.1156 0.70581
% -0.1 4.7109 3.2 2.1742 0.51494
% 0 4.4605 3 2.2391 0.30037
% 0.1 4.2302 2.8 2.2971 0.072689
% 0.2 4.0303 2.5997 2.3303 -0.16034
% 0.3 3.8817 2.4047 2.3064 -0.39272
% 0.4 3.8108 2.1464 2.2628 -0.62001
% 0.5 3.8302 1.8986 2.1111 -0.83992
% 0.6 3.9301 1.5937 1.9298 -1.0537
% 0.7 4.0927 1.2308 1.745 -1.2685
% 0.8 4.3042 0.82515 1.5729 -1.5023
% 0.9 4.5572 0.40389 1.4272 -1.7883
% 1 4.8482 -8.0012e-16 1.3273 -2.1755
%
% Here, the columns are the shuffled eigenvalues.
% See that the second eigenvalue goes to zero, but
% the third eigenvalue remains positive. We can plot
% eigenvalues and see that they have crossed, near
% t = 0.35 in Efun.
%
% plot(-1:.1:1,Dseq’)
%
% For a better appreciation of what eigenshuffle did,
% compare the result of eig directly on Efun(.3) and
% Efun(.4). Thus:
%
% [V3,D3] = eig(Efun(.3))
% V3 =
% -0.74139 0.53464 -0.23551 0.3302
% 0.64781 0.4706 -0.16256 0.57659
% 0.0086542 -0.44236 -0.89119 0.10006
% -0.17496 -0.54498 0.35197 0.74061
%
% D3 =
% -0.39272 0 0 0
% 0 2.3064 0 0
% 0 0 2.4047 0
% 0 0 0 3.8817
%
% [V4,D4] = eig(Efun(.4))
% V4 =
% -0.73026 0.19752 0.49743 0.42459
% 0.66202 0.21373 0.35297 0.62567
% 0.013412 -0.95225 0.25513 0.16717
% -0.16815 -0.092308 -0.75026 0.63271
%
% D4 =
% -0.62001 0 0 0
% 0 2.1464 0 0
% 0 0 2.2628 0
% 0 0 0 3.8108
%
% With no sort or shuffle applied, look at V3(:,3). See
% that it is really closest to V4(:,2), but with a sign
% flip. Since the signs on the eigenvectors are arbitrary,
% the sign is changed, and the most consistent sequence
% will be chosen. By way of comparison, see how the
% eigenvectors in Vseq have been shuffled, the signs
% swapped appropriately.
%
% Vseq(:,:,14)
% ans =
% 0.3302 0.23551 -0.53464 0.74139
% 0.57659 0.16256 -0.4706 -0.64781
% 0.10006 0.89119 0.44236 -0.0086542
% 0.74061 -0.35197 0.54498 0.17496
%
% Vseq(:,:,15)
% ans =
% 0.42459 -0.19752 -0.49743 0.73026
% 0.62567 -0.21373 -0.35297 -0.66202
% 0.16717 0.95225 -0.25513 -0.013412
% 0.63271 0.092308 0.75026 0.16815
%
% See also: eig
%
% Author: John D’Errico
% e-mail: woodchips@rochester.rr.com
% Release: 3.0
% Release date: 2/18/09
% Is Asequence a 3-d array?
Asize = size(Asequence);
if (Asize(1)~=Asize(2))
error(‘Asequence must be a (pxpxn) array of eigen-problems, each of size pxp’)
end
% was Bsequence supplied
genflag = false;
if (nargin > 1) & ~isempty(Bsequence)
genflag = true;
if ~isequal(size(Asequence),size(Bsequence))
error(‘If Bsequence is provided to compute generalized eigenvalues, then Asequence and Bsequence must be the same size arrays’)
end
end
p = Asize(1);
if length(Asize)<3
n = 1;
else
n = Asize(3);
end
% the initial eigenvalues/vectors in nominal order
Vseq = zeros(p,p,n);
Dseq = zeros(p,n);
for i = 1:n
if genflag
[V,D] = eig(Asequence(:,:,i),Bsequence(:,:,i));
else
[V,D] = eig(Asequence(:,:,i));
end
D = diag(D);
% initial ordering is purely in decreasing order.
% If any are complex, the sort is in terms of the
% real part.
[junk,tags] = sort(real(D),1,’descend’);
Dseq(:,i) = D(tags);
Vseq(:,:,i) = V(:,tags);
end
% was there only one eigenvalue problem?
if n < 2
% we can quit now, having sorted the eigenvalues
% as best as we could.
return
end
% now, treat each eigenproblem in sequence (after
% the first one.)
for i = 2:n
% compute distance between systems
V1 = Vseq(:,:,i-1);
V2 = Vseq(:,:,i);
D1 = Dseq(:,i-1);
D2 = Dseq(:,i);
dist = (1-abs(V1’*V2)).*sqrt( …
distancematrix(real(D1),real(D2)).^2+ …
distancematrix(imag(D1),imag(D2)).^2);
% Is there a best permutation? use munkres.
% much faster than my own mintrace, munkres
% is used by gracious permission from Yi Cao.
reorder = munkres(dist);
Vseq(:,:,i) = Vseq(:,reorder,i);
Dseq(:,i) = Dseq(reorder,i);
% also ensure the signs of each eigenvector pair
% were consistent if possible
S = squeeze(real(sum(Vseq(:,:,i-1).*Vseq(:,:,i),1))) < 0;
Vseq(:,S,i) = -Vseq(:,S,i);
end
% =================
% end mainline
% =================
% begin subfunctions
% =================
function d = distancematrix(vec1,vec2)
% simple interpoint distance matrix
[vec1,vec2] = ndgrid(vec1,vec2);
d = abs(vec1 – vec2);
function [assignment,cost] = munkres(costMat)
% MUNKRES Munkres (Hungarian) Algorithm for Linear Assignment Problem.
%
% [ASSIGN,COST] = munkres(COSTMAT) returns the optimal column indices,
% ASSIGN assigned to each row and the minimum COST based on the assignment
% problem represented by the COSTMAT, where the (i,j)th element represents the cost to assign the jth
% job to the ith worker.
%
% This is vectorized implementation of the algorithm. It is the fastest
% among all Matlab implementations of the algorithm.
% Examples
% Example 1: a 5 x 5 example
%{
[assignment,cost] = munkres(magic(5));
disp(assignment); % 3 2 1 5 4
disp(cost); %15
%}
% Example 2: 400 x 400 random data
%{
n=400;
A=rand(n);
tic
[a,b]=munkres(A);
toc % about 2 seconds
%}
% Example 3: rectangular assignment with inf costs
%{
A=rand(10,7);
A(A>0.7)=Inf;
[a,b]=munkres(A);
%}
% Reference:
% "Munkres’ Assignment Algorithm, Modified for Rectangular Matrices",
% http://csclab.murraystate.edu/bob.pilgrim/445/munkres.html
% version 2.0 by Yi Cao at Cranfield University on 10th July 2008
assignment = zeros(1,size(costMat,1));
cost = 0;
costMat(costMat~=costMat)=Inf;
validMat = costMat<Inf;
validCol = any(validMat,1);
validRow = any(validMat,2);
nRows = sum(validRow);
nCols = sum(validCol);
n = max(nRows,nCols);
if ~n
return
end
maxv=10*max(costMat(validMat));
dMat = zeros(n) + maxv;
dMat(1:nRows,1:nCols) = costMat(validRow,validCol);
%*************************************************
% Munkres’ Assignment Algorithm starts here
%*************************************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% STEP 1: Subtract the row minimum from each row.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
minR = min(dMat,[],2);
minC = min(bsxfun(@minus, dMat, minR));
%**************************************************************************
% STEP 2: Find a zero of dMat. If there are no starred zeros in its
% column or row start the zero. Repeat for each zero
%**************************************************************************
zP = dMat == bsxfun(@plus, minC, minR);
starZ = zeros(n,1);
while any(zP(:))
[r,c]=find(zP,1);
starZ(r)=c;
zP(r,:)=false;
zP(:,c)=false;
end
while 1
%**************************************************************************
% STEP 3: Cover each column with a starred zero. If all the columns are
% covered then the matching is maximum
%**************************************************************************
if all(starZ>0)
break
end
coverColumn = false(1,n);
coverColumn(starZ(starZ>0))=true;
coverRow = false(n,1);
primeZ = zeros(n,1);
[rIdx, cIdx] = find(dMat(~coverRow,~coverColumn)==bsxfun(@plus,minR(~coverRow),minC(~coverColumn)));
while 1
%**************************************************************************
% STEP 4: Find a noncovered zero and prime it. If there is no starred
% zero in the row containing this primed zero, Go to Step 5.
% Otherwise, cover this row and uncover the column containing
% the starred zero. Continue in this manner until there are no
% uncovered zeros left. Save the smallest uncovered value and
% Go to Step 6.
%**************************************************************************
cR = find(~coverRow);
cC = find(~coverColumn);
rIdx = cR(rIdx);
cIdx = cC(cIdx);
Step = 6;
while ~isempty(cIdx)
uZr = rIdx(1);
uZc = cIdx(1);
primeZ(uZr) = uZc;
stz = starZ(uZr);
if ~stz
Step = 5;
break;
end
coverRow(uZr) = true;
coverColumn(stz) = false;
z = rIdx==uZr;
rIdx(z) = [];
cIdx(z) = [];
cR = find(~coverRow);
z = dMat(~coverRow,stz) == minR(~coverRow) + minC(stz);
rIdx = [rIdx(:);cR(z)];
cIdx = [cIdx(:);stz(ones(sum(z),1))];
end
if Step == 6
% *************************************************************************
% STEP 6: Add the minimum uncovered value to every element of each covered
% row, and subtract it from every element of each uncovered column.
% Return to Step 4 without altering any stars, primes, or covered lines.
%**************************************************************************
[minval,rIdx,cIdx]=outerplus(dMat(~coverRow,~coverColumn),minR(~coverRow),minC(~coverColumn));
minC(~coverColumn) = minC(~coverColumn) + minval;
minR(coverRow) = minR(coverRow) – minval;
else
break
end
end
%**************************************************************************
% STEP 5:
% Construct a series of alternating primed and starred zeros as
% follows:
% Let Z0 represent the uncovered primed zero found in Step 4.
% Let Z1 denote the starred zero in the column of Z0 (if any).
% Let Z2 denote the primed zero in the row of Z1 (there will always
% be one). Continue until the series terminates at a primed zero
% that has no starred zero in its column. Unstar each starred
% zero of the series, star each primed zero of the series, erase
% all primes and uncover every line in the matrix. Return to Step 3.
%**************************************************************************
rowZ1 = find(starZ==uZc);
starZ(uZr)=uZc;
while rowZ1>0
starZ(rowZ1)=0;
uZc = primeZ(rowZ1);
uZr = rowZ1;
rowZ1 = find(starZ==uZc);
starZ(uZr)=uZc;
end
end
% Cost of assignment
rowIdx = find(validRow);
colIdx = find(validCol);
starZ = starZ(1:nRows);
vIdx = starZ <= nCols;
assignment(rowIdx(vIdx)) = colIdx(starZ(vIdx));
cost = trace(costMat(assignment>0,assignment(assignment>0)));
function [minval,rIdx,cIdx]=outerplus(M,x,y)
[nx,ny]=size(M);
minval=inf;
for r=1:nx
x1=x(r);
for c=1:ny
M(r,c)=M(r,c)-(x1+y(c));
if minval>M(r,c)
minval=M(r,c);
end
end
end
[rIdx,cIdx]=find(M==minval);
This code is from SPECTRAL METHODS IN MATLAB by Trefethen. The eigenvalue problem is solved here. But for t>0, how can I calculate eigenvalues? . Dont hasitate to ask me any questien if my problem was mis understood. Thanks in advance. eigenvalues, orr-sommerfeld operator, numarical, chebysheb MATLAB Answers — New Questions
About a csv file from matlab 2018
Can anyone share the weatherReports.csv file from matlab 2018??Can anyone share the weatherReports.csv file from matlab 2018?? Can anyone share the weatherReports.csv file from matlab 2018?? matlab 2018, csv fil, whetherreports MATLAB Answers — New Questions
RL Training Slows Down With Full Experience Buffer
I’m working on an RL project using a DQN agent with a custom environment. I tried training the agent without an LSTM layer with limited success and now I’m trying with an LSTM layer. I very quickly noticed that after the experience buffer is filled, i.e. the Total Number of Steps counter reaches the ExperienceBuffer length set in the agent properties, the training slows to a crawl. Where the first several training episodes complete in seconds, once this value of total steps is reached the next episode takes several minutes to train, and future ones don’t seem to recover the speed. This hasn’t happened in all my iterations of the agent and learning settings before I enabled the LSTM layer.
I’m wondering if this is expected behavior, why this might be happening given my settings, etc. My agent options are below, more details can be given if needed. Thanks!
agentOpts = rlDQNAgentOptions;
agentOpts.SequenceLength = 16;
agentOpts.MiniBatchSize = 100; % grab 100 "trajectories" of length 16 from the buffer at a time for training
agentOpts.NumStepsToLookAhead = 1; % forced for LSTM enabled critics
agentOpts.ExperienceBufferLength = 10000; % once the total steps reaches this number, training slows down dramatically
The critic network setup is:
ObservationInfo = rlNumericSpec([16 1]); % 16 tile game board
ActionInfo = rlFiniteSetSpec([1 2 3 4]); % 4 possible actions per turn
% Input Layer
layers = [
sequenceInputLayer(16, "Name", "input_1")
fullyConnectedLayer(1024,"Name","fc_1", "WeightsInitializer", "he")
reluLayer("Name","relu_body")
];
% Body Hidden Layers
for i = 1:3
layers = [layers
fullyConnectedLayer(1024,"Name", join(["fc_" num2str(i)]), "WeightsInitializer", "he")
reluLayer("Name", join(["body_output_" num2str(i)]))
];
end
% LSTM Layer
layers = [layers
lstmLayer(1024,"Name","lstm", "InputWeightsInitializer", "he", "RecurrentWeightsInitializer", "he")
];
% Output Layer
layers = [layers
fullyConnectedLayer(4,"Name","fc_action")
regressionLayer("Name","output")
];
dqnCritic = rlQValueRepresentation(layers, ObservationInfo, ActionInfo, "Observation", "input_1");I’m working on an RL project using a DQN agent with a custom environment. I tried training the agent without an LSTM layer with limited success and now I’m trying with an LSTM layer. I very quickly noticed that after the experience buffer is filled, i.e. the Total Number of Steps counter reaches the ExperienceBuffer length set in the agent properties, the training slows to a crawl. Where the first several training episodes complete in seconds, once this value of total steps is reached the next episode takes several minutes to train, and future ones don’t seem to recover the speed. This hasn’t happened in all my iterations of the agent and learning settings before I enabled the LSTM layer.
I’m wondering if this is expected behavior, why this might be happening given my settings, etc. My agent options are below, more details can be given if needed. Thanks!
agentOpts = rlDQNAgentOptions;
agentOpts.SequenceLength = 16;
agentOpts.MiniBatchSize = 100; % grab 100 "trajectories" of length 16 from the buffer at a time for training
agentOpts.NumStepsToLookAhead = 1; % forced for LSTM enabled critics
agentOpts.ExperienceBufferLength = 10000; % once the total steps reaches this number, training slows down dramatically
The critic network setup is:
ObservationInfo = rlNumericSpec([16 1]); % 16 tile game board
ActionInfo = rlFiniteSetSpec([1 2 3 4]); % 4 possible actions per turn
% Input Layer
layers = [
sequenceInputLayer(16, "Name", "input_1")
fullyConnectedLayer(1024,"Name","fc_1", "WeightsInitializer", "he")
reluLayer("Name","relu_body")
];
% Body Hidden Layers
for i = 1:3
layers = [layers
fullyConnectedLayer(1024,"Name", join(["fc_" num2str(i)]), "WeightsInitializer", "he")
reluLayer("Name", join(["body_output_" num2str(i)]))
];
end
% LSTM Layer
layers = [layers
lstmLayer(1024,"Name","lstm", "InputWeightsInitializer", "he", "RecurrentWeightsInitializer", "he")
];
% Output Layer
layers = [layers
fullyConnectedLayer(4,"Name","fc_action")
regressionLayer("Name","output")
];
dqnCritic = rlQValueRepresentation(layers, ObservationInfo, ActionInfo, "Observation", "input_1"); I’m working on an RL project using a DQN agent with a custom environment. I tried training the agent without an LSTM layer with limited success and now I’m trying with an LSTM layer. I very quickly noticed that after the experience buffer is filled, i.e. the Total Number of Steps counter reaches the ExperienceBuffer length set in the agent properties, the training slows to a crawl. Where the first several training episodes complete in seconds, once this value of total steps is reached the next episode takes several minutes to train, and future ones don’t seem to recover the speed. This hasn’t happened in all my iterations of the agent and learning settings before I enabled the LSTM layer.
I’m wondering if this is expected behavior, why this might be happening given my settings, etc. My agent options are below, more details can be given if needed. Thanks!
agentOpts = rlDQNAgentOptions;
agentOpts.SequenceLength = 16;
agentOpts.MiniBatchSize = 100; % grab 100 "trajectories" of length 16 from the buffer at a time for training
agentOpts.NumStepsToLookAhead = 1; % forced for LSTM enabled critics
agentOpts.ExperienceBufferLength = 10000; % once the total steps reaches this number, training slows down dramatically
The critic network setup is:
ObservationInfo = rlNumericSpec([16 1]); % 16 tile game board
ActionInfo = rlFiniteSetSpec([1 2 3 4]); % 4 possible actions per turn
% Input Layer
layers = [
sequenceInputLayer(16, "Name", "input_1")
fullyConnectedLayer(1024,"Name","fc_1", "WeightsInitializer", "he")
reluLayer("Name","relu_body")
];
% Body Hidden Layers
for i = 1:3
layers = [layers
fullyConnectedLayer(1024,"Name", join(["fc_" num2str(i)]), "WeightsInitializer", "he")
reluLayer("Name", join(["body_output_" num2str(i)]))
];
end
% LSTM Layer
layers = [layers
lstmLayer(1024,"Name","lstm", "InputWeightsInitializer", "he", "RecurrentWeightsInitializer", "he")
];
% Output Layer
layers = [layers
fullyConnectedLayer(4,"Name","fc_action")
regressionLayer("Name","output")
];
dqnCritic = rlQValueRepresentation(layers, ObservationInfo, ActionInfo, "Observation", "input_1"); rldqnagent, experience buffer, training speed, rnn MATLAB Answers — New Questions
Plotting mutiple measurement Data with counter
Hello together,
i would like to plot my measurements data 66 signals over time in one plot.
However i wrote a counter that i dont have to deal with 66 signals.
How can i plot now all this data in one plot using my counter?
My Script
% 28 or 33 C with 2 sensors each
for iC = 1:numOfC
for iTempOfC = 1:2
signalNameCTemp = sprintf("CC_%02i_Temperatur_%01i", iC, iTempOfC);
idxTemp = (iC – 1) * 2 + iTempOfC; %sub2ind([3,2],2,2)
plot (m.t, all signals of the 66 sensors)
So far I only get 1 signal in my plot.
Thank you guys.Hello together,
i would like to plot my measurements data 66 signals over time in one plot.
However i wrote a counter that i dont have to deal with 66 signals.
How can i plot now all this data in one plot using my counter?
My Script
% 28 or 33 C with 2 sensors each
for iC = 1:numOfC
for iTempOfC = 1:2
signalNameCTemp = sprintf("CC_%02i_Temperatur_%01i", iC, iTempOfC);
idxTemp = (iC – 1) * 2 + iTempOfC; %sub2ind([3,2],2,2)
plot (m.t, all signals of the 66 sensors)
So far I only get 1 signal in my plot.
Thank you guys. Hello together,
i would like to plot my measurements data 66 signals over time in one plot.
However i wrote a counter that i dont have to deal with 66 signals.
How can i plot now all this data in one plot using my counter?
My Script
% 28 or 33 C with 2 sensors each
for iC = 1:numOfC
for iTempOfC = 1:2
signalNameCTemp = sprintf("CC_%02i_Temperatur_%01i", iC, iTempOfC);
idxTemp = (iC – 1) * 2 + iTempOfC; %sub2ind([3,2],2,2)
plot (m.t, all signals of the 66 sensors)
So far I only get 1 signal in my plot.
Thank you guys. plot, for loop, counter, graph, database MATLAB Answers — New Questions
Cancel parfeval causes workers to throw errors
I’m writing a GUI in App Designer to run Simulink simulations in parallel, using parfeval because I need the ability to cancel in-progress tasks. The app has an Abort button that sets a global variable when it is pressed, which the fetchNext loop checks for. The function myFunc runs the Simulink models and does a lot of extra setup and processing as well. Here’s some abbreviated code:
% get or create pool
pool = gcp;
% schedule tasks
futures(1:numIterations) = parallel.FevalFuture;
for p = 1:numIterations
futures(p) = parfeval(@myFunc);
end
% collect results
numCompleted = 0;
timeout = 180; % 3 minute timeout
while numCompleted < numIterations
[completedIdx, results] = fetchNext(futures,timeout);
numCompleted = numCompleted + 1;
% collect results from tasks that didn’t time out
if ~isempty(completedIdx)
workerTasks{completedIdx} = results;
end
% check for abort
if app.abortRequested
break;
end
end
% check for abort
if app.abortRequested
cancel(pool.FevalQueue.QueuedFutures);
cancel(pool.FevalQueue.RunningFutures);
end
This runs fine, and the abort feature works the first time you use it.
Then if you immediately run the code again, several of the tasks come back Failed with the error message "Dot indexing is not supported for variables of this type." If you close down the pool and re-run the program with fresh workers, the problem disappears.
It seems like cancel doesn’t fully delete the job from the threads, and there’s something left over that interferes with new tasks. Has anyone run into this? Am I missing a step when canceling the futures?
Thanks in advance.I’m writing a GUI in App Designer to run Simulink simulations in parallel, using parfeval because I need the ability to cancel in-progress tasks. The app has an Abort button that sets a global variable when it is pressed, which the fetchNext loop checks for. The function myFunc runs the Simulink models and does a lot of extra setup and processing as well. Here’s some abbreviated code:
% get or create pool
pool = gcp;
% schedule tasks
futures(1:numIterations) = parallel.FevalFuture;
for p = 1:numIterations
futures(p) = parfeval(@myFunc);
end
% collect results
numCompleted = 0;
timeout = 180; % 3 minute timeout
while numCompleted < numIterations
[completedIdx, results] = fetchNext(futures,timeout);
numCompleted = numCompleted + 1;
% collect results from tasks that didn’t time out
if ~isempty(completedIdx)
workerTasks{completedIdx} = results;
end
% check for abort
if app.abortRequested
break;
end
end
% check for abort
if app.abortRequested
cancel(pool.FevalQueue.QueuedFutures);
cancel(pool.FevalQueue.RunningFutures);
end
This runs fine, and the abort feature works the first time you use it.
Then if you immediately run the code again, several of the tasks come back Failed with the error message "Dot indexing is not supported for variables of this type." If you close down the pool and re-run the program with fresh workers, the problem disappears.
It seems like cancel doesn’t fully delete the job from the threads, and there’s something left over that interferes with new tasks. Has anyone run into this? Am I missing a step when canceling the futures?
Thanks in advance. I’m writing a GUI in App Designer to run Simulink simulations in parallel, using parfeval because I need the ability to cancel in-progress tasks. The app has an Abort button that sets a global variable when it is pressed, which the fetchNext loop checks for. The function myFunc runs the Simulink models and does a lot of extra setup and processing as well. Here’s some abbreviated code:
% get or create pool
pool = gcp;
% schedule tasks
futures(1:numIterations) = parallel.FevalFuture;
for p = 1:numIterations
futures(p) = parfeval(@myFunc);
end
% collect results
numCompleted = 0;
timeout = 180; % 3 minute timeout
while numCompleted < numIterations
[completedIdx, results] = fetchNext(futures,timeout);
numCompleted = numCompleted + 1;
% collect results from tasks that didn’t time out
if ~isempty(completedIdx)
workerTasks{completedIdx} = results;
end
% check for abort
if app.abortRequested
break;
end
end
% check for abort
if app.abortRequested
cancel(pool.FevalQueue.QueuedFutures);
cancel(pool.FevalQueue.RunningFutures);
end
This runs fine, and the abort feature works the first time you use it.
Then if you immediately run the code again, several of the tasks come back Failed with the error message "Dot indexing is not supported for variables of this type." If you close down the pool and re-run the program with fresh workers, the problem disappears.
It seems like cancel doesn’t fully delete the job from the threads, and there’s something left over that interferes with new tasks. Has anyone run into this? Am I missing a step when canceling the futures?
Thanks in advance. parfeval, appdesigner, parallel.fevalfuture, parallel computing toolbox, cancel MATLAB Answers — New Questions
Display of errorbar function in plot legend
Hi
I am annoyed about a line going through the errorbar symbol in my legend. I have tried to make a dummy plot for handles, ploting it prior to all other plots with lines in them, but it does not change anything. I can not find any information about it in the documentation and I was not able to find any other treads where this was complained about and obviously not any solution either. I attached an image below since it is a bit hard to explain. Thanks a lot!
This is how I ploted the errorbar
errorbar(mean(x1),mean(y1),sdy1,sdy1,sdx1,sdx1,’k’)Hi
I am annoyed about a line going through the errorbar symbol in my legend. I have tried to make a dummy plot for handles, ploting it prior to all other plots with lines in them, but it does not change anything. I can not find any information about it in the documentation and I was not able to find any other treads where this was complained about and obviously not any solution either. I attached an image below since it is a bit hard to explain. Thanks a lot!
This is how I ploted the errorbar
errorbar(mean(x1),mean(y1),sdy1,sdy1,sdx1,sdx1,’k’) Hi
I am annoyed about a line going through the errorbar symbol in my legend. I have tried to make a dummy plot for handles, ploting it prior to all other plots with lines in them, but it does not change anything. I can not find any information about it in the documentation and I was not able to find any other treads where this was complained about and obviously not any solution either. I attached an image below since it is a bit hard to explain. Thanks a lot!
This is how I ploted the errorbar
errorbar(mean(x1),mean(y1),sdy1,sdy1,sdx1,sdx1,’k’) legend, errorbar, plot MATLAB Answers — New Questions
Model of a matrix
How can I model the matrix of full permutation [(1,1,0,…,0) (-1,-1,0,…,0)] for n variables.How can I model the matrix of full permutation [(1,1,0,…,0) (-1,-1,0,…,0)] for n variables. How can I model the matrix of full permutation [(1,1,0,…,0) (-1,-1,0,…,0)] for n variables. matrix, permutation MATLAB Answers — New Questions
sensitivity analysis from monte carlo
Hi, i’m trying to reach out for help from anyone expert here. I’m having trouble to run a sensitivity analysis. I have write a script to generate monte carlo uncertainty propogation for 2 paramaters. So, i want to run sensitity analysis from the script. But, i dont know how.
Here is the script. Can anyone help me to generate sensitivity analysis please?
PoissonRatio = 0.348;
diameter = 100;
pi = 3.142;
nsamples = 100000;
for i=1 : nsamples
modulus = 191.6e3+rand(1)*10.1e3;
thickness = 0.5+0.5*rand(1);
Po (i) = (2*pi*50*210.8);
pcr (i) = (2*pi*modulus*thickness^2)/(3*(1-PoissonRatio^2)*0.5);
pRankine (i) = (Po(i)/((Po(i)/pcr(i))+1))/1000;
end
min(pRankine);
max(pRankine);
mean(pRankine);
std(pRankine);
hist(pRankine,100);
% Calculate the mean and standard deviation of the output samples
sample_mean = mean(pRankine);
sample_std = std(pRankine);
% Plot a vertical line at the mean of the output samples
line([sample_mean sample_mean], ylim, ‘LineWidth’, 2, ‘Color’, ‘r’);
% Plot a shaded region around the mean representing one standard deviation
shaded_region = [sample_mean – sample_std, sample_mean + sample_std];
patch([shaded_region(1) shaded_region(1) shaded_region(2) shaded_region(2)], …
[0 max(ylim) max(ylim) 0], ‘r’, ‘FaceAlpha’, 0.2, ‘EdgeColor’, ‘none’);
% Label the plot
xlabel(‘pRankine (kN)’);
ylabel(‘Probability Density’);
title(‘Monte Carlo Uncertainty Propagation’);Hi, i’m trying to reach out for help from anyone expert here. I’m having trouble to run a sensitivity analysis. I have write a script to generate monte carlo uncertainty propogation for 2 paramaters. So, i want to run sensitity analysis from the script. But, i dont know how.
Here is the script. Can anyone help me to generate sensitivity analysis please?
PoissonRatio = 0.348;
diameter = 100;
pi = 3.142;
nsamples = 100000;
for i=1 : nsamples
modulus = 191.6e3+rand(1)*10.1e3;
thickness = 0.5+0.5*rand(1);
Po (i) = (2*pi*50*210.8);
pcr (i) = (2*pi*modulus*thickness^2)/(3*(1-PoissonRatio^2)*0.5);
pRankine (i) = (Po(i)/((Po(i)/pcr(i))+1))/1000;
end
min(pRankine);
max(pRankine);
mean(pRankine);
std(pRankine);
hist(pRankine,100);
% Calculate the mean and standard deviation of the output samples
sample_mean = mean(pRankine);
sample_std = std(pRankine);
% Plot a vertical line at the mean of the output samples
line([sample_mean sample_mean], ylim, ‘LineWidth’, 2, ‘Color’, ‘r’);
% Plot a shaded region around the mean representing one standard deviation
shaded_region = [sample_mean – sample_std, sample_mean + sample_std];
patch([shaded_region(1) shaded_region(1) shaded_region(2) shaded_region(2)], …
[0 max(ylim) max(ylim) 0], ‘r’, ‘FaceAlpha’, 0.2, ‘EdgeColor’, ‘none’);
% Label the plot
xlabel(‘pRankine (kN)’);
ylabel(‘Probability Density’);
title(‘Monte Carlo Uncertainty Propagation’); Hi, i’m trying to reach out for help from anyone expert here. I’m having trouble to run a sensitivity analysis. I have write a script to generate monte carlo uncertainty propogation for 2 paramaters. So, i want to run sensitity analysis from the script. But, i dont know how.
Here is the script. Can anyone help me to generate sensitivity analysis please?
PoissonRatio = 0.348;
diameter = 100;
pi = 3.142;
nsamples = 100000;
for i=1 : nsamples
modulus = 191.6e3+rand(1)*10.1e3;
thickness = 0.5+0.5*rand(1);
Po (i) = (2*pi*50*210.8);
pcr (i) = (2*pi*modulus*thickness^2)/(3*(1-PoissonRatio^2)*0.5);
pRankine (i) = (Po(i)/((Po(i)/pcr(i))+1))/1000;
end
min(pRankine);
max(pRankine);
mean(pRankine);
std(pRankine);
hist(pRankine,100);
% Calculate the mean and standard deviation of the output samples
sample_mean = mean(pRankine);
sample_std = std(pRankine);
% Plot a vertical line at the mean of the output samples
line([sample_mean sample_mean], ylim, ‘LineWidth’, 2, ‘Color’, ‘r’);
% Plot a shaded region around the mean representing one standard deviation
shaded_region = [sample_mean – sample_std, sample_mean + sample_std];
patch([shaded_region(1) shaded_region(1) shaded_region(2) shaded_region(2)], …
[0 max(ylim) max(ylim) 0], ‘r’, ‘FaceAlpha’, 0.2, ‘EdgeColor’, ‘none’);
% Label the plot
xlabel(‘pRankine (kN)’);
ylabel(‘Probability Density’);
title(‘Monte Carlo Uncertainty Propagation’); matlab, sensivity analysis, monte-carlo MATLAB Answers — New Questions
I can’t install add-ons
Hello,
I am using the student version of MATLAB (R2023a) and I want to install some Arduino add-ons and everytime it fails. This is the last erro I got and it seems there is nothing wrong with the installation. I tried on another computer too and I also get a failure error.Hello,
I am using the student version of MATLAB (R2023a) and I want to install some Arduino add-ons and everytime it fails. This is the last erro I got and it seems there is nothing wrong with the installation. I tried on another computer too and I also get a failure error. Hello,
I am using the student version of MATLAB (R2023a) and I want to install some Arduino add-ons and everytime it fails. This is the last erro I got and it seems there is nothing wrong with the installation. I tried on another computer too and I also get a failure error. matlab, add-ons MATLAB Answers — New Questions
3D data plotting in matlab as a cube?
I am using following code fvc = isocaps(trc,1e-4); the problem is arises with 1e-4, for example, if my data ranges 0 – 1, if I select 1e-4 as zero it will not display the part data having zero values, how to solve it?
Following is my code and data size is 139 48 176.
fvc = isocaps(trc,1e-4); % meshgrid(1:sizes) by default, not like you care about coordinates
patch(fvc,’FaceColor’,’interp’,’EdgeColor’,’none’) %interp
colormap(jet)
colorbar;I am using following code fvc = isocaps(trc,1e-4); the problem is arises with 1e-4, for example, if my data ranges 0 – 1, if I select 1e-4 as zero it will not display the part data having zero values, how to solve it?
Following is my code and data size is 139 48 176.
fvc = isocaps(trc,1e-4); % meshgrid(1:sizes) by default, not like you care about coordinates
patch(fvc,’FaceColor’,’interp’,’EdgeColor’,’none’) %interp
colormap(jet)
colorbar; I am using following code fvc = isocaps(trc,1e-4); the problem is arises with 1e-4, for example, if my data ranges 0 – 1, if I select 1e-4 as zero it will not display the part data having zero values, how to solve it?
Following is my code and data size is 139 48 176.
fvc = isocaps(trc,1e-4); % meshgrid(1:sizes) by default, not like you care about coordinates
patch(fvc,’FaceColor’,’interp’,’EdgeColor’,’none’) %interp
colormap(jet)
colorbar; 3d plots, 3d, plotting MATLAB Answers — New Questions
Data Rate calculation in 5G NR TDD scheduling
Hi all,
Could someone please help me out in finding the data rate calculated for each UE in the 5G NR TDD/FDD scheduling example using the 5G toolbox?
Thanks in advanceHi all,
Could someone please help me out in finding the data rate calculated for each UE in the 5G NR TDD/FDD scheduling example using the 5G toolbox?
Thanks in advance Hi all,
Could someone please help me out in finding the data rate calculated for each UE in the 5G NR TDD/FDD scheduling example using the 5G toolbox?
Thanks in advance 5g nr, scheduling MATLAB Answers — New Questions
I am getting error not enough input arguments.
function fval=massSpringFun(t,y)
%Function for mass-spring system
%Define constants
m=1;
c=0.001;
k=100;
h=0.01;
x1=0.01;
x2=0;
%This set of ODEs will be solved using ode45
x1=y(1);
v1=y(2);
x2=y(3);
v2=y(4);
%Definr dy/dt
fval(1,1)=v;
fval(2,1)=(k/m)*(x1-x2)-(c/h)*v2;
%To run the mass spring system
y0=[1;0];
tspan=[0 10];
[tsol,ysol]=ode45(@(t,y)massSpringFun(t,y),tspan,y0);
plot(tsol,ysol(:,1));function fval=massSpringFun(t,y)
%Function for mass-spring system
%Define constants
m=1;
c=0.001;
k=100;
h=0.01;
x1=0.01;
x2=0;
%This set of ODEs will be solved using ode45
x1=y(1);
v1=y(2);
x2=y(3);
v2=y(4);
%Definr dy/dt
fval(1,1)=v;
fval(2,1)=(k/m)*(x1-x2)-(c/h)*v2;
%To run the mass spring system
y0=[1;0];
tspan=[0 10];
[tsol,ysol]=ode45(@(t,y)massSpringFun(t,y),tspan,y0);
plot(tsol,ysol(:,1)); function fval=massSpringFun(t,y)
%Function for mass-spring system
%Define constants
m=1;
c=0.001;
k=100;
h=0.01;
x1=0.01;
x2=0;
%This set of ODEs will be solved using ode45
x1=y(1);
v1=y(2);
x2=y(3);
v2=y(4);
%Definr dy/dt
fval(1,1)=v;
fval(2,1)=(k/m)*(x1-x2)-(c/h)*v2;
%To run the mass spring system
y0=[1;0];
tspan=[0 10];
[tsol,ysol]=ode45(@(t,y)massSpringFun(t,y),tspan,y0);
plot(tsol,ysol(:,1)); ode45 MATLAB Answers — New Questions
S-Funtion for add Model Expolorer parameters
Hello,
I am trying add Simulink Parameter with simulink block. For this I want to use s-function and take this s-function in the simulink block.This block will be include paramter name , parameter data type , initial value and all time it will be Exported To Global.
Can you help me with this? If you have another solution please share with me thank you.Hello,
I am trying add Simulink Parameter with simulink block. For this I want to use s-function and take this s-function in the simulink block.This block will be include paramter name , parameter data type , initial value and all time it will be Exported To Global.
Can you help me with this? If you have another solution please share with me thank you. Hello,
I am trying add Simulink Parameter with simulink block. For this I want to use s-function and take this s-function in the simulink block.This block will be include paramter name , parameter data type , initial value and all time it will be Exported To Global.
Can you help me with this? If you have another solution please share with me thank you. s-function, mex, mask, simulink, matlab, .m MATLAB Answers — New Questions
Simscape: switch subsystem during simulation
Hello, I have a variant-subsystem that contains physical elements.
Variant 1 should be active for the first 25% of the simulation.
Variant 2 should be active for 50%.
The remaining 25% of the simulation should be active again in variant 1.
How can I do that? Unfortunately, the Atomic subsystem doesn’t work. I have set up the variant subsystem, but I find it very complicated to set this up correctly. I ask for help.Hello, I have a variant-subsystem that contains physical elements.
Variant 1 should be active for the first 25% of the simulation.
Variant 2 should be active for 50%.
The remaining 25% of the simulation should be active again in variant 1.
How can I do that? Unfortunately, the Atomic subsystem doesn’t work. I have set up the variant subsystem, but I find it very complicated to set this up correctly. I ask for help. Hello, I have a variant-subsystem that contains physical elements.
Variant 1 should be active for the first 25% of the simulation.
Variant 2 should be active for 50%.
The remaining 25% of the simulation should be active again in variant 1.
How can I do that? Unfortunately, the Atomic subsystem doesn’t work. I have set up the variant subsystem, but I find it very complicated to set this up correctly. I ask for help. variant subystem, simscape MATLAB Answers — New Questions
Using FInd Peak function but not getting required values
Using the find peak function o locate the Highest maximum and lowest minimum values in three Phases. but in last Phase not getting the required output even calling all phase with a same function. Seconldy getting the 50 % decay values in negative. Kindly guide me what is wrong in my code. I am sharing my script and GUI file and screenshotUsing the find peak function o locate the Highest maximum and lowest minimum values in three Phases. but in last Phase not getting the required output even calling all phase with a same function. Seconldy getting the 50 % decay values in negative. Kindly guide me what is wrong in my code. I am sharing my script and GUI file and screenshot Using the find peak function o locate the Highest maximum and lowest minimum values in three Phases. but in last Phase not getting the required output even calling all phase with a same function. Seconldy getting the 50 % decay values in negative. Kindly guide me what is wrong in my code. I am sharing my script and GUI file and screenshot matlab function MATLAB Answers — New Questions
Data Store Memory to Global Workspace
Hello,
I am using a function that reads some values from a data storage memeory and writes back to data storage memory. What I want to do is writing one of these data to global workspace so that amplitude of the voltage source can be change. How can I do that?
Thanks.Hello,
I am using a function that reads some values from a data storage memeory and writes back to data storage memory. What I want to do is writing one of these data to global workspace so that amplitude of the voltage source can be change. How can I do that?
Thanks. Hello,
I am using a function that reads some values from a data storage memeory and writes back to data storage memory. What I want to do is writing one of these data to global workspace so that amplitude of the voltage source can be change. How can I do that?
Thanks. data storage memory MATLAB Answers — New Questions