麻烦看看这个matlab程序那里错了,调用总是说子函数出错,是想把一个分段函数加到一个函数上的
Ts=0.0005;t=0:Ts:2;%采样率2000HZy=f(t);x=cos(5*pi*t)+f(t);functiony=f(t)ifabs(t-0.4)<0.0...
Ts=0.0005;
t=0:Ts:2; % 采样率2000HZ
y=f(t);
x=cos(5*pi*t)+f(t);
function y=f(t)
if abs(t-0.4)<0.02)||abs(t-0.8)<0.02)||abs(t-1.2)<0.02 ,
y=20*sin(100*pi*t);
else
y=0;
end 展开
t=0:Ts:2; % 采样率2000HZ
y=f(t);
x=cos(5*pi*t)+f(t);
function y=f(t)
if abs(t-0.4)<0.02)||abs(t-0.8)<0.02)||abs(t-1.2)<0.02 ,
y=20*sin(100*pi*t);
else
y=0;
end 展开
1个回答
2014-04-25
展开全部
if abs(t-0.4)<0.02)||abs(t-0.8)<0.02)||abs(t-1.2)<0.02
这段代码有误,||为短路或,只能操作标量。
改为if (max(abs(t-0.4))<0.02)||(max(abs(t-0.8))<0.02)||(max(abs(t-1.2))<0.02)试试
这段代码有误,||为短路或,只能操作标量。
改为if (max(abs(t-0.4))<0.02)||(max(abs(t-0.8))<0.02)||(max(abs(t-1.2))<0.02)试试
更多追问追答
追问
还是不行耶,改成你说的提示是Illegal use of reserved keyword "if",if用法错误;按照原来的错误是Illegal use of reserved keyword "if"
追答
%主程序
%zhuchenxu.m
clc
clear
Ts=0.0005;
t=0:Ts:2; % 采样率2000HZ
y=fff(t);
x=cos(5*pi*t)+y
%%%%%%%%%%%%%%%%%%%%%
%以上是一个单独的主文件
%%%%%%%%%%%%%%%%%%%%%%%
%下面代码是子程序文件,也是一个单独的文件
% 保存时不要改名字,保存为fff.m
function y=fff(t)
if (max(abs(t-0.4))<0.02)||(max(abs(t-0.8))<0.02)||(max(abs(t-1.2))<0.02)
y=20*sin(100*pi*t);
else
y=0;
end
%我已调试通过,但程序本身没什么意义
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询