这是问题所在: 编写一个名为top_right的函数,它接受两个输入:矩阵N和标量非负整数n,按顺序,其中N的每个维度大于或等于n。该函数返回N右上角的n-by-n方阵。
我的代码:
function s=top_right(A,n)
s=A(1:n,end-n+1:end);
我不知道我哪里错了, 谢谢!
答案 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!