how to define a function inside a function?

1 view (last 30 days)
hello i hava defined a function:
function jj= jj1(C1, C2, C3, C4, k, q, P,gg, x) jj = C1*cos(k*x)+C2*sin(k*x)+C3*x+C4+gg
the thing is that gg is also a function:
gg1=gg(q,P,x) gg1=q/(2*P)*x^2
obviously this is most likely to be wrong because I have no idea how to do it. Can anyone give me some help please. i put the editor as attachemnent.
  1 Comment
Stephen23
Stephen23 on 8 Apr 2015
Edited: Stephen23 on 8 Apr 2015
Please edit your question and do both of these things:
  • Format your code correctly using the {} Code button that you will find above the text box.
  • Attach the file by clicking both buttons: Choose File and Attach file (otherwise it does not upload).

Sign in to comment.

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 8 Apr 2015
Hi,
if gg is a function you will need to create it and pass to jj1. You can e.g. create an anonymous function:
gg = @(q,P,x) q./(2*P)*x.^2;
% now call jj1:
result = jj1(C1, C2, C3, C4, k, q, P, gg, x);
% and inside jj1:
gg1 = gg(q, P, x);
or you create a seperate .m file:
function gg1 = gg(q, P, x)
gg1 = gg(q, P, x);
and now pass the function handle to jj1:
result = jj1(C1, C2, C3, C4, k, q, P, @gg, x);
Titus

More Answers (0)

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!