- What if user enters src(-1)? What about src(.9)? The input will never reach 0 and you'll run out of memory. To prevent the user from entering negative or non-scalar values, use an argument validation function.
- You probably want to reset output back to 0 after input reaches 0. In that case, you can make this change,
how can i declare a variable in a function for the first time only ,
7 ビュー (過去 30 日間)
古いコメントを表示
function h=src(input) %example
output=0 %here i won't output to be declared again when matlab gonna calcul src(input-1)
if input==0
output=output
else
output= output +1
src(input-1)
end
0 件のコメント
採用された回答
Adam Danz
2020 年 9 月 23 日
編集済み: Adam Danz
2020 年 9 月 23 日
I think this is what you're looking for,
function h=src(input)
persistent output %%%%%%%%
if isempty(output) %%
output = 0; %%
end %%%%%%%%
if input==0
%output=output; % What's this ??
% Do nothing
else
output= output + 1;
src(input-1);
end
h = output; % assign output!
However, this still has problems.
if input==0
%output=output; % What's this ??
h = output;
output = 0;
else ...
4 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Whos についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!