| 查看: 2345 | 回复: 1 | ||
[求助]
matlab求函数所有极小值点
|
|
function prl() %考虑第二种情况widely spaced islands a=sort(80*rand(1,5)); %生成一组随机数然后从小到大排序 v(1)=a(1)+0.5*(a(2)-a(1)); %由Voronoi polygon算第一个island的体积 for i=2:4, v(i)=(a(i+1)-a(i-1))*0.5; %由Voronoi polygon算2到n-1个位置体积 end v(5)=80-a(5)+0.5*(a(5)-a(4)); %最后一个island的体积 y=[zeros(1,length(a));v]; subplot(2,1,1); plot([a;a],y,'k'); axis([0,80,0,100]); title('layer 1'); syms x f=((x^2+1)^(-3/2))*(1-3/(x^2+1)); for i=1:5, f=f+(((x-a(i))^2+1)^(-3/2))*(1-3/((x-a(i))^2+1)); %由张力公式叠加算第二层的岛的位置 end h=diff(f,x,1); %对总张力公式求一阶导 g=diff(f,x,2); %求二阶导 h=inline(vectorize(f),'x'); options=optimset('Display','off'); k=1 q=zeros(1,80); for j=0:300 q(k)=fzero(h,j,options); %找出一阶导数的零点 k=k+1; end p=zeros(1,80); p(1)=q(1); n=1; for m=1:k % if q(m)~=p(n) if g(q(m))>0 %判断二阶导数是否大于零 n=n+1; p(n)=q(m); %得到极值点 end %end end v=zeros(1,80); %求第二层体积 v(1)=p(1)+0.5*(p(2)-p(1)); for i=2:m-1, v(i)=(p(i+1)-p(i-1))*0.5; end v(length(p))=80-p(length(p))+0.5*(p(length(p))-p(length(p)-1)); subplot(2,1,2) plot([p;p],[zeros(1,length(p));v],'k') axis([0,80,0,100]) title('layer 2'); 请问哪错了,求二至n层核的位置及体积,核的位置为f极小值点,f为张力公式,根据核的位置叠加求极小值,极小值就是下一层核位置,最后根据泰森边形球体积,求大神指导,小弟感激不尽[ Last edited by 天微凉61 on 2013-4-29 at 10:47 ] |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有9人回复
为什么一个当量的苯甲醛反应不完呢
已经有5人回复
招博士
已经有3人回复
存款400万可以在学校里躺平吗
已经有35人回复
为什么nbs上溴 没有产物点出现呢
已经有8人回复
最失望的一年
已经有18人回复
求推荐博导
已经有4人回复
求助一下有机合成大神
已经有4人回复
求推荐英文EI期刊
已经有5人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
» 本主题相关价值贴推荐,对您同样有帮助:
用matlab里的nlinfit如何拟合分段函数
已经有8人回复
Matlab中如何自己定义一个新函数,然后计算时可以调用?
已经有12人回复
求matlab画一个函数的图
已经有6人回复
matlab的函数调用问题
已经有3人回复
MATLAB中产生高斯白噪声,涉及到awgn和wgn函数
已经有3人回复
问个关于matlab里find函数的问题!
已经有4人回复
【分享】Matlab常用函数及常用数学函数【已搜索无重复】
已经有80人回复
matlab做函数图象的问题
已经有6人回复
【分享】MATLAB常用函数参考
已经有36人回复
2楼2013-05-19 12:35:13













回复此楼