请教高手,怎么用matlab画以下函数的三维图(以x,y,z为坐标)?

x=cosθ1*cosθ2*cosθ3-cosθ1*sinθ2*sinθ3+cosθ1*cosθ2+cosθ1,y=sinθ1*cosθ2*cosθ3-sinθ1*sin... x=cosθ1*cosθ2*cosθ3-cosθ1*sinθ2*sinθ3+cosθ1*cosθ2+cosθ1,
y=sinθ1*cosθ2*cosθ3-sinθ1*sinθ2*sinθ3+sinθ1*cosθ2+sinθ1,
z=sinθ2*cosθ3+cosθ2*sinθ3+sinθ2;
其中θ1,θ2,θ3是自由变量,并且-30°<=θ1<=30°,-30°<=θ2<=30°,-30°<=θ3<=30°。
用matlab画该函数的三维图,怎么写语句啊?谢谢 !
就是由自由变量θ1,θ2,θ3决定的点(x,y,z)的空间集合。
展开
 我来答
greatdju
2008-07-11 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4196万
展开全部
matlab好像只能画曲线和曲面,不能画三维实体,你试试这个样子的图你能不能接收吧。
for i=linspace(-pi/6,pi/6,20)
for j=linspace(-pi/6,pi/6,10)
for k=linspace(-pi/6,pi/6,10)
x=cos(i)*cos(j)*cos(k)-cos(i)*sin(j)*sin(k)+cos(i)*cos(j)+cos(i);
y=sin(i)*cos(j)*cos(k)-sin(i)*sin(j)*sin(k)+sin(i)*cos(j)+sin(i);
z=sin(j)*cos(k)+cos(j)*sin(k)+sin(j);
plot3(x,y,z,'o');hold on;
end
end
end
上海华然企业咨询
2024-10-21 广告
上海华然企业咨询有限公司专注于AI与数据合规咨询服务。我们的核心团队来自头部互联网企业、红圈律所和专业安全服务机构。凭借深刻的AI产品理解、上百个AI产品的合规咨询和算法备案经验,为客户提供专业的算法备案、AI安全评估、数据出境等合规服务,... 点击进入详情页
本回答由上海华然企业咨询提供
tanarri
2008-07-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8172万
展开全部
x=cos(t1)*cos(t2)*cos(t3)-cos(t1)*sin(t2)*sin(t3)+cos(t1)*cos(t2)+cos(t1);
y=sin(t1)*cos(t2)*cos(t3)-sin(t1)*sin(t2)*sin(t3)+sin(t1)*cos(t2)+sin(t1);
z=sin(t2)*cos(t3)+cos(t2)*sin(t3)+sin(t2);
三个自由变量,不能确定x,y,z
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wonderfulandok
2008-07-19 · TA获得超过901个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:487万
展开全部
N=30;
for k=linspace(-pi/6,pi/6,N)
[i,j]=meshgrid(linspace(-pi/6,pi/6,N),linspace(-pi/6,pi/6,N));
x=cos(i).*cos(j).*cos(k)-cos(i).*sin(j).*sin(k)+cos(i).*cos(j)+cos(i);
y=sin(i).*cos(j).*cos(k)-sin(i).*sin(j).*sin(k)+sin(i).*cos(j)+sin(i);
z=sin(j).*cos(k)+cos(j).*sin(k)+sin(j);
plot3(x,y,z,'.')
end

修改了一下楼上的。
如果电脑够快,把N=30个值改称60或以上,效果就是立体曲面图。
PS:
MATLAB循环很慢,尽量减少循环,实在的情况下实在没办法,可以用C等语言写循环,与之混合编程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式