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
还是不行耶,改成你说的提示是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
%我已调试通过,但程序本身没什么意义
谢谢啊,你说的很对,我是想写个分段函数加到别的函数上的,分段函数中的y忘了弄成数组,所以没有意义,不过你说的if那里的确是出错了,改后就能运行了,函数写成这样就好了
n=length(t);
a=zeros(1,n);
n=0;
for i=0:0.0005:2
…………
else
y=0;
end
n=n+1;
a(1,n)=y;
end
很感谢哦