MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB混合编程] 求助:请问如何求这个函数极大值和极小值? (https://www.labfans.com/bbs/showthread.php?t=10734)

matlabnewbie 2010-02-11 02:34

求助:请问如何求这个函数极大值和极小值?
 
clear;
clc;

for k=1:501
for j=1:30
x(k,j) = 2.1e6+(k-1)*200;
Cs(k,j) = 1e-13*10^(j/5);

Cm=1.1e-9;
C1=10^-9;
Rl=2;
Rm=0.2;
Rp=0.3;
Ll=1*10^(-6);
Lm=4.9*10^(-6);
Lp=1*10^(-7);

w(k,j)=2*pi*x(k,j);
Zl(k,j)=Rl+i*w(k,j).*Ll;
Zp(k,j)=Rp+i*w(k,j).*Lp;
Zm(k,j)=Rm+i*w(k,j).*Lm+1./(i*w(k,j).*Cm);
Zs(k,j)=1/(i*w(k,j).*Cs(k,j));
Z(k,j)=1/(1/(Zl(k,j)+ Zp(k,j).*Zm(k,j)./(Zp(k,j)+Zm(k,j)))+1/(Zs(k,j)));
y(k,j)=sqrt(imag(Z(k,j)).^2+real(Z(k,j)).^2);

end
end

plot(x,y)

请问如何求这个程序里函数 y 的极大值和极小值以及相应的 x 的值?
函数 y 的自变量是k, j 还是其他?

非常感谢!

laohuiosa 2010-02-11 21:06

回复: 求助:请问如何求这个函数极大值和极小值?
 
[a,b]=max(y);
[c,d]=min(y);
[a1,b1]=max[a];//a1返回最大值,b1返回最大值的列号
b2=b(b1);//b2返回最大值的行号
[c1,d1]=min(c);c1返回最小值,d1返回最小值的列号
d2=d(d1);//d2返回最小值的行号
y是坐标(k,j)的函数。

matlabnewbie 2010-02-13 05:50

回复: 求助:请问如何求这个函数极大值和极小值?
 
感谢!
但是我想要求的是极值而不是最值。

laohuiosa 2010-02-14 16:06

回复: 求助:请问如何求这个函数极大值和极小值?
 
极值应该还要一些条件吧,应该有局部的范围吧

matlabnewbie 2010-02-15 23:12

回复: 求助:请问如何求这个函数极大值和极小值?
 
有范围。范围就是x(k,j) = 2.1e6+(k-1)*200; k=1:501.也就是x=从2.1e6到2.2e6。


所有时间均为北京时间。现在的时间是 13:38

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.