Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-02-11, 02:34   #1
matlabnewbie
初级会员
 
注册日期: 2010-02-11
帖子: 3
声望力: 0
matlabnewbie 正向着好的方向发展
默认 求助:请问如何求这个函数极大值和极小值?

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 还是其他?

非常感谢!
matlabnewbie 当前离线   回复时引用此帖
旧 2010-02-11, 21:06   #2
laohuiosa
初级会员
 
注册日期: 2009-01-15
年龄: 36
帖子: 15
声望力: 17
laohuiosa 正向着好的方向发展
默认 回复: 求助:请问如何求这个函数极大值和极小值?

[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)的函数。
laohuiosa 当前离线   回复时引用此帖
旧 2010-02-13, 05:50   #3
matlabnewbie
初级会员
 
注册日期: 2010-02-11
帖子: 3
声望力: 0
matlabnewbie 正向着好的方向发展
默认 回复: 求助:请问如何求这个函数极大值和极小值?

感谢!
但是我想要求的是极值而不是最值。
matlabnewbie 当前离线   回复时引用此帖
旧 2010-02-14, 16:06   #4
laohuiosa
初级会员
 
注册日期: 2009-01-15
年龄: 36
帖子: 15
声望力: 17
laohuiosa 正向着好的方向发展
默认 回复: 求助:请问如何求这个函数极大值和极小值?

极值应该还要一些条件吧,应该有局部的范围吧
laohuiosa 当前离线   回复时引用此帖
旧 2010-02-15, 23:12   #5
matlabnewbie
初级会员
 
注册日期: 2010-02-11
帖子: 3
声望力: 0
matlabnewbie 正向着好的方向发展
默认 回复: 求助:请问如何求这个函数极大值和极小值?

有范围。范围就是x(k,j) = 2.1e6+(k-1)*200; k=1:501.也就是x=从2.1e6到2.2e6。
matlabnewbie 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 18:25


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