Using if statement inside a function,I didn't understand why the error is coming,why I am unable to use the values of x & y inside the if loop

function O = help(~,~)
i=input('Value of i:');
j=input('Value of j:');
O = y(i,j);
function g=y(x,y)
if(x==y)
{
k = rem(x,2);
s = log2( (y - k) );
g = 2^(-s);
}
else
{
g=0;
}
end
return;
end
return;
end

2 件のコメント

There is no such thing as an "if loop". The body of an "if" is executed exactly once (or not at all), whereas a "loop" would continue executing the body until some condition was met.
Jan
Jan 2013 年 3 月 11 日
Please post the error message.
Be sure not to shadow the important Matlab function help by your function. This would be a very bad idea.

サインインしてコメントする。

 採用された回答

Vishal Rane
Vishal Rane 2013 年 3 月 11 日
Curly braces for the if-else statement are not required.

3 件のコメント

Pardon me,it was mistakenly mentioned as if loop,But my question was,why I couldn't use the statements executed before the if statement inside the function y(a,b)
Jan
Jan 2013 年 3 月 11 日
As Vishal Rane has said already: remove the curly braces in the IF-block. They are not only not required, but even an error, because curly braces create a cell array.
Thank you,I forgot that matlab doesn't need curly braces for if else statement,confused with C programming,Anyway thankyou both for your suggestions Vishal & Walter Roberson

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by