Optimization
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
*Modified Post*
I have a 3D matrix of this form:
gauss = values(3,3,3)
i.e
gauss(:,:,1) =
0.0155 0.0622 0.0155
0.0622 0.2494 0.0622
0.0155 0.0622 0.0155
gauss(:,:,2) =
0.0622 0.2494 0.0622
0.2494 1.0000 0.2494
0.0622 0.2494 0.0622
gauss(:,:,3) =
0.0155 0.0622 0.0155
0.0622 0.2494 0.0622
0.0155 0.0622 0.0155
What I want to do is create another 3D matrix of larger dimension, i.e of size (10,3,3)
I.e NewMatrix = zeros(10,3,3);
What I want:
NewMatrix(1:3,:,:) = NewMatrix(1:3,:,:) + gauss;
NewMatrix(2:4,:,:) = NewMatrix(2:4,:,:) + gauss;
NewMatrix(4:6,:,:) = NewMatrix(4:6,:,:) + gauss;
:
:
NewMatrix(8:10,:,:) = NewMatrix(8:10,:,:) + gauss;
So essentially I want to use the 'gauss' matrix fill the values of 'NewMatrix'. However, the placement of the matrix 'gauss' in 'NewMatrix' is to be optimized so that the values of 'NewMatrix' are as uniform as possible. Let me know if more clarification is needed. Any suggestion will be appreciated.
11 commentaires
Andrew Newell
le 30 Mai 2011
Your question is very puzzling. Why do you want to generate a cylinder using spheres? How many spheres? Can they overlap? What orientation would the cylinder have?
Andrew Newell
le 30 Mai 2011
Is there any restriction on the number of such placements? Zero would be the most uniform solution.
Charles
le 30 Mai 2011
Andrew Newell
le 30 Mai 2011
We're converging on a clear statement of the problem. You need to set some bounds on the number of placements. Also, what is the criterion for uniformity? Two possibilities: (1) difference between min and max, or (2) variance.
Charles
le 31 Mai 2011
Ivan van der Kroon
le 31 Mai 2011
Hey, to be clear: this number should be as low as possible, std(reshape(g,numel(g),1))?
Why is it in three dimensions? The problem could be reformulated as size(gauss)=[3,9] and size(NewMatrix)=[10,9], right? This makes operations like kron possible.
Charles
le 31 Mai 2011
Ivan van der Kroon
le 31 Mai 2011
About the std(..): You said the uniformity should be deduced from the variance. So you want the standard deviation (std in matlab) to be as low as possible, correct? (the reshape is just to bring it to 1-D, because std only works for one dimension).
Second, how many placements should I think of? More than 10, more than 100? Btw, nice puzzle!
Charles
le 31 Mai 2011
Charles
le 1 Juin 2011
Ivan van der Kroon
le 5 Juin 2011
Just put all weigths zero. I assume this is too trivial. I also noticed you opened a new topic, where you reformulated it for 1-D.
Réponses (0)
Cette question est clôturée.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!