Calling a function in another function

2 次查看(过去 30 天)
I am really new to matlab. When I wrote two functions like this:
funw.m
function q = funw(t)
h=0;
r=1/7;
q = quadl(@(x) sqrt(t^(2*r)-x.^(2*r)),h,t)...
-quadl (@(x) sqrt(x.^(2*r)-t^(2*r)),t,(h+2));
return
VentRate.m
function w = VentRate
global elev;
global h;
w = fzero(@funw,(h+elev)/2);
return
I try to use VentRate to call funw, by typing VentRate in the command window, but it will show some error. However, if i directly write w = fzero(@funw,(h+elev)/2) in the command window, it will run without error. So can anyone tell me what is wrong with the second function? I appreciate your help.

回答(1 个)

Anmol Pardeshi
Anmol Pardeshi 2018-4-8
编辑:Anmol Pardeshi 2018-4-8
there are 2 pointers on this -
a. why are you keen on calling the funw function within a function; this is especially concerning because function ventRate does not take any input
b. the reason (i suspect this..not sure) for the error is because there is no input to the function. It is the way functions are built or the way their syntax is. No input field to a function may not be acceptable. Trying passing pseudo (fake or nonused) parameters to the ventRate function and see if it works.

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by