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 ExchangeProgramming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by