如何解决这段代码在 Matlab 中给了我一个情节,但在 Octave 中没有
代码运行良好,并在我在 Matlab 中运行时为我提供了绘图,但它在 Octave 中没有给我任何输出,请帮助。 (代码用于生成二维点阵,它应该输出一个图)
function generate_2dlattice_p4mm()
n1=[-2:1:2];
n2=[-2:1:2];
n3=[-2:1:2];
V=[2 0 0; 0 2 0; 0 0 0];
basis=getbasis();
[nb]=size(basis);
atom = 1;
for k= 1:length(n1)
for l=1:length(n2)
for m=1:length(n3)
for b=1:nb
H= V(1,:)*n1(k) + V(2,:)*n2(l) + ...
V(3,:)*n3(m) + basis(b,1)*V(1,:) + basis(b,2)*V(2,3)*V(3,:);
X(atom) = H(1);
Y(atom) = H(2);
Z(atom) = H(3);
atom = atom + 1;
end
end
end
end
plot3(X,Y,Z,'o','MarkerFaceColor','r','MarkerSize',20);
end
function [b]=getbasis()
bg1=[0.2 0.3 0; 1-0.2 1-0.3 0; 1-0.3 0.2 0;0.3 1-0.2 0;...
1-0.2 0.3 0; 0.2 1-0.3 0; 0.3 0.2 0; 1-0.3 1-0.2 0];
bg2=[0.1 0.3 0; 1-0.1 1-0.3 0; 1-0.3 0.1 0; 0.3 1-0.1 0;...
1-0.1 0.3 0; 0.1 1-0.3 0; 0.3 0.1 0; 1-0.3 1-0.1 0];
be=[0.3 0.5 0; 1-0.3 0.5 0; 0.5 0.3 0; 0.5 1-0.3 0]
bc=[0.5 0 0; 0 0.5 0]
ba=[0 0 0];
b=[bg1;bg2;be;bc;ba];
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。