大家都知道MATLAB是一款强大的数学软件,它的计算能力和画图能力都非常强大。是学习数学的必备软件。但是,很少有人知道,MATLAB还有“浪漫”的一面。今天给大家讲解,如何利用MATLAB画隐函数曲面,并以此方法画一个漂亮的三维心形图形。

函数:

隐函数曲面网格图函数implicitmesh

function h=implicitmesh(f,xlimit,ylimit,zlimit,gd)

%implicitmesh(f,span,gd):画隐函数曲面f(x,y,z)=0的网格图,

%各坐标范围均限定在span=[lb,ub],

%网格数为gd,默认为25

%可以分别设置,如[20,25,30],分别代表xyz方向的网格数%implicitmesh(f,xspan,yspan,zspan,gd):画隐函数曲面f(x,y,z)=0,

%各坐标范围分别限定在xspan,yspan,zspan

%h=implicitmesh(...):画隐函数曲面并输出句柄%例一:%implicitmesh(inline('x.*y+z.^2'),[-5 5])%注意*\^一定要设成点运算%例二:注意如果f中不含某个变量一定要加上诸如0*y的项。%implicitmesh(f,[-1 1],[30,20,10])

%例三:%f=@(x,y,z)(x.^2+ (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;

%g=@(x,y,z)(sqrt(x.^2+y.^2)-2).^2+z.^2-.09;

%implicitmesh(f,[-1.5 1.5],[-.8 .8],[-1.5 1.5],50);

%hold on%可以添加图形%h=implicitmesh(g,[-2.3,2.3]);

%colormap hsv;set(h,'facecolor','none');%可以设置各种效果%axis off;axis equal;spinmap(10);

if nargin==2

ylimit=xlimit;zlimit=xlimit;gd=25;

elseif nargin==3

gd=ylimit;ylimit=xlimit;zlimit=xlimit;

elseif nargin==4

gd=25;

elseif nargin==5

else

error('Error in input arguments')

end

if length(gd)==1

gd=[gd;gd;gd];

end

x=linspace(xlimit(1),xlimit(2),gd(1));

y=linspace(ylimit(1),ylimit(2),gd(2));

z=linspace(zlimit(1),zlimit(2),gd(3));

[x,y,z]=meshgrid(x,y,z);val=f(x,y,z);

[f,v]=isosurface(x,y,z,val,0);

if isempty(f)

warning('There is no graph in the range.');

p=[];

else

newplot;

p=patch('Faces',f,'Vertices',v,'CData',v(:,3),'facecolor','w','EdgeColor','flat');

isonormals(x,y,z,val,p);view(3);grid on

end

if nargout==0

else

h=p;

end

将以上文件保存成.m文件,文件名与函数名相同。将保存好的文件放入MATLAB的工作目录。然后在命令窗口输入如下命令:

>> f=@(x,y,z)(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;

>> g=@(x,y,z)(sqrt(x.^2+y.^2)-2).^2+z.^2-.09;

>> implicitmesh(f,[-1.5 1.5],[-.8 .8],[-1.5 1.5],50);

>> hold on%可以添加图形

>> h=implicitmesh(g,[-2.3,2.3]);

>> colormap hsv;set(h,'facecolor','none');%可以设置各种效果

>> axis off;axis equal;spinmap(10);

便可得到如下的美丽图案:

关于implicitmesh的用法,可以直接help implicitmesh获取详细帮助信息。

matlab浪漫画图,Matlab技巧11:谁说数学人不懂浪漫——Matlab画隐函数曲面相关推荐

  1. MATLAB作图方法与技巧(二)

    作为MATLAB作图方法与技巧(一)的补充 1.绘制二维散点图 ① scatter函数 scatter(x,y,s,c)函数绘制向量x和y的散点图,其中s代表点的大小,c代表点的形状,s和c缺省时为默 ...

  2. Matlab画图中的小技巧

    用Matlab软件画图时常用的小技巧 hold on %画图并设置颜色.粗细等 plot(t1,y1,'r','LineWidth', 2);%画上升段函数波形 plot(t2,y2,'r','Lin ...

  3. matlab plot画图指定线型和颜色

    matlab plot画图指定线型和颜色 plot(x,y1,'.b'); %b代表蓝色,.代表点; plot(x,y2,'-g'); %g代表绿色,-代表线

  4. MATLAB plot画图后横轴去除空白

    MATLAB plot画图后横轴去除空白 MATLAB plot原来画图都是填充满的,今天不知道怎么了,横轴留有一部分空白,看起来十分不美观,可以修改一下上下限使其美观一些. 方法 x轴上下限设定 x ...

  5. matlab 数值解 期权顶级啊,潮盈期权院高胜率交易技巧系列之二----期权交易策略及基于MATLAB统计套利介绍...

    主题: 高胜率交易技巧系列之二----期权交易策略及基于MATLAB统计套利介绍 会场流程: 13:30--14:00:参会嘉宾到场签名 14:00--14:45:期权知识 14:45--15:·25 ...

  6. Matlab plot画图 坐标字体、字号、范围、间隔等的设置

    Matlab plot画图 坐标字体.字号.范围.间隔等的设置 MATLAB 坐标的数字.范围.间隔调整 matlab绘图的时候只用plot函数出来的图不一定符合自己最想要的格式, 经常要对坐标的数字 ...

  7. 利用Matlab编程画图的常用代码(更新中)

    将MATLAB的画图参数重置 有时候我们不小心将MATLAB的画图设置全局之后,比如 set(0,'defaultFigureUnits','centimeters'); set(0,'default ...

  8. D:MATLAB.N个实用技巧-MATLAB中文论坛精华总结

    在为此书作序的时候,MATLAB中文论坛的主题已经达到10万,帖子超过100万,有效会员30万.MATLAB的基础技巧已经在论坛里得到了充分的展示与探讨,大家常见的问题大部分获得了解答!是时候做一个小 ...

  9. neauscan自带软件scan导出的.avg格式文件如何在matlab里面画图

    新手在处理脑电的时候不可避免的会使用scan这样的商业软件,然后处理完数据以后可能会想导入到matlab进行画图,可是商量软件导出的文件格式可能并不那么自由,这里提供一个将scan处理完的脑电数据导出 ...

  10. Matlab 3d 画图方法

    文章来自于MATLAB论坛,见此链接:http://www.ilovematlab.cn/thread-264471-1-1.html,感谢原作者winner245的辛勤总结! 背景介绍 Matlab ...

最新文章

  1. 【VMCloud云平台】SCO(七)如何使用集成包
  2. 清华硕士面试阿里惨遭淘汰,网友:并非所有都是强者,也要看人
  3. nivicat复制mysql数据库[Err] [Dtf] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'错误
  4. 成本中心主数据屏幕增强
  5. win8计算机usb无法识别usb设备,Win8.1无法识别USB设备原因分析及解决办法(适合Win8)...
  6. 北斗导航 | GPS卫星导航技术重要人物简介
  7. phpcmsV9各种模板页面调用文章 hits 点击量和评论量 - 代码总结分类
  8. java二分法排序算法_Java中使用二分法排序
  9. 一直误解的memset函数
  10. SAP License:全球十大主流ERP厂商,看看你是不是在用
  11. mongodb java 地理位置_MongoDB的地理位置索引
  12. WL-OA Kernel论文讲解——On Valid Optimal Assignment Kernels and Applications to Graph Classification
  13. 中国能源统计年鉴面板数据-分省市主要污染物排放指标(包含ECXEL2020年中国统计年鉴)
  14. IE浏览器清除缓存及历史浏览数据
  15. Windows10 怎么添加开机启动项
  16. 一年月份大小月口诀_《认识年月日》大小月记忆法知识点教学设计
  17. python空气质量指数计算_Python入门案例(八):空气质量指数(AQI)计算
  18. 基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署
  19. 中兴算法挑战赛-比特派:跳高
  20. 非接触式通信技术之RFID

热门文章

  1. 【图像处理基础】基于matlab图像Harris角点检测【含Matlab源码 1731期】
  2. 【优化调度】基于matlab蚁群算法求解无等待流水线调度优化问题【含Matlab源码 1516期】
  3. 【三维路径规划】基于matlab A_star算法无人机三维路径规划【含Matlab源码 446期】
  4. SPSS T检验(图文+数据集)【SPSS 017期】
  5. wordpress 表格文字对齐_掌握Word对齐技巧,排版又快又美观
  6. 计算机专业c类大学,【计算机应用技术】专业排名A+、A、B+、B、C类院校分数线...
  7. java迷宫算法继承_求Java关于迷宫的算法(用栈实现)
  8. websphere一直安装部署_构建独立部署系统,从部署规范开始
  9. python交互式换行_如何在Python中进行换行(换行)?
  10. 浙江省高考计算机重点知识,2017届浙江省新高考信息技术考试标准