作业帮 > 综合 > 作业

刚学matlab,clear,clcf0=1;%方波的频率t=0:.01:10;f=@(t) square(2*pi*f

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/27 13:48:12
刚学matlab,
clear,clc
f0=1;%方波的频率
t=0:.01:10;
f=@(t) square(2*pi*f0*t);
square(2*pi*f0*t);
figure,plot(t,square(2*pi*f0*t)),axis([0,10,-2,2]),title('原函数')
n=length(t)
for i=1:n
F(i)=quad(f,0,t(i));
end
figure,plot(t,F),title('积分后');
求人一句句解答~
刚学matlab,clear,clcf0=1;%方波的频率t=0:.01:10;f=@(t) square(2*pi*f
clear,clc%clear清除workspace中的变量,clc清除command窗口中的命令.
f0=1;%方波的频率
t=0:.01:10;%区间[0,10]的集合,步长0.01
f=@(t) square(2*pi*f0*t);
square(2*pi*f0*t);
figure,plot(t,square(2*pi*f0*t)),axis([0,10,-2,2]),title('原函数')%figure呈现一个空白作图窗口,plot作图函数,axis控制坐标轴,title图像标题;
n=length(t)%集合t的元素长度,在这里是个数.
for i=1:n%此句至end之间是一个for循环;
F(i)=quad(f,0,t(i));%quad求定积分函数;
end
figure,plot(t,F),title('积分后');
再问: 非常感谢~f=@(t) square(2*pi*f0*t);这句呢?为什么要加一个@?
再答: 表示句柄函数。以下资料供你参考: 函数句柄:是包含了函数的路径、函数名、类型以及可能存在的重载方法。 函数句柄必须通过专门的定义创建的,而一般的图像的句柄是自动建立的。 创建函数句柄使用@或者str2func命令创建 [email=h_fun=@fun]h_fun=@fun[/email]; h_fun=str2func('fun'); 比如说sin函数,[email=h_sin=@sin]h_sin=@sin[/email]; h_sin=str2func('sin'); 执行sin函数 feval feval('sin',pi/2) ans = 1 那么使用函数句柄有什么好处呢? 1、提高运行速度。因为matlab对函数的调用每次都是要搜索所有的路径,从set path中我们可以看到,路径是非常的多的,所以如果一个函数在你的程序中需要经常用到的话,使用函数句柄,对你的速度会有提高的。 2、使用可以与变量一样方便。比如说,我再这个目录运行后,创建了本目录的一个函数句柄,当我转到其他的目录下的时候,创建的函数句柄还是可以直接调用的,而不需要把那个函数文件拷贝过来。因为你创建的function handles中,已经包含了路径,比如说我创建了一个fun h_fun=str2func('rei'); 可以用functions来查看这个function,结果果然已经包括了路径。 functions(h_fun) ans = function: 'rei' type: 'simple' file: 'G:\program\serial232\rei.m'