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)处的函数表达式是非线性优化问题的约束条件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值