matlab 怎么话3维图,用matlab画三维图形

将plot3d放在matlab根目录下,然后在窗口处输入椭球的一般方程就行了。注意要把等式右边的移过来,让右边为0.

a4c26d1e5885305701be709a3d33442f.png

椭球和平面

a4c26d1e5885305701be709a3d33442f.png

源代码:

function plot3d(varargin)

if ishandle(varargin{1})

cax = varargin{1};

axes(cax);

args{:} =

varargin{2:end};

else

args = varargin;

end

[fun domain n color] = argcheck(args{:});

xm = linspace(domain(1),domain(2),n);

ym = linspace(domain(3),domain(4),n);

zm = linspace(domain(5),domain(6),n);

[x,y,z] = meshgrid(xm,ym,zm);

[f_handle f_text] = fix_fun(fun);

try

fvalues =

f_handle(x,y,z); catch ME

error('plot3d:Functions', 'FUN must have no more

than 3 arguments');

end

h = patch(isosurface(x,y,z,fvalues,0));

isonormals(x,y,z,fvalues,h)

set(h,'FaceColor',color,'EdgeColor','none');

xlabel('x');ylabel('y');zlabel('z');

alpha(0.7)

grid on; view([1,1,1]); axis equal; camlight; lighting gouraud

title([f_text,' = 0']);

%

%--------------------------------------------子函数 ---

function [f dom n color] = argcheck(varargin)

switch nargin

case 0

error('plot3d:Arguments',...

'At least "fun" argument must be given');

case 1

f = varargin{1};

dom = [-2*pi, 2*pi]; % 定义域: -2*pi

< xi < 2*pi

n =

60; % 最大维数

color =

'red'; % 颜色

case 2

f = varargin{1};

if isa(varargin{2},'double') &&

length(varargin{2})>1

dom = varargin{2};

n =

60; color = 'blue';

elseif isa(varargin{2},'double') &&

length(varargin{2})==1

n = varargin{2};

dom = [-2*pi, 2*pi];

color = 'blue';

elseif isa(varargin{2},'char')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值