Ich brauche Hilfe beim Erstellen eines Zellenarrays in MATLAB, wobei jede Zelle ein Array mit verschiedenen Größen ist. Zum Beispiel, nehmen sie an, ich habe diese einfache Anordnung und den Wert:Weisen Sie den Zellenarrays in MATLAB auf einmal unterschiedliche Werte zu
A = [5 3 8 7 0 4 1];
B = 10;
Das Zellenfeld C
muss so beschaffen sein, dass:
C =
[10 20 30 40 50]
[10 20 30]
[10 20 30 40 50 60 70 80]
[10 20 30 40 50 60 70]
[Empty matrix 1x0]
[10 20 30 40]
[10]
Ist es möglich, nur dass in einem Arbeitsgang zu tun? Ich habe versucht:
C = cellfun(@(a,b)b*ones(1,a), A,B)
aber es hat nicht funktioniert.
Hallo ich, dass ich das auch versucht, vergessen zu sagen ... es sagt, 'Nicht definierte Funktion‚Doppelpunkt‘für Eingabeargumente vom Typ‚Zelle‘. Fehler in @ (x) B * (1: x) ' – PhoenixBlue
@PhoenixBlue' cellfun' erwartet ein ** Zellenfeld **. Bitte lesen Sie meinen Beitrag vollständig. Du wirst bemerken ** Ich habe 'cellfun' ** nicht benutzt. – rayryeng
OH! Entschuldigung, mein fehler! es funktionierte! Ich habe einfach das Zellen-Array anstelle des einfachen Arrays (sogar in meinem ersten Versuch ...) !! Danke noch einmal!! – PhoenixBlue