Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-02
年龄: 39
帖子: 6
声望力: 0 ![]() |
![]()
我是一名大四的学生,现在正在做毕业设计,因MATLAB从未学过,也是边学边做,我需要求出IGv函数的频率响应图,因IGv的表达式很复杂,这里我没列出,在下面的程序中有的,以下是我的程序,请高手帮我看看程序有什么问题哈,万分感谢!
%%igmax is global maximum Igmin=1000000000; %%exmperimantal values M=0:1:100; C=0:1:100000; For omiga=0:1:100; K=0:1:1000; %%igvlmax is local maximum; Igvlmax=0; %%igv’s calculational equation Igv=sqrt(16*c.^4*omiga.^4+16*k.^4+4*M.^2*k.^2*omiga.^4+32*c.^2*omiga.^2*k.^2-16*M*k.^3*omiga.^2+4*M.^2*c.^2*omiga.^6)/((-M*omiga.^2+2*k).^2+4*c.^2*omiga.^2); If igv>=igvlmax; Igvlmax=igv; End; End; If igvlmax<=igvmin; Igvmin=igvlmax; Kmin=k; cmin=c; mmin=m; End End End End If IGvlmin>=IGvmax K=Kmin c=Cmin m=Mmin For omiga=0:1:100; Igv(i)=sqrt(16*c.^4*omiga.^4+16*k.^4+4*M.^2*k.^2*omiga.^4+32*c.^2*omiga.^2*k.^2-16*M*k.^3*omiga.^2+4*M.^2*c.^2*omiga.^6)/((-M*omiga.^2+2*k).^2+4*c.^2*omiga.^2); End; For i=0:1:100 Plot (I, igv(i)) 其中k,c,omega,M是变量,整个函数就是要在不同的k,c,omega,M取值时使IGv达到最小,也就是函数最优化的问题,我写的程序不知道对不对,错的地方我也不太会改,请各位高手帮帮忙哈. |
![]() |
![]() |