Optimization
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
*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 个评论
Andrew Newell
2011-5-30
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
2011-5-30
Is there any restriction on the number of such placements? Zero would be the most uniform solution.
Charles
2011-5-30
Andrew Newell
2011-5-30
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
2011-5-31
Ivan van der Kroon
2011-5-31
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
2011-5-31
Ivan van der Kroon
2011-5-31
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
2011-5-31
Charles
2011-6-1
Ivan van der Kroon
2011-6-5
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.
回答(0 个)
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!