matlab怎样画四维图
已知空间点(x,y,z)上对应的函数值f(x,y,z),如何画出其等势面?如图所示那样的,用颜色表示f(x,y,z) 只知道函数值,不知道函数关系 试一下看看吧clear all
= meshgrid(0:.5:10,0:.5:10,0:.5:10);
c = x.^2+y.^2+z.^2;
xs = ;
ys = ;
zs = ; % xs,ys,zs可决定切片形式和位置,help slice可明白其具体含义
slice(x,y,z,c,xs,ys,zs)
colormap hsv
%%%=================================%%%
当然,只要doc surf, 就会发现,其实surf命令已经自带了颜色命令:
举一个简单例子如下(颜色向量看实际问题可以改变,以表示函数值):
%%%=================%%%
clear all
=meshgrid(0:.5:10);
c = rand(21);
Z=X^2-5*X.*Y+Y.^2;
surf(X,Y,Z,c); jiangwj 发表于 2016-5-3 16:17
试一下看看吧
谢谢回复
不过不想要切片图,而且要画的等值面是一般是密闭的,如图所示那样。
今天下午看论坛里面介绍isosurface,但是不知道如何设置能够画出多个等值面。你知道吗?再次感谢 yibao128 发表于 2016-5-3 19:32
谢谢回复
不过不想要切片图,而且要画的等值面是一般是密闭的,如图所示那样。
今天下午看论坛里面介绍 ...
应该不能用surf命令吧 画散点图,试试再
>> scatter3(A(:,1),A(:,2),A(:,3),14,256*((A(:,4))-min(A(:,4)))/(max(A(:,4)-min(A(:,4)))))
>> colorbar
jiangwj 发表于 2016-5-4 08:22
应该不能用surf命令吧
不知道啊,我现在x,y,z和f都是m*n*p的数组,用不了surf。我看看转换成M*N维后试试看结果 jiangwj 发表于 2016-5-4 08:24
画散点图,试试再
谢谢,我试试看!{:3_53:} yibao128 发表于 2016-5-4 20:53
谢谢,我试试看!
咋样啦? jiangwj 发表于 2016-5-5 08:30
咋样啦?
我现在用isosurface能画出类似的 yibao128 发表于 2016-5-6 19:33
我现在用isosurface能画出类似的
画出来就好最好把相关的经验跟大家分享一下谢谢啦 jiangwj 发表于 2016-5-7 08:32
画出来就好最好把相关的经验跟大家分享一下谢谢啦
就是类似的图,但是感觉没有人家的分辨率高,不那么光滑……我看看吧网格弄密点效果怎么样!谢谢你的热心帮助!! yibao128 发表于 2016-5-9 21:13
就是类似的图,但是感觉没有人家的分辨率高,不那么光滑……我看看吧网格弄密点效果怎么样!谢谢你的热心 ...
你的数据点太少,可以尝试一下插值,双三次样条插值,曲面很光滑
页:
[1]