Function, input number, return a value
913 views (last 30 days)
Show older comments
QUESTION:
Write a small function which takes as inputs; a number a and a function g(x), and returns (a, g(a)). Note that printing is not the same as returning a value. Use the function g(x) = 2x 2 and a = 4 to test your function.
So my function right now looks like this.
function [a g(x)] = mysmallfunction(x)
a = x;
g(x) = 2*x.^2;
end
And I'm calling it like this:
clear;
[a g(x)] = mysmallfunction(4)
I get the error "Undefined function or variable 'mysmallfunction'."
But also I'm using a specific equation in 2x^2. How do I make it work for any equation.
0 Comments
Accepted Answer
Guillaume
on 29 Apr 2015
Edited: Guillaume
on 29 Apr 2015
As per the question, the function you have to write takes two inputs, a number and a function (see function handles) and returns two outputs, the original number and another number. Therefore you must have two variable names before the = in your function declaration and two variable names in the brackets of your function declaration.
Note that g(x) is not a valid variable name.
To get you started, the following declaration would work:
function [a, ga] = mysmallfunction(x, g)
More Answers (1)
Pratik Bajaria
on 29 Apr 2015
Hello,
You just have to change a few things and it must work. Atleast it does for me. ;-) you need not write g(x) literally.
function [a g] = mysmallfunction(x)
a = x;
g = 2*x.^2;
end
Call it like this:
clear;
[a g] = mysmallfunction(4)
Check and let me know if it works for you. I assume, i have got your problem right.
Regards, Pratik
2 Comments
Guillaume
on 29 Apr 2015
Eric's comment moved here:
Yes there is two inputs.
Pratik your solution would work for a defined equation.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!