如何用Matlab画出以下这个方程 (x^2 + (9/4)*y^2 + z^2 - 1)^3 - x^2*z^3 - (9/80)y^2*z^3 = 0 matlab如何画出下面的图像 (x^2+9/4*...

matlab\u5982\u4f55\u753b\u51fa\u4e0b\u9762\u7684\u56fe\u50cf (x^2+9/4*y^2+z^2-1)^3-x^2*z^3-9/80*y^2*z^3=0

f=@(x,y,z)(x.^2+9/4*y.^2+z.^2-1).^3-x.^2.*z.^3-9/80*y.^2.*z.^3 implicitmesh(f,[-5 5],150)-----------------------------function h=implicitmesh(f,xlimit,ylimit,zlimit,gd)%implicitmesh(f,span,gd):\u753b\u9690\u51fd\u6570\u66f2\u9762f(x,y,z)=0\u7684\u7f51\u683c\u56fe,% \u5404\u5750\u6807\u8303\u56f4\u5747\u9650\u5b9a\u5728span=[lb,ub],% \u7f51\u683c\u6570\u4e3agd\uff0c\u9ed8\u8ba4\u4e3a25if nargin==2 ylimit=xlimit;zlimit=xlimit;gd=25;elseif nargin==3 gd=ylimit;ylimit=xlimit;zlimit=xlimit;elseif nargin==4 gd=25;elseif nargin==5else error('Error in input arguments')endx=linspace(xlimit(1),xlimit(2),gd);y=linspace(ylimit(1),ylimit(2),gd);z=linspace(zlimit(1),zlimit(2),gd);[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 onendif nargout==0else h=p;end\u5411\u5de6\u8f6c|\u5411\u53f3\u8f6c

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


implicitmesh(f,[-5
5],150)

-----------------------------

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

%implicitmesh(f,span,gd):\u753b\u9690\u51fd\u6570\u66f2\u9762f(x,y,z)=0\u7684\u7f51\u683c\u56fe,

%
\u5404\u5750\u6807\u8303\u56f4\u5747\u9650\u5b9a\u5728span=[lb,ub],

%
\u7f51\u683c\u6570\u4e3agd\uff0c\u9ed8\u8ba4\u4e3a25

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

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

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

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

[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

这就是一个高次的三元方程, 在空间上对应平面图形

要画出来需要点技巧, 先解出函数表达式来, 再画.

命令如下:

Y=solve('(x^2 + (9/4)*y^2 + z^2 - 1)^3 - x^2*z^3 - (9/80)*y^2*z^3 = 0','y')

ezmesh(Y(1),200);

hold on

ezmesh(Y(2),200)

axis auto

axis equal

还有几个解应该是复空间里面的, 画不出来图形.



x=-2:0.03:2;y=-1:0.01:1;z=-1:0.01:1.5;

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

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

p=patch(isosurface(x,y,z,f,0));

set(p,'Facecolor','r','EdgeColor','none');

daspect([1 1 1]);

view(3);

axis off

camlight;



  • 濡備綍鐢╩atlab鐢诲嚭涓嬪垪鍑芥暟鍥惧儚?
    绛旓細璇ュ嚱鏁板浘鍍忓彲浠ョ敤fplot鍑芥暟鏉ュ畬鎴愩倂0=锛燂紝theta=锛燂紝g=锛燂紝k=锛 %宸茬煡鍊 fun=@(x)x/(v0*cos(theta))*(v0*sin(theta)+g/k)+g/k^2*log(1-k*x(v0*cos(theta)));fplot(fun,[0 10])xlabel('x');ylabel('y');
  • 濡備綍鐢∕ATLAB鐢涓嬮潰杩欎釜鍑芥暟鐨勫浘?
    绛旓細>> x=0:0.01:20;y=sin(x);plot(x,y)
  • 璇烽棶涓涓鎬庝箞鐢╩atlab鐢诲嚭鐢浠ヤ笅鍙傛暟鏂圭▼纭畾鐨勭幆鏇查潰鍥惧舰?
    绛旓細濡備綍鐢╩atlab鐢诲嚭鐢浠ヤ笅鍙傛暟鏂圭▼纭畾鐨勭幆鏇查潰鍥惧舰锛杩欎釜鍙互鎸涓嬪垪姝ラ杩涜锛1銆佺‘瀹氬弬鏁皍鍜宼鐨勮寖鍥达紝鍗 t=linspace(-1,1,50);u=linspace(-2*pi,2*pi,50);2銆佺‘瀹氬弬鏁癮鍜宐鐨勫硷紝濡 a=5;b=8;3銆佺敤meshgrid鍑芥暟瀵瑰弬鏁皍鍜宼杩涜鏁版嵁缃戞牸鍖栥傚嵆 [t,u]=meshgrid(t,u);4銆佷娇鐢ㄥ弬鏁版柟绋嬭绠梮...
  • 鎬庝箞鐢╩atlab 鐢诲嚭浠ヤ笅鍥?
    绛旓細t = 0:.01:6;y = exp(-1.5*t).*sin(2.5*t);plot(t,y,'c-');xlabel('t');ylabel('y');title('y = exp(-1.5t)*sin(2.5t)');axis([0 6 -0.3 0.6]);hold onplot(t,0,'k-');ymax = max(y);tmax = t(find(y==ymax));ys = {'...
  • 鐢╩atlab 鎬庝箞鐢诲嚭涓嬮潰杩欑鏉″舰缁熻鍥
    绛旓細bar灏卞彲浠ヤ簡 缁欎綘涓緥瀛愶細y=rand(1,3000);ymin=min(y);ymax=max(y);x=linspace(ymin,ymax,20); %灏嗘渶澶ф渶灏忓尯闂村垎鎴20涓瓑鍒嗙偣(19绛夊垎),鐒跺悗鍒嗗埆璁$畻鍚勪釜鍖洪棿鐨勪釜鏁 yy=hist(y,x); %璁$畻鍚勪釜鍖洪棿鐨勪釜鏁 yy=yy/length(y); %璁$畻鍚勪釜鍖洪棿鐨勪釜鏁 bar(x,yy) %鐢诲嚭姒傜巼瀵嗗害鍒嗗竷鍥...
  • 鐢╩atlab濡備綍鐢诲嚭涓嬮潰杩欐牱鐨勫浘褰?闇瑕佸摢浜涘嚱鏁板憿?杩欓噷涓嶅悓鐨勯鑹叉槸...
    绛旓細surf 鍑芥暟 mesh鍑芥暟 杩欎笉鍚岀殑棰滆壊鏄牴鎹甖杞存暟鍊肩殑澶у皬榛樿瀹炵幇鐨勶紝瓒婂皬棰滆壊瓒婅摑锛岃秺澶ч鑹茶秺绾紝鏄粯璁ょ殑
  • 姹傚ぇ绁鐢╩atlab鐢诲嚭涓嬮潰鐨勫浘褰,绫讳技鐨勪篃琛
    绛旓細clear all[x,y]=meshgrid(linspace(-15,15));%璁惧畾xy鑼冨洿 z=sin((x.^2+y.^2).^0.5)./((x.^2+y.^2).^0.5);figure(1) surf(x,y,z)xlabel('X'),ylabel('Y'),zlabel('Z');涓嶅悓鐨剒鍑芥暟缁鐢诲嚭涓嶅悓鐨勫浘 鏈涢噰绾
  • 濡備綍鐢╩atlab杞欢鐢诲嚭鍦嗙殑鏋佸潗鏍囧浘鍍?
    绛旓細鐢╩atlab杞欢涓殑polarplot鍑芥暟锛堟垨polar鍑芥暟--閫傚簲浜庤佺増鏈級鐢诲嚭鍦嗙殑鏋佸潗鏍囧浘鍍忋備緥濡傦細缁樺埗蟻=2a路cos(胃)鍑芥暟鍥惧儚锛岃繖閲宎=10 >> theta = 0:0.01:2*pi;>> rho = 2*10.*cos(theta);>> polarplot(theta,rho)
  • 濡備綍鐢╩atlab鐢涓嬮潰鐨勫浘
    绛旓細杩欑鍥捐鏈墄,y,z鏁版嵁锛岀敤plot3(x,y,z)鍙鐢诲嚭鏉锛屽叧閿槸瑕佹湁鏁版嵁銆
  • 璇烽棶鎬庝箞鐢╩atlab鐢诲嚭涓嬮潰鐨勫浘褰,鍛戒护鏄粈涔?鍦ㄧ嚎鎬ョ瓑銆
    绛旓細涓句釜渚嬪瓙锛氳嫢鍑芥暟涓簔=y^2-3*x*y-x^2銆傚垯鐢诲叾瀵瑰簲涓夌淮鍥撅紝m鏂囦欢濡備笅锛歟zmesh('y^2-3*x*y-x^2',[-1 3],[-1 2])缁撴灉锛
  • 扩展阅读:用matlab画一个小狗 ... 用matlab画简单图 ... matlab编程例题画图 ... matlab绘制三维荧光图 ... 用matlab画一箭穿心 ... 用matlab画图画笑脸 ... 用matlab打开一张图片 ... 用matlab画彩虹 ... 用matlab画小猪佩奇 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网