- 积分
- 0
- 注册时间
- 2017-9-21
- 仿真币
-
- 最后登录
- 1970-1-1
|
定义了Evolute_Draw函数,没有定义diff_par函数,程序依旧可以运行,请问是咋回事,哪个大神解答一下,现附上命令流
function Evolute_Draw(varargin)
args=varargin;
range=args{end};
if nargin==2
y=args{1};
x=sym('x','real');
x=symvar(y);
if length(s)>1
error('函数fun必须只包含一个符号变量.')
end
if ~isequal(x,s)
y=subs(fun,s,x);
end
df=simple(diff(y,x));
d2f=simple(diff(df,x));
elseif nargin==3
x=args{1};y=args{2};
t=sym('t','real');
s=unique([symvar(x),symvar(y)]);
if length(s)>1
error('函数funx和funy必须只包含一个符号变量.')
end
if ~isequal(t,s)
x=subs(x,s,t);
y=subs(y,s,t);
end
df=simple(diff_para(y,x,t,1));
d2f=simple(diff_para(y,x,t,2));
else
error('The number of input arguments is illegal.')
end
X=inline(x);
Y=inline(y);
alpha=inline(simple(x-df*(1+df^2)/d2f));
beta=inline(simple(y+(1+df^2)/d2f));
theta=linspace(range(1),range(2),300);
plot(X(theta),Y(theta),'k',alpha(theta),beta(theta),'r--')
xx=sort([X(range),alpha(range)]);
xlim([xx(1) xx(end)])
end
|
|