matrix multiply by array xi=xj

5 visualizzazioni (ultimi 30 giorni)
Nur Amalina
Nur Amalina il 12 Feb 2020
Modificato: Nur Amalina il 12 Feb 2020
Hi, All!
say, i have a matrix:
eij= [0 1 0 1;1 0 1 1;0 1 0 1;1 1 1 0];
x1=1; x2=2; x3=3; x4=4;
how can i make array xj and xi for this function
for i=1:1:4 and j=1:1:4
xi = xj
Ai =
i hope the answer would be like this:
A1= 0(1 - 1) + 1(2 - 1) + 0(3 - 1) + 1(4 - 1)=4
A2= ...; A3=..., A4=...
i am trying to use repmat function but i am stuck. maybe anyone has better solution?

Risposta accettata

KSSV
KSSV il 12 Feb 2020
Modificato: KSSV il 12 Feb 2020
e = [0 1 0 1;1 0 1 1;0 1 0 1;1 1 1 0];
x = [1 2 3 4] ;
A = zeros(size(e)) ;
for i = 1:4
for j = 1:4
A(i,j) = e(i,j)*(x(i)-x(j)) ;
end
end
A = sum(A,2)

Più risposte (1)

Bhaskar R
Bhaskar R il 12 Feb 2020
x = 1:4;
eij= [0 1 0 1;1 0 1 1;0 1 0 1;1 1 1 0];
tmp =0;
for i = 1:4
for j = 1:4
tmp =tmp + eij(i, j)*(x(j)-x(i));
end
A(i) = tmp;
end

Community Treasure Hunt

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

Start Hunting!

Translated by