error: 'y' undefined near line 8 column 12 error: called from computeCost at line 8 column 3












-1
















error: 'y' undefined near line 8 column 12 
error: called from computeCost at line 8 column 3



Here is my code:



1;
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y

% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly
J = 0;

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.

J = sum(( X * theta - y ) .^2 )/( 2 * m );



% =========================================================================

end









share|improve this question

























  • Please edit your post and clarify what your question is. You've given an error message and code, that does not make a question. Pleas see How to Ask.

    – Cris Luengo
    Nov 25 '18 at 8:58






  • 1





    This other question has the exact same problem as you do, there's an answer there: function in matlab- undefined input argument error

    – Cris Luengo
    Nov 25 '18 at 9:02


















-1
















error: 'y' undefined near line 8 column 12 
error: called from computeCost at line 8 column 3



Here is my code:



1;
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y

% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly
J = 0;

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.

J = sum(( X * theta - y ) .^2 )/( 2 * m );



% =========================================================================

end









share|improve this question

























  • Please edit your post and clarify what your question is. You've given an error message and code, that does not make a question. Pleas see How to Ask.

    – Cris Luengo
    Nov 25 '18 at 8:58






  • 1





    This other question has the exact same problem as you do, there's an answer there: function in matlab- undefined input argument error

    – Cris Luengo
    Nov 25 '18 at 9:02
















-1












-1








-1









error: 'y' undefined near line 8 column 12 
error: called from computeCost at line 8 column 3



Here is my code:



1;
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y

% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly
J = 0;

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.

J = sum(( X * theta - y ) .^2 )/( 2 * m );



% =========================================================================

end









share|improve this question

















error: 'y' undefined near line 8 column 12 
error: called from computeCost at line 8 column 3



Here is my code:



1;
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y

% Initialize some useful values
m = length(y); % number of training examples

% You need to return the following variables correctly
J = 0;

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.

J = sum(( X * theta - y ) .^2 )/( 2 * m );



% =========================================================================

end






octave






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 25 '18 at 8:58









Cris Luengo

21.5k52251




21.5k52251










asked Nov 25 '18 at 8:35









Manu BejugamManu Bejugam

11




11













  • Please edit your post and clarify what your question is. You've given an error message and code, that does not make a question. Pleas see How to Ask.

    – Cris Luengo
    Nov 25 '18 at 8:58






  • 1





    This other question has the exact same problem as you do, there's an answer there: function in matlab- undefined input argument error

    – Cris Luengo
    Nov 25 '18 at 9:02





















  • Please edit your post and clarify what your question is. You've given an error message and code, that does not make a question. Pleas see How to Ask.

    – Cris Luengo
    Nov 25 '18 at 8:58






  • 1





    This other question has the exact same problem as you do, there's an answer there: function in matlab- undefined input argument error

    – Cris Luengo
    Nov 25 '18 at 9:02



















Please edit your post and clarify what your question is. You've given an error message and code, that does not make a question. Pleas see How to Ask.

– Cris Luengo
Nov 25 '18 at 8:58





Please edit your post and clarify what your question is. You've given an error message and code, that does not make a question. Pleas see How to Ask.

– Cris Luengo
Nov 25 '18 at 8:58




1




1





This other question has the exact same problem as you do, there's an answer there: function in matlab- undefined input argument error

– Cris Luengo
Nov 25 '18 at 9:02







This other question has the exact same problem as you do, there's an answer there: function in matlab- undefined input argument error

– Cris Luengo
Nov 25 '18 at 9:02














1 Answer
1






active

oldest

votes


















0














There are two things happening here. First you are defining your function dynamically as opposed to in its own file; not sure why you would prefer that.



