请帮助我,这可能是程序:
a= 3;
for i = 1-5
for j = -2-5
d = a + i +j;
fprintf(' %d, %d, %d,\n',a,b,d);
end
end
excel中没有显示值,请帮助我谢谢
答案 0 :(得分:1)
正确的缩进在这里会有所帮助。每个if
语句必须在 下一个语句之前具有关联的end
。你们都在最后。这应该更好:
fileID = fopen('PROBSET_3.csv','w');
a= 3;
lamda = 1.54;
fprintf(fileID, ' h, k, l ,d, theta \n');
for h = -8:8
for k = -8:8
for l = -8:8
d = sqrt((a^2)/(h^2 + k^2 + l^2));
c = (lamda/(2*d));
if c<=1
fprintf ('theta = asind(c)');
end %// end moved here
if c>1
fprintf ('theta =out of range');
end %// end moved here
fprintf(fileID, ' %d, %d, %d, %d, %d\n',h,k,l,d,theta);
end
end
end
fclose(fileID);
作为使用两个if
语句的替代方法,在这种情况下,您可以使用else
代替第二个if
:
if c<=1
fprintf ('theta = asind(c)');
else %// else c > 1
fprintf ('theta =out of range');
end