只返回奇数元素

时间:2015-04-20 04:17:31

标签: matlab function

这是我第一次尝试学习Matlab,我正在尝试一些由p文件评估的作业。我认为我的功能是正确的,但我不断从评估功能的自动反馈中获得负面反馈

  

(反馈:你的函数对论证造成错误[1 2 3; 4 5 6; 7   8 9))

问题:

  

编写一个名为odd_index的函数,它将矩阵M作为输入参数   并返回一个矩阵,该矩阵仅包含奇数的M个元素   行和列。换句话说,它将返回M的元素   指数(1,1),(1,3),(1,5),......,(3,1),(3,3),(3,5),......等   请注意,元素的行和列都必须为奇数才能包含在输出中。   不会返回以下内容:(1,2),(2,1),(2,2)因为行或者   列或两者都是偶数。例如,如果M是5乘8矩阵,那么输出必须   是3乘4,因为该函数省略了M的第2行和第4行,它也省略了M的第2,4,6和8列。

这是我写的函数:

function odd_index
M=[1:5; 6:10; 11:15; 16:20; 21:25];
M=M(1:2:end, 1:2:end);
M
end

任何有关我在这里做错的建议都将不胜感激。

2 个答案:

答案 0 :(得分:2)

您的函数需要使用矩阵M作为输入参数:

function M_out = odd_index(M)
    M_out = M(1:2:end, 1:2:end);
end

这样,' p文件'可以测试它的各种输入。

答案 1 :(得分:0)

function matA=odd_index(matB)
[r,c]=size(matB);
matA=matB(1:2:r,1:2:c);
end