这个mat实验室代码有什么问题?

时间:2016-08-25 04:54:39

标签: algorithm matlab

这是问题所在: 编写一个名为top_right的函数,它接受两个输入:矩阵N和标量非负整数n,按顺序,其中N的每个维度大于或等于n。该函数返回N右上角的n-by-n方阵。

我的代码:

function s=top_right(A,n)
  s=A(1:n,end-n+1:end);

我不知道我哪里错了, 谢谢!

1 个答案:

答案 0 :(得分:6)

从你的帖子和相应的文章公平地假设你是MATLAB和stackoverflow的新手。首先回答你的问题:

你的代码工作得很好并且做了它应该做的事情,但我认为它是你工作的脚本的某个地方。使用它作为一个函数打开一个新的脚本副本

function s=top_right(A,n)
  s=A(1:n,end-n+1:end);
end

在那里并保存为' top_right.m' (保存时会显示名称)。当您在该文件夹中工作时,您可以使用top_right(A,n)

调用您的函数

其次,如何在这里提问,以便快速得到正确的答案。检查https://stackoverflow.com/help/mcve并使您的问题看起来像是描述的,例如:

嘿,你们是美丽的人!我试图使top_right函数起作用,它应该返回矩阵的右上角部分。我的代码是:

A=[(1:10)'*(1:10)];
function s=top_right(A,n)
  s=A(1:n,end-n+1:end);
end;

但是给我留下了错误

Error: File: test.m Line: 1 Column: 1
Function definitions are not permitted in this context.

欢迎来到stackoverflow!