Any ideas how i can reduce the time effort?
1 次查看(过去 30 天)
显示 更早的评论
design=[0.6250 0.8750; 0.2500 0.7500; 0.3750 0.1250; 0.8750 0.3750; 0.1250 0.6250; 0 0; 0.5000 0.5000; 0.7500 0.2500; 0.6875 0.0625; 0.0625 0.8125; 0.1875 0.6875; 0.3125 0.3125; 0.4375 0.9375; 0.5625 0.5625; 0.9375 0.1875; 0.8125 0.4375;]
v=16;
A=2;
m=2
dm=2;
summ=0
for i=1:v
for j=1:v
if j==A,
continue
end
for k=1:m
if k==dm
ddii=((design(i,k)-design(j,k))^2);
summ=summ+ddii;
else
ddii=((design(A,k)-design(j,k))^2);
summ=summ+ddii;
end
end
ddcc(j,i,:)=[j i summ];
summ=0;
end
cc(i,:)=min(nonzeros(ddcc(:,i,3)));
end
Comments: v is an integer lets say 16. A is an integer ( any number from 1 to 16 or v). Design is a matrix, if v=16 we can say that is a 16 by 2 matrix (16 rows 2 columns), the matrix contains only positive numbers between 0 and 1 (for example 0, 0.025,0.975,0.523). Trying to vectorize the calculation in order to reduce time significantly.
Thank you in advance.
2 个评论
per isakson
2016-7-19
编辑:per isakson
2016-7-19
Modify the code so it's possible to run it and provide sample input data.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!