函数与某个matlab同名,fmincon提示无法定义局部函数,因为它与文件同名

function f = myfunction(epsr,~,~,~,~,~,~,~,~,~,~,~,~,~,~,~,~,M,L,~,A6)

eps0=1;

mu0=1;mu1=1;mu2=1;mu3=1;mu4=1;mu5=1;

f=3e8/(500e-9);

w=2*pi*f;

r1=0.015*(500e-9);r2=0.030*(500e-9);r3=0.070*(500e-9);r4=0.085*(500e-9);r5=0.100*(500e-9);

rs=0.105*(500e-9);

k0=w*sqrt(8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7));

k1=w*sqrt(epsr(1)*8.854187817*(1e-12))*sqrt(mu1*4*pi*(1e-7));

k2=w*sqrt(epsr(2)*8.854187817*(1e-12))*sqrt(mu2*4*pi*(1e-7));

k3=w*sqrt(epsr(3)*8.854187817*(1e-12))*sqrt(mu3*4*pi*(1e-7));

k4=w*sqrt(epsr(4)*8.854187817*(1e-12))*sqrt(mu4*4*pi*(1e-7));

k5=w*sqrt(epsr(5)*8.854187817*(1e-12))*sqrt(mu5*4*pi*(1e-7));

for x=0:4

M(1,1,x+1)=epsr(1)*besselj(x,k1*r1);M(1,2,x+1)=-epsr(2)*besselj(x,k2*r1);M(1,3,x+1)=-epsr(3)*bessely(x,k2*r1);

M(2,1,x+1)=k1*(x/(k1*r1)*besselj(x,k1*r1)-besselj(x+1,k1*r1));M(2,2,x+1)=-k2*(x/(k2*r1)*besselj(x,k2*r1)-besselj(x+1,k2*r1));M(2,3,x+1)=-k2*(x/(k2*r1)*bessely(x,k2*r1)-bessely(x+1,k2*r1));

M(3,2,x+1)=epsr(2)*besselj(x,k2*r2);M(3,3,x+1)=epsr(2)*bessely(x,k2*r2);M(3,4,x+1)=-epsr(3)*besselj(x,k3*r2);M(3,5,x+1)=-epsr(4)*bessely(x,k3*r2);

M(4,2,x+1)=k2*(x/(k2*r2)*besselj(x,k2*r2)-besselj(x+1,k2*r2));M(4,3,x+1)=k2*(x/(k2*r2)*bessely(x,k2*r2)-bessely(x+1,k2*r2));M(4,4,x+1)=-k3*(x/(k3*r2)*besselj(x,k3*r2)-besselj(x+1,k3*r2));M(4,5,x+1)=-k3*(x/(k3*r2)*bessely(x,k3*r2)-bessely(x+1,k3*r2));

M(5,4,x+1)=epsr(3)*besselj(x,k3*r3);M(5,5,x+1)=epsr(3)*bessely(x,k3*r3);M(5,6,x+1)=-epsr(4)*besselj(x,k4*r3);M(5,7,x+1)=-epsr(4)*bessely(x,k4*r3);

M(6,4,x+1)=k3*(x/(k3*r3)*besselj(x,k3*r3)-besselj(x+1,k3*r3));M(6,5,x+1)=k3*(x/(k3*r3)*bessely(x,k3*r3)-bessely(x+1,k3*r3));M(6,6,x+1)=-k4*(x/(k4*r3)*besselj(x,k4*r3)-besselj(x+1,k4*r3));M(6,7,x+1)=-k4*(x/(k4*r3)*bessely(x,k4*r3)-bessely(x+1,k4*r3));

M(7,6,x+1)=epsr(4)*besselj(x,k4*r4);M(7,7,x+1)=epsr(4)*bessely(x,k4*r4);M(7,8,x+1)=-epsr(5)*besselj(x,k5*r4);M(7,9,x+1)=-epsr(5)*bessely(x,k5*r4);

M(8,6,x+1)=k4*(x/(k4*r4)*besselj(x,k4*r4)-besselj(x+1,k4*r4));M(8,7,x+1)=k4*(x/(k4*r4)*bessely(x,k4*r4)-bessely(x+1,k4*r4));M(8,8,x+1)=-k5*(x/(k5*r4)*besselj(x,k5*r4)-besselj(x+1,k5*r4));M(8,9,x+1)=-k5*(x/(k5*r4)*bessely(x,k5*r4)-bessely(x+1,k5*r4));

M(9,8,x+1)=epsr(5)*besselj(x,k5*r5);M(9,9,x+1)=epsr(5)*bessely(x,k5*r5);M(9,10,x+1)=-eps0*besselh(x,2,k0*r5);  %besselh(k,1,x);k阶第一类汉克尔函数,besselh(k,2,x);k阶第二类汉克尔函数,存疑

M(10,8,x+1)=k5*(x/(k5*r5)*besselj(x,k5*r5)-besselj(x+1,k5*r5));M(10,9,x+1)=k5*(x/(k5*r5)*bessely(x,k5*r5)-bessely(x+1,k5*r5));M(10,10,x+1)=-k0*(x/(k0*r5)*besselh(x,2,k0*r5)-besselh(x+1,2,k0*r5));

end

for y=0:4

L(9,1,y+1)=eps0*besselj(y,k0*r5)*besselh(y,2,k0*rs);L(10,1,y+1)=k0*(y/(k0*r5)*besselj(y,k0*r5)-besselj(y+1,k0*r5))*besselh(y,2,k0*rs);

end

for z=0:4

C1=M(:,:,1)\L(:,:,1);

A6(z+1)=C1(10);

end

f=abs(((abs(besselj(0,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(1))-2j*(besselj(1,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(2))-2*(besselj(2,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(3))+2j*(besselj(3,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(4))+2*(besselj(4,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(5)))^2)/(abs(besselj(0,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(1))^2+2*abs(besselj(1,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(2))^2+2*abs(besselj(2,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(3))^2+2*abs(besselj(3,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(4))^2+2*abs(besselj(4,2*pi*(6e+14)*sqrt(eps0*8.854187817*(1e-12))*sqrt(mu0*4*pi*(1e-7))*rs)+A6(5))^2)-(2*5+1))^2;

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值