Calling a function in another function
显示 更早的评论
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
2018-4-8
编辑:Anmol Pardeshi
2018-4-8
0 个投票
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.
类别
在 帮助中心 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!