作业帮 > 综合 > 作业

MATLAB 隐函数绘图 区间设定问题

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/26 22:23:53
MATLAB 隐函数绘图 区间设定问题
如果我的曲面是这样的:x=x(s,t);
y=y(s,t);
z=z(s,t);
其中0
MATLAB 隐函数绘图 区间设定问题
首先,来回答你的疑问设定s,t的区间函数使用格式如下:ezsurf(funx,funy,funz,[smin,smax,tmin,tmax]);其中 smin,smax,tmin,tmax分别代表s,t的最大最小值 示例,帮你调试了一个简单的程序,可以参考使用>> syms s t>> x = s + t;
>> y = s*t;
>> z = t*2 + s;
>> ezsurf(x,y,z,[0,3,0,3]);          结果:            
再问: 谢谢你详细的回答,但是我想问的是,为什么先设S的区间后设T的区间?这是怎么判定的?
再答: 这是函数调用参数的一种规则,作为一个 ezsurf 函数的编写者,他提供给你的使用格式,你按照着用就行了,因为在函数内部会自动识别你传递的参数,将按照 [smin,smax,tmin,tmax] 进行使用,如果你不传递,会有默认值。如果你将s和t倒过来使用如[tmin,tmax,smin,smax] ,函数会将默认的将上述四个值对应[smin,smax,tmin,tmax]赋值具体使用方法可以在命令窗口 help ezsurf 或者 doc ezsurf如果你经常封装函数,不论C++还是MATLAB,都会提供函数输入参数和输出参数的解释,当然解释是基于函数内部具体实现步骤而定的,即所谓API接口,这个我想不难理解吧  PS:ezsurf 主函数     function hh = ezsurf(varargin)
%   EZSURF(FUN,DOMAIN) plots FUN over the specified DOMAIN instead of the
%   default domain.  DOMAIN can be the vector [XMIN,XMAX,YMIN,YMAX] or the
%   vector [A,B] (to plot over A < X < B, A < Y < B).
%
%   EZSURF(FUNX,FUNY,FUNZ,[SMIN,SMAX,TMIN,TMAX]) or
%   EZSURF(FUNX,FUNY,FUNZ,[A,B]) uses the specified domain.
[cax,args] = axescheck(varargin{:});if ~isempty(cax)
    h = ezgraph3(cax,'surf',args{:});
else
    h = ezgraph3('surf',args{:});
endif nargout > 0
    hh = h;
end