📄 energe.java
字号:
import java.math.*;
class Energe
{
public void Energe(double R1[],double R2[],double R3[],double R4[],double E[])
{
//电源电压
double Vp=10.0000;
double Vbc=-4.381689;
double Vbe=0.618724;
double Vce=Vbe-Vbc;
double Ie=0.252442;
double Ib=0.002499;
double Ic=0.249943;
//电压值、电流值的加权函数
double wi=1.00;
//存放目标函数值
double En[]=new double[20];
// double Em[][]=new double[20][20];
double P1[]=new double[20];
double P2[]=new double[20];
//暂时存放电源电流电压乘积
double PP[]=new double[20];
//存放节点电压
double Vb[]=new double[20];
double Vc[]=new double[20];
double Ve[]=new double[20];
double vbc[]=new double[20];
double vbe[]=new double[20];
double vce[]=new double[20];
//总电流Ip
double Ip[]=new double[20];
//计算目标函数值
for(int i=0;i<20;i++)
{
//电压关系,节点电压法
Vc[i]=Vp-R3[i]*Ic;
Vb[i]=(((Vp/R1[i])-Ib)*R1[i]*R2[i])/(R1[i]+R2[i]);
Ve[i]=Ie*R4[i];
//vbc[i]=Vb[i]-Vc[i];
//vbe[i]=Vb[i]-Ve[i];
vce[i]=Vc[i]-Ve[i];
R3[i]=(Vbc+Vp-Vb[i])/Ic;
R4[i]=(Vb[i]-Vbe)/Ie;
//电流关系
Ip[i]=((Vp+Ib*R2[i])/(R1[i]+R2[i]))+Ic;
//System.out.print("Ip>>>"+Ip[i]+" ");
//电压
//P1[i]=((vbc[i]-Vbc)*(vbc[i]-Vbc));
//P1[i]=P1[i]/Math.abs(Vbc*Vbc);
P1[i]=((R1[i]+R2[i]-R3[i]-R4[i])/40);
//P1[i]=((R1[i]/R2[i])-(R4[i]-R3[i]))/10;
//电流
//P2[i]=(vbe[i]-Vbe)*(vbe[i]-Vbe);
//P2[i]/=Math.abs(Vbe*Vbe);//*Math.pow(20,-6));
P2[i]=((vce[i]-Vce)*(vce[i]-Vce))/(25.00);
//System.out.print("R1>>>"+R1[i]);
//关于E值求导
//P1[i]=(R3[i]+R4[i]-20.00)*(R3[i]+R4[i]-20.00)/400.00;
//System.out.print("P1>>>"+P1[i]+" ");
//功率
PP[i]=Ip[i]*10;
En[i]=PP[i]+P2[i]+P1[i];
E[i]=En[i];
}
//System.out.print("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -