【发布时间】:2015-03-19 00:51:31
【问题描述】:
我正在尝试编写一个函数 transform(A),当给定矩阵 A 时它会返回一个新矩阵。新矩阵应根据以下公式获得: 如果 A 有不止一行,则交换第一行和第二行。在此平方之后,第一行中的元素。 到目前为止,这就是我所写的:
function[Anew] = transform(A)
dimension = size(A);
if dimension(1) > 1 %if there is more than 1 row
A([1 2],:)=A([2 1],:);
end
A(1,:,:) = A(1,:,:).^2 %squares elements in the first row
end
我通过在 matlab 中调用它来测试我的函数。
我注意到,因为我在 A(1,:,:) = A(1,:,:) 旁边没有分号。^2
我仍然获得了想要的结果,但不是函数的输出。
我得到 A =
而不是 Anew =
如果我在 A(1,:,:) = A(1,:,:).^2; 旁边放一个分号然后我根本没有得到输出。
你能告诉我哪里出了问题,我应该在我的程序中进行哪些更改才能获得 Anew 的输出? 谢谢
【问题讨论】: