Filter löschen
Filter löschen

how to define a function inside a function?

2 Ansichten (letzte 30 Tage)
Nadia Bica
Nadia Bica am 8 Apr. 2015
Kommentiert: Nadia Bica am 8 Apr. 2015
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 Kommentar
Stephen23
Stephen23 am 8 Apr. 2015
Bearbeitet: Stephen23 am 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).

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Titus Edelhofer
Titus Edelhofer am 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

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by