求教matlab实现门函数的fft 用matlab怎么把函数式子变成编程语言?

matlab\u662f\u4ec0\u4e48\u7f16\u7a0b\u8bed\u8a00

\u4f7f\u7528 MATLAB\uff0c\u60a8\u53ef\u4ee5\u8f83\u4f7f\u7528\u4f20\u7edf\u7684\u7f16\u7a0b\u8bed\u8a00\uff08\u5982 C\u3001C++ \u548c Fortran\uff09\u66f4\u5feb\u5730\u89e3\u51b3\u6280\u672f\u8ba1\u7b97\u95ee\u9898.
\u3000MATLAB \u662f\u7f8e\u56fdMathWorks\u516c\u53f8\u51fa\u54c1\u7684\u5546\u4e1a\u6570\u5b66\u8f6f\u4ef6\uff0c\u7528\u4e8e\u7b97\u6cd5\u5f00\u53d1\u3001\u6570\u636e\u53ef\u89c6\u5316\u3001\u6570\u636e\u5206\u6790\u4ee5\u53ca\u6570\u503c\u8ba1\u7b97\u7684\u9ad8\u7ea7\u6280\u672f\u8ba1\u7b97\u8bed\u8a00\u548c\u4ea4\u4e92\u5f0f\u73af\u5883\uff0c\u4e3b\u8981\u5305\u62ecMATLAB\u548cSimulink\u4e24\u5927\u90e8\u5206\u3002
\u3000\u3000MATLAB\u662f\u77e9\u9635\u5b9e\u9a8c\u5ba4\uff08Matrix Laboratory\uff09\u7684\u7b80\u79f0\uff0c\u548cMathematica\u3001Maple\u5e76\u79f0\u4e3a\u4e09\u5927\u6570\u5b66\u8f6f\u4ef6\u3002\u5b83\u5728\u6570\u5b66\u7c7b\u79d1\u6280\u5e94\u7528\u8f6f\u4ef6\u4e2d\u5728\u6570\u503c\u8ba1\u7b97\u65b9\u9762\u9996\u5c48\u4e00\u6307\u3002MATLAB\u53ef\u4ee5\u8fdb\u884c\u77e9\u9635\u8fd0\u7b97\u3001\u7ed8\u5236\u51fd\u6570\u548c\u6570\u636e\u3001\u5b9e\u73b0\u7b97\u6cd5\u3001\u521b\u5efa\u7528\u6237\u754c\u9762\u3001\u8fde\u63a5\u5176\u4ed6\u7f16\u7a0b\u8bed\u8a00\u7684\u7a0b\u5e8f\u7b49\uff0c\u4e3b\u8981\u5e94\u7528\u4e8e\u5de5\u7a0b\u8ba1\u7b97\u3001\u63a7\u5236\u8bbe\u8ba1\u3001\u4fe1\u53f7\u5904\u7406\u4e0e\u901a\u8baf\u3001\u56fe\u50cf\u5904\u7406\u3001\u4fe1\u53f7\u68c0\u6d4b\u3001\u91d1\u878d\u5efa\u6a21\u8bbe\u8ba1\u4e0e\u5206\u6790\u7b49\u9886\u57df\u3002
\u3000\u3000MATLAB\u7684\u57fa\u672c\u6570\u636e\u5355\u4f4d\u662f\u77e9\u9635\uff0c\u5b83\u7684\u6307\u4ee4\u8868\u8fbe\u5f0f\u4e0e\u6570\u5b66\u3001\u5de5\u7a0b\u4e2d\u5e38\u7528\u7684\u5f62\u5f0f\u5341\u5206\u76f8\u4f3c\uff0c\u6545\u7528MATLAB\u6765\u89e3\u7b97\u95ee\u9898\u8981\u6bd4\u7528C\uff0cFORTRAN\u7b49\u8bed\u8a00\u5b8c\u76f8\u540c\u7684\u4e8b\u60c5\u7b80\u6377\u5f97\u591a\uff0c\u5e76\u4e14mathwork\u4e5f\u5438\u6536\u4e86\u50cfMaple\u7b49\u8f6f\u4ef6\u7684\u4f18\u70b9,\u4f7fMATLAB\u6210\u4e3a\u4e00\u4e2a\u5f3a\u5927\u7684\u6570\u5b66\u8f6f\u4ef6\u3002\u5728\u65b0\u7684\u7248\u672c\u4e2d\u4e5f\u52a0\u5165\u4e86\u5bf9C\uff0cFORTRAN\uff0cC++ \uff0cJAVA\u7684\u652f\u6301\u3002

