MATLAB - multiple return values from a function?

前端 未结 4 410
隐瞒了意图╮
隐瞒了意图╮ 2021-02-04 23:35

I\'m writing 2 functions in matlab, an initialize function and a function to insert items into an array treating it like a doubly-linked list. However, my initialize function on

相关标签:
4条回答
  • 2021-02-04 23:58

    I think Octave only return one value which is the first return value, in your case, 'array'.

    And Octave print it as "ans".

    Others, 'listp','freep' were not printed.

    Because it showed up within the function.

    Try this out:

    [ A, B, C] = initialize( 4 )
    

    And the 'array','listp','freep' will print as A, B and C.

    0 讨论(0)
  • 2021-02-05 00:00

    Change the function that you get one single Result=[array, listp, freep]. So there is only one result to be displayed

    0 讨论(0)
  • 2021-02-05 00:01

    Use the following in the function you will call and it will work just fine.

         [a b c] = yourfunction(optional)
         %your code
         a = 5;
         b = 7;
         c = 10;
         return
         end
    

    This is a way to call the function both from another function and from the command terminal

         [aa bb cc] = yourfunction(optional);
    

    The variables aa, bb and cc now hold the return variables.

    0 讨论(0)
  • 2021-02-05 00:15

    Matlab allows you to return multiple values as well as receive them inline.

    When you call it, receive individual variables inline:

    [array, listp, freep] = initialize(size)
    
    0 讨论(0)
提交回复
热议问题