【问题标题】:Return only odd elements只返回奇数元素
【发布时间】:2015-06-26 16:03:39
【问题描述】:

这是我第一次尝试学习 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

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

【问题讨论】:

  • 这个函数似乎没有接受任何参数 - 您每次都将 M 设置为第二行中的值。这是期望的行为吗?
  • @MattG 老实说我不确定,因为评估是由 ap 文件完成的,所以我在运行函数时生成矩阵而不需要用户输入。

标签: matlab function


【解决方案1】:
function matA=odd_index(matB)
[r,c]=size(matB);
matA=matB(1:2:r,1:2:c);
end

【讨论】:

  • @rayryeng,并且它使用了不必要的变量定义。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-10-21
    • 2013-10-06
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多