나는 파일에서 정수 쌍을 읽어서 내가 만든 Point 클래스에 저장하는 프로그램을 가지고있다. 첫 번째 정수는 x 좌표이고 두 번째 정수는 파일의 각 줄에있는 y 좌표입니다. 모든 유효한 포인트의 범위는 [0, 40]이고 범위는 [1, 20] 인 x 좌표이며 입니다.2 차원 배열의 문자 배열
입력 파일은 다음과 같이 데이터를 포함 : 나는 몇 가지 유효성 검사를 수행
내 프로그램이 잘못된 데이터를 무시 또는 범위 데이터에서 수 있도록.
그런 다음 그 점들 위에 회귀선을 그려야합니다. 2 차원 문자 배열을 사용해야하며 Java의 Point2D 클래스 또는 Java의 다른 그래픽 클래스를 사용하는 방식으로이 방법을 사용하는 것을 선호합니다.
"X"들 포인트 나타내는 데 사용되는 "-"회귀 직선 세그먼트 S 및이 선분과 포인트가 같은 지점 *
목에있는 ""s의
이# 편집 # 아래
는 대구입니다 : 회귀 라인에 사용되는 공식은 이것이다 이것은 내가 이런 식으로 출력을 원하는 반면 내가 단거리의 코드 :
를 실행 한 후 내 프로그램의 출력입니다
initializeArray(charArray);
int xySum = 0;
int xSqSum = 0;
int xSum = 0;
int ySum = 0;
for (Point points: point) {
xySum += points.getX() * points.getY();
xSqSum += points.getX() * points.getX();
xSum += points.getX();
ySum += points.getY();
}
int xMean = xSum/count;
int yMean = ySum/count;
int n = point.size();
int slope = (xySum - n* xMean * yMean)/(xSqSum - n * xMean * xMean);
for (Point points: point) {
charArray[points.getX()][points.getY()] = 'X';
}
// plot the regression line
for (int x = 0; x <charArray.length; x++) {
int y = yMean + slope * (x - xMean); // calculate regression value
charArray[x][y] = charArray[x][y] == 'X' ? '*' : '-';
}
또한 h입니다. 아야 나는 charArray를 초기화하고 있습니다 :
는public static void initializeArray(char[][] charArray) {
for(int k =0; k< charArray.length; k++) {
for(int d = 0; d<charArray[k].length;d++) {
charArray[k][d] = ' ';
}
}
}
이 새로운 출력 : 나는 하드 fillArray
기능을 수행하도록되어 이해하기 위해 찾는거야
큰 문제는 읽을 수 있지만 설명은 작지만 사진에는 많은 공간이 필요합니다. 다시 나는 더 많은 정보를 제공하게되어 기쁘다. – Saad
당신은 슬로프와 yPred를 위해 얻은 것을 인쇄 했습니까? –
예 경사도 값과 yPred 값을 계산합니다. @RAZ_Muh_Taz – Saad