kampww
2008-12-17, 07:24
我有一段matlab code如下
clear;
X=[1 2 3 4; 5 6 7 8 ;9 10 11 12];
N=[1 2 3 4; 5 6 7 8 ;9 10 11 12];
N=kron(N,ones(size(X,1),1));
w =[1 1 1 1;1 1 1 1;1 1 1 1];
for i=1:3
for j=1:4
b(i,j)=sqrt(w(i,j)*(N(i,j)-X(i,j))^2);
end
end
c=sum(b,2);
[val ind]=min(c)
result
val =0
ind =1
程序中w及X值是固定的,但是N值会变第一次N=[1 2 3 4]去跟X中的每一个对应位置相减,接下来依序为[5 6 7 8]、[9 10 11 12]我目前仅能算第一次N=[1 2 3 4]跑出一次结果显示值及其索引值,但是后面必须用手动方式修正,想请问有办法让他自动跑出三个答案吗? 如果可以储存每一次的数值(val)及索引(ind)值更好。非常感谢!!
clear;
X=[1 2 3 4; 5 6 7 8 ;9 10 11 12];
N=[1 2 3 4; 5 6 7 8 ;9 10 11 12];
N=kron(N,ones(size(X,1),1));
w =[1 1 1 1;1 1 1 1;1 1 1 1];
for i=1:3
for j=1:4
b(i,j)=sqrt(w(i,j)*(N(i,j)-X(i,j))^2);
end
end
c=sum(b,2);
[val ind]=min(c)
result
val =0
ind =1
程序中w及X值是固定的,但是N值会变第一次N=[1 2 3 4]去跟X中的每一个对应位置相减,接下来依序为[5 6 7 8]、[9 10 11 12]我目前仅能算第一次N=[1 2 3 4]跑出一次结果显示值及其索引值,但是后面必须用手动方式修正,想请问有办法让他自动跑出三个答案吗? 如果可以储存每一次的数值(val)及索引(ind)值更好。非常感谢!!