I am getting a sparse error in my Matlab code

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 个评论

select the whole code and press the code button
If this is your entire code except for the two ends you're missing, you don't need to use loops at all. If you want useful feedback you'll need to upload the rest of the loops and format it correctly using the { } button.
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
Forgot to upload the file/s.

请先登录,再进行评论。

回答(1 个)

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 []

类别

帮助中心File Exchange 中查找有关 Software Development Tools 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by