[討論] for迴圈
板上的大家好,我的程式碼如下:
X=0.1;
C=(16/X)+1;
d1=zeros(1,C);
d2=zeros(1,C);
d3=zeros(1,C);
e1=zeros(1,C);
e2=zeros(1,C);
e3=zeros(1,C);
f1=zeros(7,C);
f2=zeros(7,C);
f3=zeros(7,C);
for k=1:C
k;
x1=0;
x2=0;
x3=0;
x4=0;
x5=0;
x6=0;
x7=0;
for I=0:4
I;
A=zeros(7,7);
K=0.1*k-8.1;
K;
A(1,1)=(0.5*(K-3*pi)^2+0.5)+(1-0.3i)*(x1*conj(x1)+2*x2*conj(x2)+2*x3*conj(x3)+2*x4*conj(x4)+2*x5*conj(x5)+2*x6*conj(x6)+2*x7*conj(x7));
A(1,2)=(-0.25+(1-0.3i)*(x2*conj(x3)+x3*conj(x4)+x4*conj(x5)+x5*conj(x6)+x6*conj(x7)));
A(1,3)=(1-0.3i)*(x2*conj(x4)+x3*conj(x5)+x4*conj(x6)+x5*conj(x7));
A(1,4)=(1-0.3i)*(x2*conj(x5)+x3*conj(x6)+x4*conj(x7));
A(1,5)=(1-0.3i)*(x2*conj(x6)+x3*conj(x7));
A(1,6)=(1-0.3i)*(x2*conj(x7));
A(1,7)=0;
A(2,1)=(-0.25+(1-0.3i)*(x3*conj(x2)+x4*conj(x3)+x5*conj(x4)+x6*conj(x5)+x7*conj(x6)));
A(2,2)=(0.5*(K-2*pi)^2+0.5)+(1-0.3i)*(2*x1*conj(x1)+x2*conj(x2)+2*x3*conj(x3)+2*x4*conj(x4)+2*x5*conj(x5)+2*x6*conj(x6)+2*x7*conj(x7));
A(2,3)=-0.25+(1-0.3i)*(x1*conj(x2)+x3*conj(x4)+x4*conj(x5)+x5*conj(x6)+x6*conj(x7));
A(2,4)=(1-0.3i)*(x1*conj(x3)+x3*conj(x5)+x4*conj(x6)+x5*conj(x7));
A(2,5)=(1-0.3i)*(x1*conj(x4)+x3*conj(x6)+x4*conj(x7));
A(2,6)=(1-0.3i)*(x1*conj(x5)+x3*conj(x7));
A(2,7)=(1-0.3i)*(x1*conj(x6));
A(3,1)=(1-0.3i)*(x4*conj(x2)+x5*conj(x3)+x6*conj(x4)+x7*conj(x5));
A(3,2)=-0.25+(1-0.3i)*(x2*conj(x7)+x4*conj(x3)+x5*conj(x4)+x6*conj(x5)+x7*conj(x6));
A(3,3)=(0.5*(K-pi)^2+0.5)+(1-0.3i)*(2*x1*conj(x1)+2*x2*conj(x2)+x3*conj(x3)+2*x4*conj(x4)+2*x5*conj(x5)+2*x6*conj(x6)+2*x7*conj(x7));
A(3,4)=-0.25+(1-0.3i)*(x1*conj(x2)+x4*conj(x5)+x2*conj(x3)+x6*conj(x7)+x5*conj(x6));
A(3,5)=(1-0.3i)*(x1*conj(x3)+x5*conj(x7)+x4*conj(x6)+x2*conj(x4));
A(3,6)=(1-0.3i)*(x1*conj(x4)+x4*conj(x7)+x2*conj(x5));
A(3,7)=(1-0.3i)*(x2*conj(x6)+x1*conj(x5));
A(4,1)=(1-0.3i)*(x5*conj(x2)+x6*conj(x3)+x7*conj(x4));
A(4,2)=(1-0.3i)*(x3*conj(x1)+x5*conj(x3)+x6*conj(x4)+x7*conj(x5));
A(4,3)=-0.25+(1-0.3i)*(x2*conj(x1)+x3*conj(x2)+x5*conj(x4)+x6*conj(x5)+x7*conj(x6));
A(4,4)=(0.5*(K)^2+0.5)+(1-0.3i)*(2*x1*conj(x1)+2*x2*conj(x2)+2*x3*conj(x3)+x4*conj(x4)+2*x5*conj(x5)+2*x6*conj(x6)+2*x7*conj(x7));
A(4,5)=-0.25+(1-0.3i)*(x1*conj(x2)+x2*conj(x3)+x3*conj(x4)+x5*conj(x6)+x6*conj(x7));
A(4,6)=(1-0.3i)*(x1*conj(x3)+x2*conj(x4)+x3*conj(x5)+x5*conj(x7));
A(4,7)=(1-0.3i)*(x1*conj(x4)+x2*conj(x5)+x3*conj(x6));
A(5,1)=(1-0.3i)*(x6*conj(x2)+x7*conj(x3));
A(5,2)=(1-0.3i)*(x4*conj(x1)+x6*conj(x3)+x7*conj(x4));
A(5,3)=(1-0.3i)*(x3*conj(x1)+x4*conj(x2)+x6*conj(x4)+x7*conj(x5));
A(5,4)=-0.25+(1-0.3i)*(x2*conj(x1)+x3*conj(x2)+x4*conj(x3)+x6*conj(x5)+x7*conj(x6));
A(5,5)=(0.5*(K+pi)^2+0.5)+(1-0.3i)*(2*x1*conj(x1)+2*x2*conj(x2)+2*x3*conj(x3)+2*x4*conj(x4)+x5*conj(x5)+2*x6*conj(x6)+2*x7*conj(x7));
A(5,6)=-0.25+(1-0.3i)*(x1*conj(x2)+x2*conj(x3)+x3*conj(x4)+x4*conj(x5)+x6*conj(x7));
A(5,7)=(1-0.3i)*(x1*conj(x3)+x2*conj(x4)+x3*conj(x5)+x4*conj(x6));
A(6,1)=(1-0.3i)*(x7*conj(x2));
A(6,2)=(1-0.3i)*(x5*conj(x1)+x7*conj(x3));
A(6,3)=(1-0.3i)*(x4*conj(x1)+x5*conj(x2)+x7*conj(x4));
A(6,4)=(1-0.3i)*(x3*conj(x1)+x4*conj(x2)+x5*conj(x3)+x7*conj(x5));
A(6,5)=-0.25+(1-0.3i)*(x2*conj(x1)+x3*conj(x2)+x4*conj(x3)+x5*conj(x4)+x7*conj(x6));
A(6,6)=(0.5*(K+2*pi)^2+0.5)+(1-0.3i)*(2*x1*conj(x1)+2*x2*conj(x2)+2*x3*conj(x3)+2*x4*conj(x4)+2*x5*conj(x5)+x6*conj(x6)+2*x7*conj(x7));
A(6,7)=-0.25+(1-0.3i)*(x1*conj(x2)+x2*conj(x3)+x3*conj(x4)+x4*conj(x5)+x5*conj(x6));
A(7,1)=0;
A(7,2)=(1-0.3i)*(x6*conj(x1));
A(7,3)=(1-0.3i)*(x5*conj(x1)+x6*conj(x2));
A(7,4)=(1-0.3i)*(x4*conj(x1)+x5*conj(x2)+x6*conj(x3));
A(7,5)=(1-0.3i)*(x3*conj(x1)+x4*conj(x2)+x5*conj(x3)+x6*conj(x4));
A(7,6)=-0.25+(1-0.3i)*(x2*conj(x1)+x3*conj(x2)+x4*conj(x3)+x5*conj(x4)+x6*conj(x5));
A(7,7)=(0.5*(K+3*pi)^2+0.5)+(1-0.3i)*(2*x1*conj(x1)+2*x2*conj(x2)+2*x3*conj(x3)+2*x4*conj(x4)+2*x5*conj(x5)+2*x6*conj(x6)+x7*conj(x7));
[ve, ei]=eig(A);
S=zeros(1,7);
for w=1:1:7;
for v=1:1:7;
for u=1:1:7;
S=S+A(v,u)* ve(u,w) *conj(A(v,u)* ve(u,w));
end
end
end
S;
w=1:1:7;
S(w)=S;
sorted = sort(S);
m1=sorted(1);
m2=sorted(2);
m3=sorted(3);
index1=find(S<=m1);
index2=find(m1<S<=m2);
index3=find(m2<S<=m3);
ei(:,index1);
ei(:,index2);
ei(:,index3);
alpha1=ei(1,index1);
alpha2=ei(2,index1);
alpha3=ei(3,index1);
alpha4=ei(4,index1);
alpha5=ei(5,index1);
alpha6=ei(6,index1);
alpha7=ei(7,index1);
alpha=alpha1+alpha2+alpha3+alpha4+alpha5+alpha6+alpha7;
s1=real(alpha);
t1=-imag(alpha);
ve(:,index1);
x1=ve(1,index1);
x2=ve(2,index1);
x3=ve(3,index1);
x4=ve(4,index1);
x5=ve(5,index1);
x6=ve(6,index1);
x7=ve(7,index1);
d1(k)=s1;
e1(k)=t1;
程式顯示的錯誤說明為:
In an assignment A(I) = B, the number of elements in B and I must be the
same.
Error in Untitled
d1(k)=s1;
請板上的高手幫這個剛學沒多久的小弟我解惑,小弟感激不盡,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.100.52
→
03/12 04:00, , 1F
03/12 04:00, 1F
→
03/12 04:03, , 2F
03/12 04:03, 2F
→
03/12 11:57, , 3F
03/12 11:57, 3F
推
03/12 13:28, , 4F
03/12 13:28, 4F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
7
20