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
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.
Dennis_Pana
Dennis_Pana 2016-7-19
Try the code now. Thank you for your effort.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by