如果我定义这样的函数
function [x, y] = findXY(B)
[by, bx] = size(B);
x = zeros(by,bx);
y = zeros(by,bx);
for i=1:10
x(i) = i;
y(i) = i;
end
end
我收到以下错误
类'findXY'的构造函数必须只返回一个输出值。
为什么会这样?我不能在循环中使用返回值? 谷歌搜索时我没有找到类似的东西。
答案 0 :(得分:1)
我试过了:
[x, y] = findXY(ones(10,10))
并没有问题。您能否详细解释一下您在何处以及如何使用它?
答案 1 :(得分:0)
可能该函数被视为类的构造函数 - 它可能位于名为@TestXY
的目录中吗?
在这种情况下,您只能返回一个对象。
也许你可以将两个返回值包装成一个单元格数组......
像
这样的东西function xy = findXY(B)
[by, bx] = size(B);
x = zeros(by,bx);
y = zeros(by,bx);
for i=1:10
x(i) = i;
y(i) = i;
end
xy = {x y};
end
但是如果函数不是构造函数,那么代码就完全有效了。
答案 2 :(得分:0)
我会回答我的问题。问题有点奇怪。我刚刚重启了matlab,一切都按预期工作。因此,如果您遇到麻烦而且无法找到问题,那么您应该重新尝试一下。它可能有用。