Ich habe eine 3D MATLAB-Funktion.Jede Schicht eines MATLAB 3D-Arrays durch eine andere Nummer teilen
Ich möchte jede Scheibe der Matrix mit einer anderen Nummer multiplizieren.
I versucht, dies im folgenden Beispiel Code durch bsxfun zu implementieren:
a=randi(10,4,3,2);
b=[2 3];
c=bsxfun(@times,a,b)
ich, dass die ersten 4 * 3 Stück von 'a' mit 2 multipliziert würde bestimmt, und der zweite 4 * 3 slice von 'a' würde jedoch von 3.
multipliziert werden, ich folgende Fehlermeldung nur bekam:
??? Fehler bei Verwendung von ==> bsxfun Nicht-Singleton-Dimensionen der beiden Eingangsarrays müssen übereinstimmen.
Wie löst man das Problem, ohne eine Schleife zu verwenden?