So habe ich diese MatrixMatlab Entscheidung Output basierend auf Matrix Zustand
A=
7
B=
0.34 0.34 0.34
0.50 0.25 0.25
und diese Matrix
C=
1
1
4
2
3
6
3
mit dieser Regel:
- wenn C = 1 dann ist der Ausgang = Summe (A * (B erste Reihe))
- wenn C = 2 dann ist der Ausgang = Summe (A * (B 2. Reihe))
- wenn C nicht 1 oder 2 ist, dann Ausgang = C-Wert
oder allgemein:
- , wenn die C-ten Zeile in B besteht dann die Ausgabe = SUMME (A * (C- te Zeile von B))
- ansonsten output = C-Wert
So sollte die Ausgabe wie folgt sein:
output=
7.14
7.14
4
7
3
6
3
Ich versuche, diesen Code verwenden, aber es ist nicht
sizeA=size(A,1)
sizeB=size(B,1)
for i=1:sizeB
if (B(i)<=sizeA)
Output=sum(repmat(A,1,length(C))'.*B(C,:),2)
else
Output=C(i)
end
end
Ist Ihre Bedingung abhängig von der Anzahl der Zeilen in 'B'? Wenn eine dritte Zeile existiert, sollte man sie benutzen oder nicht? Bitte erwähnen Sie es in Ihrer Frage, wenn dies der Fall ist. Die Formulierung Ihrer Frage ist oft ein großer Schritt, um die Lösung zu finden. – m7913d
yeps es hängt von den Zeilen in B ab, also wenn es eine dritte Zeile auf B gibt, sollte es auch gezählt werden –