求matlab高手帮忙,下面程序中提示Illegal use of reserved keyword "else". 5
function[sigma,tp,ts]=perf(key,y,t)%MATLABFUNCTIONPROGRAMperf.m%%Countsgmaandtp[mp,tf...
function [sigma,tp,ts]=perf(key,y,t)
%MATLAB FUNCTION PROGRAM perf.m
%
%Count sgma and tp
[mp,tf]=max(y);
cs=length(t);
yss=y(cs);
sigma=100*(mp-yss)/yss
tp=t(tf)
%Count ts
i=cs+1;
n=0;
while n==0,
i=i-1;
if key==1,
if i==1,
n=1;
else if y(i)>1.05*yss,
n=1;
end;
else if key==2,
if i==1,
n=1;
else if y(i)>1.02*yss,
n=1;
end;
end
end;
t1=t(i);
cs=length(t);
j=cs+1;
n=0;
while n==0,
j=j-1;
if key==1,
if j==1,
n=1;
else if y(j)<0.95*yss,
n=1;
end;
else if key==2,
if j==1,
n=1;
else if y(i)<0.98*yss,
n=1;
end;
end;
end;
t2=t(j);
if t2<tp
if t1>t2
ts=t1
end
else if t2>tp,
if t2<t1,
ts=t2
else
ts=t1
end
end 展开
%MATLAB FUNCTION PROGRAM perf.m
%
%Count sgma and tp
[mp,tf]=max(y);
cs=length(t);
yss=y(cs);
sigma=100*(mp-yss)/yss
tp=t(tf)
%Count ts
i=cs+1;
n=0;
while n==0,
i=i-1;
if key==1,
if i==1,
n=1;
else if y(i)>1.05*yss,
n=1;
end;
else if key==2,
if i==1,
n=1;
else if y(i)>1.02*yss,
n=1;
end;
end
end;
t1=t(i);
cs=length(t);
j=cs+1;
n=0;
while n==0,
j=j-1;
if key==1,
if j==1,
n=1;
else if y(j)<0.95*yss,
n=1;
end;
else if key==2,
if j==1,
n=1;
else if y(i)<0.98*yss,
n=1;
end;
end;
end;
t2=t(j);
if t2<tp
if t1>t2
ts=t1
end
else if t2>tp,
if t2<t1,
ts=t2
else
ts=t1
end
end 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询