I can not create a matrix.

a =[ 7
7
7
11
11
11]
b =[ 4
4
4
4
4
4]
c =[11
11
11]
d =[ 4
4
4
7
7
7]
for i = 1:length(a)
for j = 1:(length(c))
if (b(i) == d(j))
A(i,j) = [0]
elseif (a(i) == c(j))
A(j,j) = [-1]
end
end
end
A = [0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0] % This matrix is forming.
% The matrix to form:
A = [0 0 0
0 0 0
0 0 0
-1 0 0
0 -1 0
0 0 -1]

回答(1 个)

Honglei Chen
Honglei Chen 2017-5-5

1 个投票

I don't know what your logic is but the code is behaving as expected. The first condition (b(i)==c(j)) is always satisfied so the second branch is never executed.
HTH

2 个评论

I was trying to create this matrix.
If the matrix is constant, what's wrong just typing is out, say
A = [zeros(3);-1*eye(3)]

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by