nested function calculation problem
2 ビュー (過去 30 日間)
古いコメントを表示
Cem Eren Aslan
2021 年 11 月 29 日
コメント済み: Walter Roberson
2021 年 11 月 30 日
Hello everyone,
I'm trying to write a code that consists of an if and a nested function. I try, each nested function works seperately but It doesn't work when you put it together. The general structure is as follows. It enters the nested function and calculates correctly, but does not print the answer. Where is the problem?
Thanks
function abc(a1,b1,c1)
x;
y;
z;
function x
if statement
statement
else statement
statement
end
end
function y
if statement
else statement
end
end
function z
if statement
else statement
end
end
result=x+y+z
end
0 件のコメント
採用された回答
Walter Roberson
2021 年 11 月 29 日
Your functions do not return values. You cannot add them.
4 件のコメント
Walter Roberson
2021 年 11 月 30 日
But that does not require nested functions (unless the nested functions access shared variables.) There is another opportunity with nested functions:
function result = abc(a1,b1,c1)
x_val = []; y_val = []; z_val = []; %must initialize, shared variables!
x;
y;
z;
function x
if statement
statement
else statement
statement
end
x_val = something; %no return value, modify shared variable
end
function y
if statement
else statement
end
y_val = something; %no return value, modify shared variable
end
function z
if statement
else statement
end
z_val = something; %no return value, modify shared variable
end
result = x_val + y_val + z_val; %but you need to return this
end
Walter Roberson
2021 年 11 月 30 日
Shared variables are slower than passing parameters in and returning outputs.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Function Creation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!