Second, after having defined this computeCost function, you are calling it from a context where you did not pass a y argument (or presumably, you didn't pass any arguments to it, and y happens to be the first one detected as missing inside the function).



Since this is a cost function and your code looks suspiciously like code from Andrew Ng's Machine Learning course on Coursera, I am going to go out on a limb here and guess that you called computeCost from something else that was supposed to use it as a cost function to be optimised, e.g. fminunc. Typically functions like fminunc expect a function handle as an argument, but they expect a very specific function handle too. If you look at the help of fminunc, it states that:




FCN should accept a vector (array) defining the unknown variables,

and return the objective function value, optionally with gradient.




Therefore, if you want to pass a function that is to be computed with three arguments, you need to "wrap" it into your own handle, which you can define on the spot, e.g. @(x) computeCost(x, y, t) (assuming 'y' and 't' exist already).



So, I'm guessing that instead of calling fminunc like so: fminunc( @(x) computeCost(x, y, t),

you probably called it like so: fminunc( @computeCost )

or even like so: fminunc( computeCost ) (which evaluates the function first, rather than pass a function handle as an argument).



Basically, go back to the code given to you by coursera, or read the notes carefully. You're calling things the wrong way.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53465874%2ferror-y-undefined-near-line-8-column-12-error-called-from-computecost-at-lin%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    There are two things happening here. First you are defining your function dynamically as opposed to in its own file; not sure why you would prefer that.



    Second, after having defined this computeCost function, you are calling it from a context where you did not pass a y argument (or presumably, you didn't pass any arguments to it, and y happens to be the first one detected as missing inside the function).



    Since this is a cost function and your code looks suspiciously like code from Andrew Ng's Machine Learning course on Coursera, I am going to go out on a limb here and guess that you called computeCost from something else that was supposed to use it as a cost function to be optimised, e.g. fminunc. Typically functions like fminunc expect a function handle as an argument, but they expect a very specific function handle too. If you look at the help of fminunc, it states that:




    FCN should accept a vector (array) defining the unknown variables,

    and return the objective function value, optionally with gradient.




    Therefore, if you want to pass a function that is to be computed with three arguments, you need to "wrap" it into your own handle, which you can define on the spot, e.g. @(x) computeCost(x, y, t) (assuming 'y' and 't' exist already).



    So, I'm guessing that instead of calling fminunc like so: fminunc( @(x) computeCost(x, y, t),

    you probably called it like so: fminunc( @computeCost )

    or even like so: fminunc( computeCost ) (which evaluates the function first, rather than pass a function handle as an argument).



    Basically, go back to the code given to you by coursera, or read the notes carefully. You're calling things the wrong way.






    share|improve this answer




























      0














      There are two things happening here. First you are defining your function dynamically as opposed to in its own file; not sure why you would prefer that.



      Second, after having defined this computeCost function, you are calling it from a context where you did not pass a y argument (or presumably, you didn't pass any arguments to it, and y happens to be the first one detected as missing inside the function).



      Since this is a cost function and your code looks suspiciously like code from Andrew Ng's Machine Learning course on Coursera, I am going to go out on a limb here and guess that you called computeCost from something else that was supposed to use it as a cost function to be optimised, e.g. fminunc. Typically functions like fminunc expect a function handle as an argument, but they expect a very specific function handle too. If you look at the help of fminunc, it states that:




      FCN should accept a vector (array) defining the unknown variables,

      and return the objective function value, optionally with gradient.




      Therefore, if you want to pass a function that is to be computed with three arguments, you need to "wrap" it into your own handle, which you can define on the spot, e.g. @(x) computeCost(x, y, t) (assuming 'y' and 't' exist already).



      So, I'm guessing that instead of calling fminunc like so: fminunc( @(x) computeCost(x, y, t),

      you probably called it like so: fminunc( @computeCost )

      or even like so: fminunc( computeCost ) (which evaluates the function first, rather than pass a function handle as an argument).



      Basically, go back to the code given to you by coursera, or read the notes carefully. You're calling things the wrong way.






      share|improve this answer


























        0












        0








        0







        There are two things happening here. First you are defining your function dynamically as opposed to in its own file; not sure why you would prefer that.



        Second, after having defined this computeCost function, you are calling it from a context where you did not pass a y argument (or presumably, you didn't pass any arguments to it, and y happens to be the first one detected as missing inside the function).



        Since this is a cost function and your code looks suspiciously like code from Andrew Ng's Machine Learning course on Coursera, I am going to go out on a limb here and guess that you called computeCost from something else that was supposed to use it as a cost function to be optimised, e.g. fminunc. Typically functions like fminunc expect a function handle as an argument, but they expect a very specific function handle too. If you look at the help of fminunc, it states that:




        FCN should accept a vector (array) defining the unknown variables,

        and return the objective function value, optionally with gradient.




        Therefore, if you want to pass a function that is to be computed with three arguments, you need to "wrap" it into your own handle, which you can define on the spot, e.g. @(x) computeCost(x, y, t) (assuming 'y' and 't' exist already).



        So, I'm guessing that instead of calling fminunc like so: fminunc( @(x) computeCost(x, y, t),

        you probably called it like so: fminunc( @computeCost )

        or even like so: fminunc( computeCost ) (which evaluates the function first, rather than pass a function handle as an argument).



        Basically, go back to the code given to you by coursera, or read the notes carefully. You're calling things the wrong way.






        share|improve this answer













        There are two things happening here. First you are defining your function dynamically as opposed to in its own file; not sure why you would prefer that.



        Second, after having defined this computeCost function, you are calling it from a context where you did not pass a y argument (or presumably, you didn't pass any arguments to it, and y happens to be the first one detected as missing inside the function).



        Since this is a cost function and your code looks suspiciously like code from Andrew Ng's Machine Learning course on Coursera, I am going to go out on a limb here and guess that you called computeCost from something else that was supposed to use it as a cost function to be optimised, e.g. fminunc. Typically functions like fminunc expect a function handle as an argument, but they expect a very specific function handle too. If you look at the help of fminunc, it states that:




        FCN should accept a vector (array) defining the unknown variables,

        and return the objective function value, optionally with gradient.




        Therefore, if you want to pass a function that is to be computed with three arguments, you need to "wrap" it into your own handle, which you can define on the spot, e.g. @(x) computeCost(x, y, t) (assuming 'y' and 't' exist already).



        So, I'm guessing that instead of calling fminunc like so: fminunc( @(x) computeCost(x, y, t),

        you probably called it like so: fminunc( @computeCost )

        or even like so: fminunc( computeCost ) (which evaluates the function first, rather than pass a function handle as an argument).



        Basically, go back to the code given to you by coursera, or read the notes carefully. You're calling things the wrong way.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 25 '18 at 9:37









        Tasos PapastylianouTasos Papastylianou

        11.1k11133




        11.1k11133
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53465874%2ferror-y-undefined-near-line-8-column-12-error-called-from-computecost-at-lin%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Create new schema in PostgreSQL using DBeaver

            Deepest pit of an array with Javascript: test on Codility

            Costa Masnaga