我已经看了大约30分钟了,我找不到一个方法来解决这个问题。
如果数字控制系统的极点位于单位圆内,则认为该系统是稳定的。极点是指控制系统传递函数中分母的根。另一方面,单位圆是复平面中的圆,其中心位于原点,半径为一(1)。如果传递函数的分母为,az^2+bz+c,则在用户输入系数后确定其是否为stalbe。您的程序应该显示根(矩形或极形,取决于您的偏好)和稳定性条件。假设系数是实数。
这是我到目前为止所做的。。。
import java.text.DecimalFormat;
import java.util.Scanner;
public static void main(String[] args) {
// Problem # 1
Scanner scan = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("###.##");
int a,b,c;
double d;
System.out.println("Given the equation: ax^2 + bx + c");
System.out.print("Input value for a: ");
a = scan.nextInt();
System.out.print("Input value for b: ");
b = scan.nextInt();
System.out.print("Input value for c: ");
c = scan.nextInt();
scan.close();
d = ((Math.pow(b, 2))-(4*a*c));
double real = (-b) / (2*a);
double imaginary = Math.sqrt(-d)/(2*a);
System.out.print("The complex conjugates are " + df.format(real) + " + " + df.format(imaginary) +"i");
System.out.print(" and " + df.format(real) + " - " + df.format(imaginary) +"i");
if(d <= 0) {
System.out.println("\nThe Stability condition is stable");
}
else {
System.out.println("\nThe Stability Condition is unstable");
}
int zero=0,neg=0,pos=0;
if (a < 0 ) {
neg = neg + 1;
}
else if (a> 0 ) {
pos = pos + 1;
}
else if (a == 0) {
zero = zero + 1;
}
if ( b < 0 ) {
neg = neg + 1;
}
else if ( b > 0 ) {
pos = pos + 1;
}
else if (b ==0){
zero = zero + 1;
}
if ( c < 0 ) {
neg = neg + 1;
}
else if ( c > 0 ) {
pos = pos + 1;
}
else if (c ==0){
zero = zero + 1;
}
System.out.println("the number of zero is " + zero);
System.out.println("the number of Positive is " + pos);
System.out.println("the number of Negative is " + neg);
}
}
注意:我对这方面还不太熟悉,如果有人能帮助一个新手,那将是一个很大的帮助:))
暂无答案!
目前还没有任何答案,快来回答吧!