I am getting a sparse error in my Matlab code

4 次查看(过去 30 天)
for i=1:9
for j=1:9
D[i][j]=[0] This line
D[1][1]=[E*A]
D(2)(2)=G*Asy
D(3)(3)=G*Asz
D(4)(4)=G*Jt
D(5)(5)=E*Iy
D(6)(6)=E*Iz
D(7)(7)=1/mu*E1*Jt
D(8)(8)=E1*Jd
D(9)(9)=E1*J11
  4 个评论
Virajan Verma
Virajan Verma 2018-9-29
编辑:Walter Roberson 2018-9-29
This is the whole program
%%Input file for Mass Matrix
fid=fopen('input3.txt','r');
Data=fread(fid);
CharData=char(Data);
fclose(fid);
disp(CharData);
%%Mass Matrix
M=r*A;
M=[M*eye(9)]
%%Input file for D Matrix
fid=fopen('input4.txt','r');
Data=fread(fid);
CharData=char(Data);
fclose(fid);
disp(CharData);
%%Rigidity Matrix
for i=1:9
for j=1:9
D[i][j]=[0]
D[1][1]=[E*A]
D(2)(2)=G*Asy
D(3)(3)=G*Asz
D(4)(4)=G*Jt
D(5)(5)=E*Iy
D(6)(6)=E*Iz
D(7)(7)=1/mu*E1*Jt
D(8)(8)=E1*Jd
D(9)(9)=E1*J11
%%Output file for D Matrix
fid=fopen('OUTPUT3.txt','w');
fprintf(fid,'%d\n',D[i][j]);
fprintf(fid,'%d\n',D[1][1]);
fprintf(fid,'%d\n',D(2)(2));
fprintf(fid,'%d\n',D(3)(3));
fprintf(fid,'%d\n',D(4)(4));
fprintf(fid,'%d\n',D(5)(5));
fprintf(fid,'%d\n',D(6)(6));
fprintf(fid,'%d\n',D(7)(7));
fprintf(fid,'%d\n',D(8)(8));
fprintf(fid,'%d\n',D(9)(9));
fclose(fid);
end
end

请先登录,再进行评论。

回答(1 个)

Jishnu Mukherjee
Jishnu Mukherjee 2018-9-28
编辑:James Tursa 2018-9-28
if you are trying to fill the D matrix then try something like this
D=zeros(9,9);
for i=1:9
for j=1:9
D(i,j)=0;
end
end
use () braces instead of []

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by