フィルターのクリア

Calling a function in another function

4 ビュー (過去 30 日間)
Haojie
Haojie 2012 年 7 月 10 日
編集済み: Anmol Pardeshi 2018 年 4 月 8 日
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 Center および File ExchangeWhos についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by