E=50;
x=[];
y=[];
z=[];
n=1;
x(1)=0.4;
y(1)=0.3;
z(1)=0;
while E>=0.1&z(n)>=0
fai=2*pi*rand;
Theta=2*pi*rand;
Q(n)=[-sin(fai),-cos(Theta)*cos(fai),sin(Theta)*cos(fai);cos(fai),-cos(Theta)*sin(fai),sin(Theta)*sin(fai);0,sin(Theta),cos(Theta)];
Deter(n)=[sin(Theta)*cos(fai);sin(Theta)*sin(fai);cos(Theta)];
P0=P0*Q(n);
M=P0*Deter(n);
n=n+1;
x(n)=x(n-1)+0.5*M(:,1);
y(n)=y(n-1)+0.5*M(:,2);
z(n)=z(n-1)+0.5*M(:,3);
E=E-2.5;
plot3(x,y,z,'r.')
end
怎么修改程序画出三维散点图啊?谢谢大神
P0的初值为三阶单位阵
matlab中如何通过下式画三维散点图的函数?
答案:1 悬赏:0 手机版
解决时间 2021-04-10 04:47
- 提问者网友:謫仙
- 2021-04-10 01:06
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-04-10 02:36
E=50;
x=[];
y=[];
z=[];
n=1;
x(1)=0.4;
y(1)=0.3;
z(1)=0;
while E>=0.1&&z(n)>=0
fai=2*pi*rand;
Theta=2*pi*rand;
Q=[-sin(fai),-cos(Theta)*cos(fai),sin(Theta)*cos(fai);cos(fai),-cos(Theta)*sin(fai),sin(Theta)*sin(fai);0,sin(Theta),cos(Theta)];
Deter=[sin(Theta)*cos(fai);sin(Theta)*sin(fai);cos(Theta)];
M=Q*Deter;
n=n+1;
x(n)=x(n-1)+0.5*M(1);
y(n)=y(n-1)+0.5*M(2);
z(n)=z(n-1)+0.5*M(3);
E=E-2.5;
end
plot3(x,y,z,'r.')
x=[];
y=[];
z=[];
n=1;
x(1)=0.4;
y(1)=0.3;
z(1)=0;
while E>=0.1&&z(n)>=0
fai=2*pi*rand;
Theta=2*pi*rand;
Q=[-sin(fai),-cos(Theta)*cos(fai),sin(Theta)*cos(fai);cos(fai),-cos(Theta)*sin(fai),sin(Theta)*sin(fai);0,sin(Theta),cos(Theta)];
Deter=[sin(Theta)*cos(fai);sin(Theta)*sin(fai);cos(Theta)];
M=Q*Deter;
n=n+1;
x(n)=x(n-1)+0.5*M(1);
y(n)=y(n-1)+0.5*M(2);
z(n)=z(n-1)+0.5*M(3);
E=E-2.5;
end
plot3(x,y,z,'r.')
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