bv=(-1)^((v+3)/2)*4*br*c*sin(v*pi*alpha/2)/ur/bet

        如果你只对[-0.5,0.5]之间的信号进行采样,那么你采的将会是常数1,这样做出的FFT应该是一个delta函数,也就是一个冲击,所以你应该采包括外边的值才能够反映出信号的特性。

        这样结果没有任何问题,问题是你采样的值太少了,换句话说就是你采样的信号反映不出这是个门函数的特性来。

       

        matlab里边是可以利用单边函数表示门函数的。你可以跑一下下边的程序,看一下门函数:

        fx=heaviside(x+0.5)-heaviside(x-0.5);

        ezplot(fx,[-1,1]);




        而且matlab里边还有对符号表达式做傅里叶变换的函数fourier(),用法如下:

        FX=fourier(fx);

        ezplot(FX,[-30,30]);

        title('fourier transformation of fx')



而如果你非想用fft做,就必须加大采样点数,尤其是门之外的部分,才能够完整的描述信号。



不知道

  • 姹傛暀matlab瀹炵幇闂ㄥ嚱鏁扮殑fft
    绛旓細matlab閲岃竟鏄彲浠ュ埄鐢ㄥ崟杈瑰嚱鏁拌〃绀闂ㄥ嚱鏁扮殑銆備綘鍙互璺戜竴涓嬩笅杈圭殑绋嬪簭锛岀湅涓涓嬮棬鍑芥暟锛歠x=heaviside(x+0.5)-heaviside(x-0.5);ezplot(fx,[-1,1]);鑰屼笖matlab閲岃竟杩樻湁瀵圭鍙疯〃杈惧紡鍋氬倕閲屽彾鍙樻崲鐨鍑芥暟fourier()锛岀敤娉曞涓嬶細FX=fourier(fx);ezplot(FX,[-30,30]);title('fourier transformation of...
  • 濡備綍鐢∕ATLAB鐢熸垚f(t)=g(t)cos10蟺t,鍏朵腑g(t)涓闂ㄥ嚱鏁
    绛旓細t=-1:0.001:3;g=2*(t>=-0.5)-(t>=0.5);axis([-1,1,0,3])f=g.*cos(10*pi.*t)stairs(t,f)
  • 鐢╩atlab 璁$畻涓変釜闂ㄩ棶棰,甯屾湜鎳傜殑浜虹粰鍑虹▼搴
    绛旓細keep=0; %淇濇寔鍘熸湁鎰忚锛屽苟涓 change=0; %鏀瑰彉鎰忚锛屼腑濂 for i=1:N answer=randint(1,1,[1 3]); %杞︽墍鍦ㄧ殑闂 mychoice=randint(1,1,[1 3]); %鎴戦夋嫨鐨勪竴涓棬 if answer==mychoice %鍘熷厛鐨勭瓟妗堟槸瀵圭殑璇濓紝淇濇寔鏄鐨勶紝鎹簡涔嬪悗鏄閿欑殑 keep=keep+1;else %鍘熷厛鐨勭瓟...
  • matlab鐢ㄤ粈涔堝嚱鏁拌〃绀洪珮搴︿负2鐨闂ㄥ嚱鏁
    绛旓細鍗曡竟鍑芥暟銆Matlab涓骇鐢闂ㄥ嚱鏁--Heaviside鍑芥暟锛屽張绉颁綔鍗曚綅闃惰穬鍑芥暟锛屽嵆淇″彿涓庣郴缁熶腑甯哥敤鐨勫嚱鏁皍(t)锛屽父鍒╃敤鍗曡竟鍑芥暟琛ㄧず闂ㄥ嚱鏁扮殑銆
  • matlab瀹炵幇 涓闂ㄥ嚱鏁扮殑鍗风Н鍥 Error using ==> plot,Vectors must be t...
    绛旓細涓や釜搴忓垪鍗风Н锛岃緭鍑哄簭鍒楃殑闀垮害鏄簭鍒1鐨勯暱搴+搴忓垪2鐨勯暱搴-1锛涗綘鐨刦t1鍜宖t2鐨勯暱搴﹂兘鏄11锛屽嵎绉緱鍒扮殑ft鐨勯暱搴︿负2*11-1 = 21锛涚敾鍥剧敤stem(-20:2:20,ft)鎴栬呯洿鎺ョ敤stem(ft)灏卞ソ浜嗐
  • matlab鏃犳硶瀹氫箟鍏锋湁閲嶅鍚嶇О "f" 鐨鍑芥暟銆
    绛旓細鎴戜篃閬囧埌杩欐牱鐨勯棶棰橈紝鎶妋鏂囦欢鐨勫悕绉版敼鎴愬拰鍑芥暟鍚嶄笉鍚屽氨鍙互浜嗐傛垜鐨勬暀绋嬩笂璇寸殑鏄皢瀹氫箟humps鍑芥暟鐨m鏂囦欢鍛藉悕涓篽umps.m锛屼篃鍑虹幇浜嗗拰棰樹富涓鏍风殑鎶ラ敊銆傚皢m鏂囦欢鐨勫悕绉版敼涓篺unc1.m涔嬪悗锛屽拰鍙互閫氳繃@鑾峰彇humps鍑芥暟鐨勫彞鏌勶紝鎴愬姛璋冪敤浜嗐
  • 姹傝繖涓変釜鍑芥暟鐨刴atlab瀹炵幇浠g爜?椤轰究姹傚憡璇夋庝箞瀛︿範matlab,澶氳阿鍟鐧惧害...
    绛旓細function f3 = f3(x)% x = [x1,x2,...,x10]len = length(x);f3 = [];for j = 1:len f3 = f3 + x(j)^2-10*cos(2*pi*x(j))+10;end 1.鎶婁笂闈3涓鍑芥暟鍒嗗埆淇濆瓨鎴3涓枃浠跺嵆鍙紝杈撳叆鐩稿簲鍙傛暟灏辫兘姹傝В缁撴灉锛2.MATLAB鏄棬妲涘緢浣庣殑涓涓煩闃佃繍绠楄蒋浠讹紝鍏堝涓浜涘熀鏈煡璇嗭紝鐒跺悗...
  • MATLAB濡備綍瀹炵幇闂ㄥ嚱鏁g10(t-5)鐨勮〃杈?
    绛旓細t=-5:0.001:20;g=[(t>0)&(t<10)];plot(t,g),grid
  • matlab鎬庢牱寤虹珛濡傚浘鐨鍑芥暟,灏忕櫧姹傛暀,甯屾湜澶х鑳界粰鍑轰唬鐮佽阿璋
    绛旓細鍙傝冨涓嬪啓娉曪紝鑷繁鏀癸細f = @(x) x.*x+2*0.5u = @(x) (x-2)*1.9a = @(x1,x2,x3,x4) f(x1) + u(x2)+ u(x3)+ u(x4)b = @(x1,x2,x3,x4) f(x1) + f(x2)+ u(x3)+ u(x4)c = @(x1,x2,x3,x4) f(x1) + f(x2)+ f(x3)+ u(x4)d = @(x1...
  • 姹傛暀Matlab浜屽厓鍑芥暟姹傝В鏈灏忓
    绛旓細鐢∕atlab姹傝В浜屽厓鍑芥暟鐨鏈灏忓硷紝涓鑸彲浠ョ敤fminsearch锛堬級姹傝В銆備緥濡 姹備簩鍏鍑芥暟f(x,y)=x^2+2*y^2鍦╗0;1]鐐归檮杩戠殑鏋佸皬鍊笺俧un=@锛坸锛墄(1)^2 + 2*x(2)^2;[x,fval,exitflag]=fminsearch(fun,[0;1])杩愯缁撴灉
  • 扩展阅读:matlabsubplot示例 ... matlab中semilogx函数 ... 用matlab绘制门函数 ... 通信系统的matlab仿真题目 ... matlab if多个判断条件 ... matlab求和∑函数例题 ... matlab两个if函数怎么嵌套 ... matlab中的门信号 ... matlab累加求和∑ ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网