当前位置: 首页 > news >正文

贵州建设监理网站搜狗站长推送工具

贵州建设监理网站,搜狗站长推送工具,上海网站建设哪家好,在线做简单的网站1.二维隐函数 二维隐函数满足f(x,y)0f(x,y)0f(x,y)0,这里无法得到yf(x)yf(x)yf(x)的形式。不能通过普通函数绘制。 我们要关注的是使用fplot函数和fimplicit函数。 第1种情况:基本隐函数 基本的隐函数形式形如: x2y22x2(x2y2)12x^{2}y^{…

1.二维隐函数

二维隐函数满足f(x,y)=0f(x,y)=0f(x,y)=0,这里无法得到y=f(x)y=f(x)y=f(x)的形式。不能通过普通函数绘制。

我们要关注的是使用fplot函数和fimplicit函数。
在这里插入图片描述

第1种情况:基本隐函数

基本的隐函数形式形如:

x2+y2+2x=2(x2+y2)12x^{2}+y^{2}+2 x=2\left(x^{2}\right.\left.+y^{2}\right)^{\frac{1}{2}}x2+y2+2x=2(x2+y2)21

原来有个ezplot函数的,但是现在Matlab不推荐使用了,可能要慢慢淘汰掉了。老版的写法是

ezplot('x^2+y^2+2*x=2*sqrt(x^2+y^2)') 

或者

syms x y 
ezplot(x^2+y^2+2*x-2*sqrt(x^2+y^2)) 

(后面我们也不再谈ezplot函数)

下面是官方推荐的写法:

使用fplot函数

fplot('x^2+y^2+2*x=2*sqrt(x^2+y^2)')

使用fimplicit函数

注意和fplot函数不同,Matlab官方提示:为了获得最佳性能和避免产生警告消息,请使用按元素运算符。例如,使用 x.*y 而不是 x*y

fimplicit( x.^2+y.^2+2.*x-2.*sqrt(x.^2+y.^2))

或者

fimplicit(@(x,y) x.^2+y.^2+2.*x-2.*sqrt(x.^2+y.^2))

总结:一般的隐函数可以使用fplot函数或者fimplicit函数绘制。

第2种情况:隐函数带变量

形如:

x2+y2+ax=a(x2+y2)12x^{2}+y^{2}+a x=a\left(x^{2}+y^{2}\right)^{\frac{1}{2}}x2+y2+ax=a(x2+y2)21

根据实际需要可将aaa事先具体赋值, 但使用中应注意,绘图语句不能简单采用前面基本格式的 形式 ,不能写作,会报错

a = 2; 
fplot('x^2+y^2+a*x-a*sqrt(x^2+y^2)');

因为函数包括单引号时,相当于是符号表达式,变量a的值作为一个参数,不能传进函数,导致fplot()不能正常绘图。

使用fimplicit函数

fplot函数测试了不行,使用fimplicit函数下面的代码是可以的。

a=2;
syms x y
fimplicit(x.^2+y.^2+ a.*x-a.*sqrt(x.^2+y.^2))

总结:带有未知参数的隐函数使用fimplicit函数绘制

第3种情况:带有多个变量的隐函数组的绘图

形如:

f(x,y)=x+y2=a,g(x,y)=x2−y=bf(x, y)=x+y^2=a,\quad g(x, y)=x^2-y=bf(x,y)=x+y2=a,g(x,y)=x2y=b

不妨令:

a=3,b=−3a=3,b=-3a=3,b=3

使用fimplicit函数

因为还是带有未知参数的隐函数,我们还是用使用fimplicit函数绘制。

a=3;b=-3;
syms x y
f=x+y^2-a;
g=x^2-y-b;
fimplicit(f);
hold on;
fimplicit(g)
title('x+y^2-a=0 x^2-y-b=0 a=3 b=-3')

在这里插入图片描述

总结:带有多个变量的隐函数组使用fimplicit函数绘制,加上hold on命令

2.三维隐函数

三维隐函数满足f(x,y,z)=0f(x,y,z)=0f(x,y,z)=0,这里无法得到z=f(x,y)z=f(x,y)z=f(x,y)的形式。不能通过普通函数绘制。

我们要关注的是使用等面值计算函数isosurface和面元渲染函数patch分布实现三维隐函数曲面的绘制方法。

我们使用isosurface的调用方式是

[f,v] = isosurface(X,Y,Z,V,isovalue)

官方的解释是该语句返回由isovalue指定的某个等值面的表面(Faces)和顶点(Vertices)数据,并存放在单独的数组f、v中。我们绘制的是v=f(x,y,z)=0v=f(x,y,z)=0v=f(x,y,z)=0的三维图形,则isovalue=0

patch函数是面元渲染函数,对曲面进行修饰,相关的调用方式是:patch(X,Y,Z,C)

patch(X,Y,Z,C)

它以三维坐标(X,Y,Z)为顶点,构造三维曲面,c是R G B颜色向量。另一个相关的调用方式是:

patch('Faces',F,'Vertices',V)

它通过包含Faces、Vertices两个的数组F、V来构造三维曲面,F和V可以由等值面函数isosurface计算而得。

对于三元显函数v=f(x,y,z)v=f(x,y,z)v=f(x,y,z) 来说,当v=0v=0v=0时的等值面就是z=g(x,y)z=g(x,y)z=g(x,y)的三维曲面。isosurface函数可以计算v=0v=0v=0的等值面,返回结果包括表面和顶点数据,并存放于数组fffvvv中,再输入给patch函数,能构造三维曲面,还可以根据需要设置颜色、亮度、三维视角等。画图的步骤可以归纳为:

(1)用meshgrid函数产生网格点,同时可确定坐标范围。
(2)引用隐函数表达式计算格点函数值val。
(3)调用[f,v]=isosurface(x,y,z,val,0)计算隐函数等值面并返回到f、v。
(4)调用patch(‘Faces’,f,‘Vertices’,v,‘facecolor’,‘interp’,‘EdgeColor’,‘k’)对曲面修饰。

[x,y,z]=meshgrid(-1.5:0.1:1.5,-1.5:0.1:1.5,-1.5:0.1:1.5);
v=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3;
[f,v]=isosurface(x,y,z,v,0);
p=patch('Faces',f,'Vertices',v,'CData',v(:,3),'facecolor','interp',...'EdgeColor','k');
view(3); grid on;

来看下效果!

在这里插入图片描述

http://www.khdw.cn/news/21503.html

相关文章:

  • 兰州网站建设百度统计工具
  • 手机网站 广告营销咨询公司排名前十
  • wordpress 优秀站点网络推广的网站有哪些
  • 手机用什么软件做网站山西seo顾问
  • 怎么做网站移动端百度站长工具平台登录
  • 网站实现功能预防电信网络诈骗
  • 甘肃做高端网站的公司百度免费下载
  • 怎么做网站视频网站推广seo招聘
  • 班级网站源代码宁波关键词优化时间
  • 网站反向绑定域名百度链接
  • 深圳公司免费网站建设产品营销策略怎么写
  • 深圳市做网站有哪些公司哪些网站可以发广告
  • myeclipse怎样做网站贵阳关键词优化平台
  • 北京环球影城每日客流量统计seo视频教程百度网盘
  • 宁波优化seo全称
  • 网站换域名了怎么做301重定向seo关键词有话要多少钱
  • 微信商城和微网站建设中国刚刚发生的新闻
  • 网站开发费税率是多少广告推广免费发布
  • 沈阳哪家网站做的好查询网 域名查询
  • 沧州企业做网站网络销售管理条例
  • 做美食没有广告的网站黑科技引流推广神器免费
  • 网站logo制作软件北京网站优化推广方案
  • 许昌购物网站开发设计seo网站推广杭州
  • 与人妖做视频网站域名注册查询软件
  • 图片二维码制作网站seo咨询解决方案
  • 教育与培训网站建设郑州网站seo外包
  • 广州花都网站开发推广官网
  • 深圳做网站设计公司哪些网站推广不收费
  • 湖南营销型网站建设团队新闻式软文范例
  • 广西城市建设学校手机官方网站seo试用软件