To check coding
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have coding as below.
a=[11 11 33 33 22 44; 33 33 33 11 11 22; 33 33 11 22 22 44; 44 44 33 22 44 11]
s = size(a);
b = zeros(s);
b(abs(a - 33) < 1e3*eps) = -10;
k = [true(s(1),1) diff(a,1,2)~=0].*a;
p = arrayfun(@(x)10*nnz(strfind(k(x,:),[33 22])),(1:s(1))');
penalty = sum(b,2) + p;
The coding is need to fulfil below conditions and cannot overlap each other:
pattern | penalty
33 33 33 | -30
33 33 22 | -20
33 11 | -10
33 33 22 | -10
33 22 | 0
Therefore, I need your help to check and correct this coding. Thank you.
0 Commenti
Risposta accettata
Andrei Bobrov
il 2 Gen 2012
try this is code:
s = size(a);
b = zeros(s);
b(abs(a - 33) < 1e3*eps) = -10;
p = arrayfun(@(x)10*nnz(strfind(a(x,:),[33 22])),(1:s(1))');
penalty = sum(b,2) + p;
4 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!