0
3D空間にいくつかの球を表示したいと思います。それぞれの中心点と半径は異なります。だから私はMatlabのチュートリアルに従って、次の結果を得ました。唯一の問題は、何百もの球を描画して何百行も書き込むことができないことです。サーフェス()関数を行列入力で使用する方法はありますか?たぶん、x、y、z行列でsurf(x、y、z)?ありがとう!MATLABマトリクスを使用した3Dでのいくつかのサーフェスプロット
hold on;
[x,y,z] = sphere;
r = 50;
s1 = surf(x*r,y*r,z*r,'FaceAlpha',0.1);
s2 = surf((x+3)*r,(y-2)*r,z*r,'FaceAlpha',0.1); % centered at (3,-2,0)
s3 = surf(x*r,(y+1)*r,(z-3)*r,'FaceAlpha',0.1); % centered at (0,1,-3)
s1.EdgeColor = 'none';
s2.EdgeColor = 'none';
s3.EdgeColor = 'none';
'X'、 'y'として
cx,cy,cz
を変更'z'はすでに(2D)行列です。なぜforループを使わないのですか? – m7913d実際にあなたは正しいです!なぜ私はforループを考えていないのかわかりませんが、forループを使って何百もの球をプロットするのに時間がかかりませんか?とにかく感謝します! – jiayi