{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.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":"2026-04-16T00: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":1954,"title":"Write a cubic formula function","description":"Create a function that will output the three roots of a cubic equation specified by the 4 coefficients listed as input. The output should be sorted using the \"sort\" function of matlab, to be consistent. Also, the output need only be accurate to the 4th decimal place, and the input \"A\" will always be non-zero and real.\r\n\r\nExample:\r\n\r\nA*x^3+B*x^2+C*x+D=0 --\u003e [A,B,C,D]\r\n\r\nx^3-6x^2+11x-6=0 --\u003e [1,-6,11,-6]\r\n\r\ncubicFormula([1,-6,11,-6]) --\u003e [1,2,3]","description_html":"\u003cp\u003eCreate a function that will output the three roots of a cubic equation specified by the 4 coefficients listed as input. The output should be sorted using the \"sort\" function of matlab, to be consistent. Also, the output need only be accurate to the 4th decimal place, and the input \"A\" will always be non-zero and real.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cp\u003eA*x^3+B*x^2+C*x+D=0 --\u003e [A,B,C,D]\u003c/p\u003e\u003cp\u003ex^3-6x^2+11x-6=0 --\u003e [1,-6,11,-6]\u003c/p\u003e\u003cp\u003ecubicFormula([1,-6,11,-6]) --\u003e [1,2,3]\u003c/p\u003e","function_template":"function x = cubicFormula(coefficients)\r\nx=coefficients;\r\nend","test_suite":"%%\r\nx = [1,-6,11,-6];\r\ny_correct = [1,2,3];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [1,2,3,4];\r\ny_correct = [-0.1747 - 1.5469i, -0.1747 + 1.5469i, -1.6506 + 0.0000i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [45,-67,31,96];\r\ny_correct = [-0.8231 + 0.0000i,   1.1560 - 1.1205i,   1.1560 + 1.1205i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [2,1,-3,0];\r\ny_correct = [0.0000 - 0.0000i   1.0000 + 0.0000i  -1.5000 + 0.0000i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [3,-4i,5,7i];\r\ny_correct = [-0.8177 - 0.5435i,   0.8177 - 0.5435i,   0.0000 + 2.4203i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [-19,136,3+15i,77];\r\ny_correct = [-0.0411 + 0.6943i,  -0.0591 - 0.8005i,   7.2581 + 0.1062i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [.25,.76-.98i,-.23+.11i,-.54];\r\ny_correct = [-0.4977 - 0.2736i,   0.6955 + 0.2758i,  -3.2378 + 3.9177i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))","published":true,"deleted":false,"likes_count":2,"comments_count":4,"created_by":15293,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":21,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-22T04:58:35.000Z","updated_at":"2026-01-20T15:30:03.000Z","published_at":"2013-10-22T05:37:56.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\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"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\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\u003eCreate a function that will output the three roots of a cubic equation specified by the 4 coefficients listed as input. The output should be sorted using the \\\"sort\\\" function of matlab, to be consistent. Also, the output need only be accurate to the 4th decimal place, and the input \\\"A\\\" will always be non-zero and real.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA*x^3+B*x^2+C*x+D=0 --\u003e [A,B,C,D]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ex^3-6x^2+11x-6=0 --\u003e [1,-6,11,-6]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ecubicFormula([1,-6,11,-6]) --\u003e [1,2,3]\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":1954,"title":"Write a cubic formula function","description":"Create a function that will output the three roots of a cubic equation specified by the 4 coefficients listed as input. The output should be sorted using the \"sort\" function of matlab, to be consistent. Also, the output need only be accurate to the 4th decimal place, and the input \"A\" will always be non-zero and real.\r\n\r\nExample:\r\n\r\nA*x^3+B*x^2+C*x+D=0 --\u003e [A,B,C,D]\r\n\r\nx^3-6x^2+11x-6=0 --\u003e [1,-6,11,-6]\r\n\r\ncubicFormula([1,-6,11,-6]) --\u003e [1,2,3]","description_html":"\u003cp\u003eCreate a function that will output the three roots of a cubic equation specified by the 4 coefficients listed as input. The output should be sorted using the \"sort\" function of matlab, to be consistent. Also, the output need only be accurate to the 4th decimal place, and the input \"A\" will always be non-zero and real.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cp\u003eA*x^3+B*x^2+C*x+D=0 --\u003e [A,B,C,D]\u003c/p\u003e\u003cp\u003ex^3-6x^2+11x-6=0 --\u003e [1,-6,11,-6]\u003c/p\u003e\u003cp\u003ecubicFormula([1,-6,11,-6]) --\u003e [1,2,3]\u003c/p\u003e","function_template":"function x = cubicFormula(coefficients)\r\nx=coefficients;\r\nend","test_suite":"%%\r\nx = [1,-6,11,-6];\r\ny_correct = [1,2,3];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [1,2,3,4];\r\ny_correct = [-0.1747 - 1.5469i, -0.1747 + 1.5469i, -1.6506 + 0.0000i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [45,-67,31,96];\r\ny_correct = [-0.8231 + 0.0000i,   1.1560 - 1.1205i,   1.1560 + 1.1205i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [2,1,-3,0];\r\ny_correct = [0.0000 - 0.0000i   1.0000 + 0.0000i  -1.5000 + 0.0000i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [3,-4i,5,7i];\r\ny_correct = [-0.8177 - 0.5435i,   0.8177 - 0.5435i,   0.0000 + 2.4203i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [-19,136,3+15i,77];\r\ny_correct = [-0.0411 + 0.6943i,  -0.0591 - 0.8005i,   7.2581 + 0.1062i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))\r\n\r\n%%\r\nx = [.25,.76-.98i,-.23+.11i,-.54];\r\ny_correct = [-0.4977 - 0.2736i,   0.6955 + 0.2758i,  -3.2378 + 3.9177i];\r\nassert(isequal(round(cubicFormula(x)*10000),y_correct*10000))","published":true,"deleted":false,"likes_count":2,"comments_count":4,"created_by":15293,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":21,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-22T04:58:35.000Z","updated_at":"2026-01-20T15:30:03.000Z","published_at":"2013-10-22T05:37:56.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\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"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\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\u003eCreate a function that will output the three roots of a cubic equation specified by the 4 coefficients listed as input. The output should be sorted using the \\\"sort\\\" function of matlab, to be consistent. Also, the output need only be accurate to the 4th decimal place, and the input \\\"A\\\" will always be non-zero and real.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA*x^3+B*x^2+C*x+D=0 --\u003e [A,B,C,D]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ex^3-6x^2+11x-6=0 --\u003e [1,-6,11,-6]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ecubicFormula([1,-6,11,-6]) --\u003e [1,2,3]\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:\"cubic formula\"","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:\"cubic formula\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"cubic formula\"","","\"","cubic formula","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf166e58d0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf166e5830\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf166e4b10\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf166e5b50\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf166e5ab0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf166e5a10\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf166e5970\u003e":"tag:\"cubic formula\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf166e5970\u003e":"tag:\"cubic formula\""},"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":"cody-search","password":"78X075ddcV44","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:\"cubic formula\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"cubic formula\"","","\"","cubic formula","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf166e58d0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf166e5830\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf166e4b10\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf166e5b50\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf166e5ab0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf166e5a10\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf166e5970\u003e":"tag:\"cubic formula\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf166e5970\u003e":"tag:\"cubic formula\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":1954,"difficulty_rating":"easy-medium"}]}}