i'am writing a function the takes an n-by-m matrix as an input and returns the input matrix with the center element zeroed out. when i run it, it is giving the error:' not enough input arguments' in line two. can anybody assist me please.

5 ビュー (過去 30 日間)
function zero_middle(h)
[n,m]=size(h);
for ii=1:n;
for jj=1:m;
if mod(ii,2) && mod(jj,2);
h(end/2+1/2)=0;
end
end
end
end

採用された回答

Walter Roberson
Walter Roberson 2018 年 12 月 3 日
You are trying to run your code by pressing the green Run button . You need to go down to the command line and invoke the code instead . Like
mm = magic(9);
zm = zero_middle(mm);

その他の回答 (1 件)

Weisz Thomas
Weisz Thomas 2018 年 12 月 4 日
function h= zero_middle(h)
h(end/2+1/2,end/2+1/2)=0;
end
  1 件のコメント
Walter Roberson
Walter Roberson 2018 年 12 月 4 日
Yup. And it so happens that under the circumstances imposed in the initial question, you could also use
h(end/2+1/2) = 0;

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

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品


リリース

R2013a

Community Treasure Hunt

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

Start Hunting!

Translated by