最近在用fmincon做一个电磁场线性约束优化的问题,关键就是利用几个线圈载流设计一个较均匀的磁场,关心区域是x[-0.5,0.5],z[-0.5,0.5],y[-1,1],内的磁场强度的模
线圈总长度不超过20,线圈平面垂直于Y轴,线圈不能在关心区域内部,Y轴上不能超过+-5的范围
我写了下面的两个程序,主要是计算中心轴线和一条棱上的磁场强度,然后,求出最大最小值的比,求这个比的极小值
程序如下,用了四个正方形线圈
下面是磁场计算公式
——————————————————————————————————————————
function B=searchB(x)
p0=[0,-1,0];
p1=[0,1,0];
p2=[0.5,-1,0.5];
p3=[0.5,1,0.5];
L1=x(1);
L2=2.5-x(1);
L3=2.5-x(1);
L4=x(1);
Y1=-x(2);
Y2=-x(3);
Y3=x(3);
Y4=x(2);
I1=x(4);
I2=x(5);
for k=1:11
p=p0+((k-1)/10)*(p1-p0);
q=p2+((k-1)/10)*(p3-p2);
b1=calmag2(p(1),p(2),p(3),L1/2,Y1,-L1/2,L1/2,Y1,L1/2,I1);
b2=calma