matlab 怎么话3维图,用matlab画三维图形
將plot3d放在matlab根目錄下,然后在窗口處輸入橢球的一般方程就行了。注意要把等式右邊的移過來,讓右邊為0.
橢球和平面
源代碼:
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')
總結
以上是生活随笔為你收集整理的matlab 怎么话3维图,用matlab画三维图形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xd使用技巧_魔兽世界怀旧服老玩家才会的
- 下一篇: 用计算机进行频谱分析时,实验四-利用FF