how to define a function inside a function?

2 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2015-4-8
编辑:Stephen23 2015-4-8
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).

请先登录,再进行评论。

采纳的回答

Titus Edelhofer
Titus Edelhofer 2015-4-8
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by