matlab中三维图形的颜色怎么设置? 10

我用代码做出的图是这样的怎样才能跟下图那样达到颜色交替?代码为functiony20figure;p=-pi:pi/100:pi;t=0:2*pi/150:pi;[P,T... 我用代码做出的图是这样的
怎样才能跟下图那样达到颜色交替?

代码为
function y20
figure;
p=-pi:pi/100:pi;t=0:2*pi/150:pi;[P,T]=meshgrid(p,t);
theta=pi/2-P;phi=T;
R=Ypz(theta,phi);[X,Y,Z]=sph2cart(T,P,R);
surf(X,Y,Z,'facecolor',[0 .7 1],'edgecolor','none');
light
lighting phong
material shiny
axis equal;
view(60,15)
xlabel('X');ylabel('Y');zlabel('Z');title('Z')
function y=Ypz(theta,phi)
y=3/8*sqrt(70/pi)*abs(sin(theta).^3.*cos(theta).*sin(3*phi));
展开
 我来答
北城凉尧
2019-10-30 · 擅长解决情感问题、情感咨询
北城凉尧
采纳数:3 获赞数:21179

向TA提问 私信TA
展开全部

matlab中三维图形的颜色的设置是输入相关的字母代码完成的。只需在绘图的函数后加上相应的字母代码即可,具体字母代表的颜色如下:

MATLAB在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。

扩展资料:

matlab常用的绘图函数:

1、graf2d :XY平面绘图(火柴棒)

2、graf2d2 :XYZ立体绘图(切片)

3、hndlgraf :平面显示线型处理窗口及命令演示

4、hndlaxis :平面显示处理窗口及命令演示

5、graf3d :立体显示处理窗口及命令演示

参考资料来源:百度百科-matlab

hqxz556
2017-08-01 · TA获得超过2828个赞
知道大有可为答主
回答量:1685
采纳率:93%
帮助的人:723万
展开全部
surf(X, Y, Z, C)

可以用 C 指定颜色。

比如像你的情况,如果想让上半部分是蓝的下半部分是红的,可以这样:

% 之前算 X, Y, Z 的不变
C = zeros(size(Z));
C(Z >= 0) = 1;
C(Z < 0) = -1;

surf(X,Y,Z,C, 'edgecolor','none');

% 用 RGB 指定颜色红是(1 0 0),蓝是(0 0 1)
colormap([1  0  0; 0  0  1]);

% 后面代码也不变 ...

我不太懂你的 Ypz 是怎么算的,不过你的情况可能是那个 C 不太好算。如果你知道相映颜色在球面坐标下怎么算的,也可以算好了之后再用 shp2cart() 之类的函数转过来。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Simscape2013
2015-03-17 · TA获得超过1409个赞
知道小有建树答主
回答量:741
采纳率:96%
帮助的人:259万
展开全部
如果能分次作图就比较简单,每次以不同的颜色画就行了。
不然也只能手动找到符合范围的点(x,y,z坐标范围),然后改变颜色。
据我所知没有自动这样符合你交替颜色要求的途径。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式