What YAML is
YAML uses indentation instead of brackets. It is a superset of JSON, supports comments, and is meant to be edited by hand.
Kubernetes manifests, CI pipelines, Ansible playbooks and most modern config files.
What MATLAB is
MATLAB cell arrays combined into a table with the table() function.
Engineering and research code.
What changes when you convert YAML to MATLAB
A YAML list of maps reads as rows and columns directly. Anchors and aliases are resolved before the table is built, so a repeated block arrives expanded rather than as a reference.
One cell array per column, then a single table() call. Column names are sanitised to valid variable names.
What carries over from YAML to MATLAB
YAML records 3 things about a table that MATLAB has no way to hold.
An empty cell and a missing one are the same thing in MATLAB, so a null and an empty string in the YAML both come out blank and can no longer be told apart.
YAML can hold a value that is itself a list or an object. MATLAB has only flat cells, so nested values are flattened into one cell rather than being spread across columns.
A line break inside a cell ends the row in MATLAB, so line breaks are replaced rather than carried through.
MATLAB marks header cells differently from data cells, so the keys are lifted out and written once as a marked header row rather than repeated on every row.
Both formats record types, so numbers, booleans and nulls survive as themselves rather than as text.
The identifier 007 comes out of the MATLAB as 007. Reading it as a number would have made it 7, and an id that changes value is worse than one that stays text.
The role "Analyst, data" survives with its comma, in one cell rather than split across two. That is the first thing to check in any converted table, and the usual place a MATLAB file goes wrong.
The quotes around Jonah "Jo" Pryce are left as a plain quote character in the MATLAB.