{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":552,"title":"Cell Array Inception?","description":"Jimmy is a beginning MATLAB student who is trying to read in a text file and build a cell array of strings, where A{k} is the kth line of the text file.  He writes the following code, and is confused when it doesn't work:\r\n\r\n  fid = fopen('myfile.txt','r');\r\n  A = {};\r\n  while ~feof(fid)\r\n      A = {A fgetl(fid)};\r\n  end\r\n\r\nWhat he finds is that after the loop, A only has two components, no matter what the file length.  The second component is the last line of the file, and the first component is another cell array!  He then realizes that A{1} also has two components, where the second component is the second-last line of the file and the first component is yet another cell array!\r\n\r\nYour task: write a function to undo this \"cell-array Inception\" and return the proper cell array of strings that Jimmy is looking for.  Implement B = unInception(A), where A is the cell array as returned by Jimmy's code.\r\n","description_html":"\u003cp\u003eJimmy is a beginning MATLAB student who is trying to read in a text file and build a cell array of strings, where A{k} is the kth line of the text file.  He writes the following code, and is confused when it doesn't work:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003efid = fopen('myfile.txt','r');\r\nA = {};\r\nwhile ~feof(fid)\r\n    A = {A fgetl(fid)};\r\nend\r\n\u003c/pre\u003e\u003cp\u003eWhat he finds is that after the loop, A only has two components, no matter what the file length.  The second component is the last line of the file, and the first component is another cell array!  He then realizes that A{1} also has two components, where the second component is the second-last line of the file and the first component is yet another cell array!\u003c/p\u003e\u003cp\u003eYour task: write a function to undo this \"cell-array Inception\" and return the proper cell array of strings that Jimmy is looking for.  Implement B = unInception(A), where A is the cell array as returned by Jimmy's code.\u003c/p\u003e","function_template":"function B = unInception(A)\r\n  B = A;\r\nend","test_suite":"%%\r\nx = {{{{{{{{} 'hello'} 'world'} 'this'} 'is'} 'a'} 'string'} 'array'};\r\ny_correct = {'hello' 'world' 'this' 'is' 'a' 'string' 'array'};\r\nassert(isequal(unInception(x),y_correct))\r\n%%\r\nx = {};\r\ny_correct = {};\r\nassert(isequal(unInception(x),y_correct))\r\n%%\r\nx = {{} ''};\r\ny_correct = {''};\r\nassert(isequal(unInception(x),y_correct))\r\n%%\r\nx = {{{{} 'hello'} ''} 'yeah'};\r\ny_correct = {'hello' '' 'yeah'};\r\nassert(isequal(unInception(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":1537,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":30,"test_suite_updated_at":"2012-04-03T04:47:52.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-04-03T04:47:52.000Z","updated_at":"2025-12-29T14:38:50.000Z","published_at":"2012-04-03T04:47:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eJimmy is a beginning MATLAB student who is trying to read in a text file and build a cell array of strings, where A{k} is the kth line of the text file. He writes the following code, and is confused when it doesn't work:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[fid = fopen('myfile.txt','r');\\nA = {};\\nwhile ~feof(fid)\\n    A = {A fgetl(fid)};\\nend]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWhat he finds is that after the loop, A only has two components, no matter what the file length. The second component is the last line of the file, and the first component is another cell array! He then realizes that A{1} also has two components, where the second component is the second-last line of the file and the first component is yet another cell array!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour task: write a function to undo this \\\"cell-array Inception\\\" and return the proper cell array of strings that Jimmy is looking for. Implement B = unInception(A), where A is the cell array as returned by Jimmy's code.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":552,"title":"Cell Array Inception?","description":"Jimmy is a beginning MATLAB student who is trying to read in a text file and build a cell array of strings, where A{k} is the kth line of the text file.  He writes the following code, and is confused when it doesn't work:\r\n\r\n  fid = fopen('myfile.txt','r');\r\n  A = {};\r\n  while ~feof(fid)\r\n      A = {A fgetl(fid)};\r\n  end\r\n\r\nWhat he finds is that after the loop, A only has two components, no matter what the file length.  The second component is the last line of the file, and the first component is another cell array!  He then realizes that A{1} also has two components, where the second component is the second-last line of the file and the first component is yet another cell array!\r\n\r\nYour task: write a function to undo this \"cell-array Inception\" and return the proper cell array of strings that Jimmy is looking for.  Implement B = unInception(A), where A is the cell array as returned by Jimmy's code.\r\n","description_html":"\u003cp\u003eJimmy is a beginning MATLAB student who is trying to read in a text file and build a cell array of strings, where A{k} is the kth line of the text file.  He writes the following code, and is confused when it doesn't work:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003efid = fopen('myfile.txt','r');\r\nA = {};\r\nwhile ~feof(fid)\r\n    A = {A fgetl(fid)};\r\nend\r\n\u003c/pre\u003e\u003cp\u003eWhat he finds is that after the loop, A only has two components, no matter what the file length.  The second component is the last line of the file, and the first component is another cell array!  He then realizes that A{1} also has two components, where the second component is the second-last line of the file and the first component is yet another cell array!\u003c/p\u003e\u003cp\u003eYour task: write a function to undo this \"cell-array Inception\" and return the proper cell array of strings that Jimmy is looking for.  Implement B = unInception(A), where A is the cell array as returned by Jimmy's code.\u003c/p\u003e","function_template":"function B = unInception(A)\r\n  B = A;\r\nend","test_suite":"%%\r\nx = {{{{{{{{} 'hello'} 'world'} 'this'} 'is'} 'a'} 'string'} 'array'};\r\ny_correct = {'hello' 'world' 'this' 'is' 'a' 'string' 'array'};\r\nassert(isequal(unInception(x),y_correct))\r\n%%\r\nx = {};\r\ny_correct = {};\r\nassert(isequal(unInception(x),y_correct))\r\n%%\r\nx = {{} ''};\r\ny_correct = {''};\r\nassert(isequal(unInception(x),y_correct))\r\n%%\r\nx = {{{{} 'hello'} ''} 'yeah'};\r\ny_correct = {'hello' '' 'yeah'};\r\nassert(isequal(unInception(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":1537,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":30,"test_suite_updated_at":"2012-04-03T04:47:52.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-04-03T04:47:52.000Z","updated_at":"2025-12-29T14:38:50.000Z","published_at":"2012-04-03T04:47:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eJimmy is a beginning MATLAB student who is trying to read in a text file and build a cell array of strings, where A{k} is the kth line of the text file. He writes the following code, and is confused when it doesn't work:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[fid = fopen('myfile.txt','r');\\nA = {};\\nwhile ~feof(fid)\\n    A = {A fgetl(fid)};\\nend]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWhat he finds is that after the loop, A only has two components, no matter what the file length. The second component is the last line of the file, and the first component is another cell array! He then realizes that A{1} also has two components, where the second component is the second-last line of the file and the first component is yet another cell array!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour task: write a function to undo this \\\"cell-array Inception\\\" and return the proper cell array of strings that Jimmy is looking for. Implement B = unInception(A), where A is the cell array as returned by Jimmy's code.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"inception\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"inception\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"inception\"","","\"","inception","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f104847e758\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f104847e6b8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f104847ddf8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f104847e9d8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f104847e938\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f104847e898\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f104847e7f8\u003e":"tag:\"inception\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f104847e7f8\u003e":"tag:\"inception\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"inception\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"inception\"","","\"","inception","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f104847e758\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f104847e6b8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f104847ddf8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f104847e9d8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f104847e938\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f104847e898\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f104847e7f8\u003e":"tag:\"inception\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f104847e7f8\u003e":"tag:\"inception\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":552,"difficulty_rating":"easy-medium"}]}}