matlab 符号 约束,非线性优化 问题约束函数带有符号的条件函数怎么写?
本帖最后由 houleilei 于 2020-11-3 13:20 編輯
syms theta z1 z2 a1 a2
z=[0.2,0.4,0.6,0.8];
p=[0.1,0.5,0.6,1.0];for i=1:4
z11(i)=z1-z(i);z22(i)=z2-z(i);
A1(i)=a1./p(i);A2(i)=a2./p(i);Z11(i)=z1(i)/p(i);
if Z11(i)~=0
fun1(i)=sqrt(1+A1(i).^2-2*A1(i).*cos(theta)+Z11(i).^2).*cos(theta);
fun2(i)=sqrt(1+A2(i).^2-2*A2(i).*cos(theta)+Z11(i).^2).*cos(theta);
FP1(i)=int(fun1(i),theta,0,pi);
FP2(i)=int(fun2(i),theta,0,pi);
if Z11(i)==0
if A1(i)>1
fun1(i)=(sqrt(1+A1(i).^2-2*A1(i).*cos(theta)+Z11(i).^2).*cos(theta));
FP1(i)=int(fun1(i),theta,0,pi);
else if A1(i)==1
FP1(i)=-1.042260218;
else if ((0
fun1(i)=((sqrt(1+A1(i).^2-2*A1(i).*cos(theta)+Z11(i).^2)));
FP1(i)=-pi/4*(1+log4)+int(fun1(i),theta0,pi);
end
end
end
end
if Z11(i)==0
if A2(i)>1
fun2(i)=(sqrt(1+A2(i).^2-2*A2(i).*cos(theta)+Z11(i).^2).*cos(theta));
FP2(i)=int(fun2(i),theta,0,pi);
else if A2(i)==1
FP2(i)=-1.042260218;
else if ((0
fun2(i)=((sqrt(1+A2(i).^2-2*A2(i).*cos(theta)+Z11(i).^2)));
FP2(i)=-pi/4*(1+log4)+int(fun2(i),theta0,pi);
end
end
end
end
end
end
FP1,FP2
請問一下大神,怎么表達出Fp1,FP2關于變量 z1,z2 a1,a2在點(z,p)處的函數表達式呢?
因為我最終要做的是一個非線性優化問題,這個Fp1,FP2關于變量 z1,z2 a1,a2在點(z,p)處的函數表達式是非線性優化問題的約束條件。
總結
以上是生活随笔為你收集整理的matlab 符号 约束,非线性优化 问题约束函数带有符号的条件函数怎么写?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十二届蓝桥杯青少年python组 第1
- 下一篇: python算法系列资料集(一)-202