سلام دوستان
من با MATLAB دارم یک برنامه تحلیل ماتریسی خرپا می نویسم و به هنگام اجرای برنامه بر روی دستور ( Km = K (i,j خطا می دهد عبارت خطایم این است
Subscripted assignment dimension mismatch???
Kmماتریس سختی عضو خرپا است که یک ماتریس 3*3 است طبق دستور باید این ماتریس 3*3 را در سطر i ام و ستون j ام ماتریس K1 بگذارد که خطا داده است این هم از حلقه کامل
خطا با رنگ قرمز مشخص شده است
nnode=input('Enter the Number of Nodes Truss = ');
member=input('Enter the Number of Members Truss = ');
K1=zeros(nnode,nnode);
K2=zeros(nnode,nnode);
K3=diag(nnode,nnode);
for j=1:member
Fnode(j)=input('Enter number first node this element = ');
Enode(j)=input('Enter number end node this element = ');
Lmember(j)=sqrt((c(1,Enode(j))-c(1,Fnode(j)))^2+(c(2,Enode(j))-c(2,Fnode(j)))^2+(c(3,Enode(j))-c(3,Fnode(j)))^2);
if Fnode(j)<Enode>Enode(j)
l1(j)=(c(1,Enode(j))-c(1,Fnode(j)))/Lmember(j);
l2(j)=(c(1,Fnode(j))-c(1,Enode(j)))/Lmember(j);
m1(j)=(c(2,Enode(j))-c(2,Fnode(j)))/Lmember(j);
m2(j)=(c(2,Fnode(j))-c(2,Enode(j)))/Lmember(j);
n1(j)=(c(3,Enode(j))-c(3,Fnode(j)))/Lmember(j);
n2(j)=(c(3,Fnode(j))-c(3,Enode(j)))/Lmember(j);
disp('l1(j)= ');disp(l1(j));disp('l2(j)= ');disp(l2(j));
disp('m1(j)= ');disp(m1(j));disp('m2(j)= ');disp(m2(j));
disp('n1(j)= ');disp(n1(j));disp('n2(j)= ');disp(n2(j));
B=[l1(j)^2 l1(j)*m1(j) l1(j)*n1(j);l1(j)*m1(j) m1(j)^2 m1(j)*n1(j);l1(j)*n1(j) m1(j)*n1(j) n1(j)^2];
[color=black]disp('B=');disp(B);
else end
K1(Fnode(j),Enode(j))=((-E*A)/Lmember(j))*B;
disp(' ');
disp('K1=');disp(K1(Fnode(j),Enode(j)));
K2(Fnode(j),Enode(j))=((-E*A)/Lmember(j))*B';
disp(' ');
disp('K2=');disp(K2(Enode(j),Fnode(j)));
end
با تشکر[/color]