What's wrong with this code?

1 次查看(过去 30 天)
Dear fellows. I was asked to create a function for which the input is a matrix M(n,m) and the output is also a matrix, Q(n,m), so that Q(n,m) is sin (M(n,m)) if M(n,m) is even and Q(n,m) is cos (M(n,m)) if M(n,m) is odd. That's what I did:
function [Q] = myTrigOddEven(M)
n = size(M,1);
m = size(M,2);
for i = 1:n
for j = 1:m
if rem(M(n,m),2)== 0
Q(n,m) = sin(M(n,m))
else
Q(n,m) = cos (M(n,m));
end
end
end
I tested it with the matrix A = [1 2; 3 4] but I got [0 0 ; 0 -0.7568] as a result. What did I do wrong?

采纳的回答

the cyclist
the cyclist 2016-6-26
编辑:the cyclist 2016-6-26
In these lines, you should be indexing with (i,j) rather than (n,m)
if rem(M(n,m),2)== 0
Q(n,m) = sin(M(n,m))
else
Q(n,m) = cos (M(n,m));
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by