Why can't I put two equations in one function file?

1 view (last 30 days)
Rachel Dawn on 28 Feb 2018
Commented: the cyclist on 1 May 2020
function a,b=myfunction(x)
a= @(x) 5-5*exp((1/3)*x) + (16- x^2)^(1/2)
b= @(x) (-5/3)*exp((1/3)*x) - (16- x^2)^(-1/2)
I basically want this function to give me f(x) value (equation listed next to a), and I want it to give me the f'(x) value (equation listed next to b).
Why is it that I can't have my input value go into two separate equations and come out as two outputs?
----
I know that I can create a function file f(x) with equation '5x^2 + 10' and then create its derivative function file:
function result= fd(x)
f(x)
result=10x;
and it will print out both values that I want (f(x) and f'(x)). But, do I really have to make two files for these two equations instead of just grouping them in one file?

the cyclist on 28 Feb 2018
Edited: the cyclist on 28 Feb 2018
It's just a simple syntax error. Try
function [a,b]=myfunction(x)
Note the square brackets around the outputs. You will get two outputs from this function.
PRED LIU on 1 May 2020
If a,b are matrix or ,how to do ??
IF a is matrix b is var ,how to do??
the cyclist on 1 May 2020
It's still the same syntax. You will get outputs that are scalars or matrices.