{"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":816,"title":"Global usage","description":"This Challenge is to utilize Global variables.\r\n\r\nGlobal variables are risky as the subroutine may inadvertently and unwantingly update them. Globals also tend to slow execution time.\r\n\r\nThe Challenge is to implement and become aware of capability and risk.\r\n\r\nThe global variables in this Challenge are gOffset and global_x.\r\n\r\nGiven two input variables [a,b] output [gOffset+a global_x*b]\r\n\r\n*Input:* [a,b]  (Two real values)\r\n\r\n*Output:* [gOffset+a global_x*b]\r\n\r\n\r\nRelated Challenge is \u003chttp://www.mathworks.com/matlabcentral/cody/problems/815-persistent-usage Persistent\u003e.","description_html":"\u003cp\u003eThis Challenge is to utilize Global variables.\u003c/p\u003e\u003cp\u003eGlobal variables are risky as the subroutine may inadvertently and unwantingly update them. Globals also tend to slow execution time.\u003c/p\u003e\u003cp\u003eThe Challenge is to implement and become aware of capability and risk.\u003c/p\u003e\u003cp\u003eThe global variables in this Challenge are gOffset and global_x.\u003c/p\u003e\u003cp\u003eGiven two input variables [a,b] output [gOffset+a global_x*b]\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [a,b]  (Two real values)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e [gOffset+a global_x*b]\u003c/p\u003e\u003cp\u003eRelated Challenge is \u003ca href=\"http://www.mathworks.com/matlabcentral/cody/problems/815-persistent-usage\"\u003ePersistent\u003c/a\u003e.\u003c/p\u003e","function_template":"function [a_off b_times] = use_global(a,b)\r\n% Need to implement global usage of gOffset and global_x\r\n  a_off=a;\r\n  b_times=b;\r\nend","test_suite":"%%\r\nglobal gOffset global_x\r\ngOffset=4;\r\nglobal_x=1024;\r\na=2;\r\nb=4;\r\n[a_off b_times] = use_global(a,b);\r\ngOffset=4;\r\nglobal_x=1024;\r\nassert(isequal(a_off,gOffset+a))\r\nassert(isequal(b_times,global_x*b))\r\n%%\r\nglobal gOffset global_x\r\ngOffset=-8;\r\nglobal_x=-2;\r\na=50;\r\nb=-21;\r\n[a_off b_times] = use_global(a,b);\r\nassert(isequal(a_off,gOffset+a))\r\nassert(isequal(b_times,global_x*b))\r\n%%\r\nglobal gOffset global_x\r\ngOffset=2^12;\r\nglobal_x=3;\r\na=randi(128);\r\nb=randi(8);\r\n[a_off b_times] = use_global(a,b);\r\nassert(isequal(a_off,gOffset+a))\r\nassert(isequal(b_times,global_x*b))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":62,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-07-06T15:49:33.000Z","updated_at":"2026-03-02T14:22:11.000Z","published_at":"2012-10-27T17:20:46.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\u003eThis Challenge is to utilize Global variables.\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\u003eGlobal variables are risky as the subroutine may inadvertently and unwantingly update them. Globals also tend to slow execution time.\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\u003eThe Challenge is to implement and become aware of capability and risk.\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\u003eThe global variables in this Challenge are gOffset and global_x.\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\u003eGiven two input variables [a,b] output [gOffset+a global_x*b]\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [a,b] (Two real values)\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [gOffset+a global_x*b]\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\u003eRelated Challenge is\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/815-persistent-usage\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePersistent\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\"}]}"},{"id":44692,"title":"Is input the global variable z?","description":"When the input is certainly not the global variable |z|, your function must return |false|.  Otherwise return |true|.  All inputs \u0026 variable values will be scalar.  ","description_html":"\u003cp\u003eWhen the input is certainly not the global variable \u003ctt\u003ez\u003c/tt\u003e, your function must return \u003ctt\u003efalse\u003c/tt\u003e.  Otherwise return \u003ctt\u003etrue\u003c/tt\u003e.  All inputs \u0026 variable values will be scalar.\u003c/p\u003e","function_template":"function isGlobal = checkInput(z)\r\n    \r\n    inName = inputname(1)\r\n    \r\n    if inName == 'z', \r\n        isGlobal = true;\r\n    else\r\n        isGlobal = false;\r\n    end;\r\n    \r\nend","test_suite":"%% No silly stuff\r\n% This Test Suite can be updated if inappropriate 'hacks' are discovered \r\n% in any submitted solutions, so your submission's status may therefore change over time.  \r\nassessFunctionAbsence({'regexp', 'regexpi'}, 'FileName','checkInput.m')\r\n\r\nRE = regexp(fileread('checkInput.m'), '\\w+', 'match');\r\ntabooWords = {'ans'};\r\ntestResult = cellfun( @(z) ismember(z, tabooWords), RE );\r\nmsg = ['Please do not do that in your code!' char([10 13]) ...\r\n    'Found: ' strjoin(RE(testResult)) '.' char([10 13]) ...\r\n    'Banned word.' char([10 13])];\r\nassert(~any( testResult ), msg)\r\n\r\n\r\n%% Contrast with local variables (1)\r\nglobal z\r\nx = 3;\r\ny = 2;\r\nz = 1;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Contrast with local variables (2)\r\nglobal z\r\nx = 1;\r\ny = 2;\r\nz = 3;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Contrast with local variables (3)\r\nglobal z\r\nx = 3;\r\ny = 1;\r\nz = 2;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n\r\n%% Contrast with unnamed variables (1)\r\nglobal z\r\nz = 2;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(1) )\r\nassert( ~checkInput(3) )\r\n\r\n%% Contrast with unnamed variables (2)\r\nglobal z\r\nz = 1;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(2) )\r\nassert( ~checkInput(3) )\r\n\r\n%% Contrast with unnamed variables (3)\r\nglobal z\r\nz = 3;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(1) )\r\nassert( ~checkInput(2) )\r\n\r\n\r\n%% Contrast with other global variables (1)\r\nglobal x y z\r\nx = 3;\r\ny = 1;\r\nz = 2;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Contrast with other global variables (2)\r\nglobal x y z\r\nx = 2;\r\ny = 1;\r\nz = 3;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n\r\n%% Contrast with variables named in anonymous function (1)\r\nglobal x y z\r\nx = 2;\r\nz = 3;\r\ntestX = @(x)  checkInput(x);\r\ntestZ = @(z)  checkInput(z);\r\nassert( ~testX(x) )\r\nassert( ~testZ(x) )\r\nassert( testX(z) )\r\nassert( testZ(z) )\r\n\r\n%% Contrast with variables named in anonymous function (2)\r\nglobal x y z\r\nx = 3;\r\nz = 2;\r\ntestX = @(x)  checkInput(x);\r\ntestZ = @(z)  checkInput(z);\r\nassert( ~testX(x) )\r\nassert( ~testZ(x) )\r\nassert( testX(z) )\r\nassert( testZ(z) )\r\n\r\n\r\n%% Local variables only (1)\r\nclear global\r\nx = 1;\r\ny = 2;\r\nz = 3;\r\nassert( ~checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Local variables only (2)\r\nclear global \r\nx = 3;\r\ny = 2;\r\nz = 1;\r\nassert( ~checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )","published":true,"deleted":false,"likes_count":0,"comments_count":5,"created_by":64439,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2018-06-27T13:53:36.000Z","updated_at":"2018-06-27T14:26:51.000Z","published_at":"2018-06-27T14:26:51.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\u003eWhen the input is certainly not the global variable\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ez\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, your function must return\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efalse\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Otherwise return\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etrue\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. All inputs \u0026amp; variable values will be scalar.\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":816,"title":"Global usage","description":"This Challenge is to utilize Global variables.\r\n\r\nGlobal variables are risky as the subroutine may inadvertently and unwantingly update them. Globals also tend to slow execution time.\r\n\r\nThe Challenge is to implement and become aware of capability and risk.\r\n\r\nThe global variables in this Challenge are gOffset and global_x.\r\n\r\nGiven two input variables [a,b] output [gOffset+a global_x*b]\r\n\r\n*Input:* [a,b]  (Two real values)\r\n\r\n*Output:* [gOffset+a global_x*b]\r\n\r\n\r\nRelated Challenge is \u003chttp://www.mathworks.com/matlabcentral/cody/problems/815-persistent-usage Persistent\u003e.","description_html":"\u003cp\u003eThis Challenge is to utilize Global variables.\u003c/p\u003e\u003cp\u003eGlobal variables are risky as the subroutine may inadvertently and unwantingly update them. Globals also tend to slow execution time.\u003c/p\u003e\u003cp\u003eThe Challenge is to implement and become aware of capability and risk.\u003c/p\u003e\u003cp\u003eThe global variables in this Challenge are gOffset and global_x.\u003c/p\u003e\u003cp\u003eGiven two input variables [a,b] output [gOffset+a global_x*b]\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [a,b]  (Two real values)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e [gOffset+a global_x*b]\u003c/p\u003e\u003cp\u003eRelated Challenge is \u003ca href=\"http://www.mathworks.com/matlabcentral/cody/problems/815-persistent-usage\"\u003ePersistent\u003c/a\u003e.\u003c/p\u003e","function_template":"function [a_off b_times] = use_global(a,b)\r\n% Need to implement global usage of gOffset and global_x\r\n  a_off=a;\r\n  b_times=b;\r\nend","test_suite":"%%\r\nglobal gOffset global_x\r\ngOffset=4;\r\nglobal_x=1024;\r\na=2;\r\nb=4;\r\n[a_off b_times] = use_global(a,b);\r\ngOffset=4;\r\nglobal_x=1024;\r\nassert(isequal(a_off,gOffset+a))\r\nassert(isequal(b_times,global_x*b))\r\n%%\r\nglobal gOffset global_x\r\ngOffset=-8;\r\nglobal_x=-2;\r\na=50;\r\nb=-21;\r\n[a_off b_times] = use_global(a,b);\r\nassert(isequal(a_off,gOffset+a))\r\nassert(isequal(b_times,global_x*b))\r\n%%\r\nglobal gOffset global_x\r\ngOffset=2^12;\r\nglobal_x=3;\r\na=randi(128);\r\nb=randi(8);\r\n[a_off b_times] = use_global(a,b);\r\nassert(isequal(a_off,gOffset+a))\r\nassert(isequal(b_times,global_x*b))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":62,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-07-06T15:49:33.000Z","updated_at":"2026-03-02T14:22:11.000Z","published_at":"2012-10-27T17:20:46.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\u003eThis Challenge is to utilize Global variables.\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\u003eGlobal variables are risky as the subroutine may inadvertently and unwantingly update them. Globals also tend to slow execution time.\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\u003eThe Challenge is to implement and become aware of capability and risk.\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\u003eThe global variables in this Challenge are gOffset and global_x.\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\u003eGiven two input variables [a,b] output [gOffset+a global_x*b]\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [a,b] (Two real values)\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [gOffset+a global_x*b]\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\u003eRelated Challenge is\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/815-persistent-usage\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePersistent\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\"}]}"},{"id":44692,"title":"Is input the global variable z?","description":"When the input is certainly not the global variable |z|, your function must return |false|.  Otherwise return |true|.  All inputs \u0026 variable values will be scalar.  ","description_html":"\u003cp\u003eWhen the input is certainly not the global variable \u003ctt\u003ez\u003c/tt\u003e, your function must return \u003ctt\u003efalse\u003c/tt\u003e.  Otherwise return \u003ctt\u003etrue\u003c/tt\u003e.  All inputs \u0026 variable values will be scalar.\u003c/p\u003e","function_template":"function isGlobal = checkInput(z)\r\n    \r\n    inName = inputname(1)\r\n    \r\n    if inName == 'z', \r\n        isGlobal = true;\r\n    else\r\n        isGlobal = false;\r\n    end;\r\n    \r\nend","test_suite":"%% No silly stuff\r\n% This Test Suite can be updated if inappropriate 'hacks' are discovered \r\n% in any submitted solutions, so your submission's status may therefore change over time.  \r\nassessFunctionAbsence({'regexp', 'regexpi'}, 'FileName','checkInput.m')\r\n\r\nRE = regexp(fileread('checkInput.m'), '\\w+', 'match');\r\ntabooWords = {'ans'};\r\ntestResult = cellfun( @(z) ismember(z, tabooWords), RE );\r\nmsg = ['Please do not do that in your code!' char([10 13]) ...\r\n    'Found: ' strjoin(RE(testResult)) '.' char([10 13]) ...\r\n    'Banned word.' char([10 13])];\r\nassert(~any( testResult ), msg)\r\n\r\n\r\n%% Contrast with local variables (1)\r\nglobal z\r\nx = 3;\r\ny = 2;\r\nz = 1;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Contrast with local variables (2)\r\nglobal z\r\nx = 1;\r\ny = 2;\r\nz = 3;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Contrast with local variables (3)\r\nglobal z\r\nx = 3;\r\ny = 1;\r\nz = 2;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n\r\n%% Contrast with unnamed variables (1)\r\nglobal z\r\nz = 2;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(1) )\r\nassert( ~checkInput(3) )\r\n\r\n%% Contrast with unnamed variables (2)\r\nglobal z\r\nz = 1;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(2) )\r\nassert( ~checkInput(3) )\r\n\r\n%% Contrast with unnamed variables (3)\r\nglobal z\r\nz = 3;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(1) )\r\nassert( ~checkInput(2) )\r\n\r\n\r\n%% Contrast with other global variables (1)\r\nglobal x y z\r\nx = 3;\r\ny = 1;\r\nz = 2;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Contrast with other global variables (2)\r\nglobal x y z\r\nx = 2;\r\ny = 1;\r\nz = 3;\r\nassert( checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n\r\n%% Contrast with variables named in anonymous function (1)\r\nglobal x y z\r\nx = 2;\r\nz = 3;\r\ntestX = @(x)  checkInput(x);\r\ntestZ = @(z)  checkInput(z);\r\nassert( ~testX(x) )\r\nassert( ~testZ(x) )\r\nassert( testX(z) )\r\nassert( testZ(z) )\r\n\r\n%% Contrast with variables named in anonymous function (2)\r\nglobal x y z\r\nx = 3;\r\nz = 2;\r\ntestX = @(x)  checkInput(x);\r\ntestZ = @(z)  checkInput(z);\r\nassert( ~testX(x) )\r\nassert( ~testZ(x) )\r\nassert( testX(z) )\r\nassert( testZ(z) )\r\n\r\n\r\n%% Local variables only (1)\r\nclear global\r\nx = 1;\r\ny = 2;\r\nz = 3;\r\nassert( ~checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )\r\n\r\n%% Local variables only (2)\r\nclear global \r\nx = 3;\r\ny = 2;\r\nz = 1;\r\nassert( ~checkInput(z) )\r\nassert( ~checkInput(x) )\r\nassert( ~checkInput(y) )","published":true,"deleted":false,"likes_count":0,"comments_count":5,"created_by":64439,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2018-06-27T13:53:36.000Z","updated_at":"2018-06-27T14:26:51.000Z","published_at":"2018-06-27T14:26:51.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\u003eWhen the input is certainly not the global variable\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ez\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, your function must return\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efalse\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Otherwise return\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etrue\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. All inputs \u0026amp; variable values will be scalar.\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:\"global\"","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:\"global\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"global\"","","\"","global","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f102a7cc4f0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f102a7cc450\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f102a7cbb90\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f102a7cc770\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f102a7cc6d0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f102a7cc630\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f102a7cc590\u003e":"tag:\"global\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f102a7cc590\u003e":"tag:\"global\""},"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:\"global\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"global\"","","\"","global","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f102a7cc4f0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f102a7cc450\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f102a7cbb90\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f102a7cc770\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f102a7cc6d0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f102a7cc630\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f102a7cc590\u003e":"tag:\"global\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f102a7cc590\u003e":"tag:\"global\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":816,"difficulty_rating":"easy"},{"id":44692,"difficulty_rating":"unrated"}]}}