登录论坛

查看完整版本 : [MATLAB混合编程] [求助]MATLAB中关于频响图函数最优化的程序问题


阿童木
2009-04-18, 22:04
我是一名大四的学生,现在正在做毕业设计,因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达到最小,也就是函数最优化的问题,我写的程序不知道对不对,错的地方我也不太会改,请各位高手帮帮忙哈.

阿童木
2009-04-19, 12:16
```有知道的高手教教我啊```急用的```再次感谢!