선생님은 우리에게 사다리꼴 규칙 솔루션을 수행하기 위해 C#을 사용하도록 요청했습니다. 그는 우리가 세 가지 방법으로 나누기를 원합니다. 아래는 문제이며, 지금까지 내 코드 :y 값의 사다리꼴 규칙 합계
수치 통합 컴퓨터 응용 프로그램에 특히 적합한 기술이다. 운동시 우리는 사다리꼴 규칙을 구현하려고합니다. 수학 함수의 적분은 곡선과 x 축 사이의 영역 입니다. 면적이 조금 작은 사다리꼴로 나뉘어지면, 적분은이 의 기하학적 형상의 면적으로 근사됩니다.
당신은 약하지만, 1.54 일 = 6 배는^2-7x + 2 지역에서 X = 0.5 X = 1.5 (NB는 당신의 대답은 에 해결해야 할 곡선 y를 아래의 면적을 찾기 위해 노력할 것입니다 실제 응답은 1.5입니다.) 지역은 하여 화학식
Y0 및 Y1 즉 함수의 값 수직선의 높이이다주어진다. x의 값 :
가 EvaluateQuadraticValue (더블 X, 이중 A, 이중 B, 이중 c) 네 이중 인자를 호출하는 방법을 적는다 다음
이 문제는 세 부분으로 분해 될 수있다 , x2 항의 계수, x의 계수 및
상수. 메서드는 y = ax2 + ba + c라는 식으로 주어진 y 값이
인 값을 계산하여 반환합니다.방법이라고 ComputeQuadraticValues 여섯 개 인수 소요 (더블 STARTX 이중 단위, numberOfIntervals를 INT, 이중 A, 이중 B, 이중 c) 작성, X 개시 값은 증가시키고 간격의
수가 및 이차 방정식의 계수.
이 방법은 이전 질문 인 을 호출하여 x0, x1, x2 등의 값을 계산합니다. 메서드 호출의 결과는 으로 수집되어 double 배열로 반환됩니다.ApplyTrapeziodalRule (double startX, double endX, int numberOfIntervals, double a, double b, double c)이라는 메서드를 작성합니다.
:이 방법은 지금까지 공식
인수는 이전 질문에서 설명합니다.
그리고 내 코드를 적용하여 곡선 아래의 면적을 계산
이전 메서드를 호출하고
에 반환되는 double 배열을 처리
public static double EvaluateQuadraticValue(double x, double a, double b, double c)
{
double y = a * Math.Pow(x, 2) + b * x + c;
Console.WriteLine("The y coordinate for this x is: {0}", y);
return y;
}
public static double[] ComputeQuadraticValues(double startX, double increments, int numberOfIntervals, double a, double b, double c)
{
double[] xPoints = new double[numberOfIntervals];
for (int index = 0; index < numberOfIntervals; index++)
{
xPoints[index] = startX;
Console.WriteLine("X{0} is {1}: ",index, xPoints[index]);
EvaluateQuadraticValue(startX, a, b, c);
startX = startX + increments;
}
return xPoints;
}
public static void ApplyTrapeziodalRule(double startX, double endX, int numberOfIntervals, double a, double b, double c)
{
double increments = Convert.ToInt32(Console.ReadLine());
double[] xPoints = ComputeQuadraticValues(startX, increments, numberOfIntervals, a, b, c);
//double[] values = a * Math.Pow(xPoints[i], 2) + b * xPoints[i] + c;
//double y = xPoints.Sum();
/*for (int i = 0; i < numberOfIntervals; i++)
{
}*/
//Console.WriteLine(y + " sum");
}
현재 세 번째 방법에 문제가 있습니다. ComputeQuadraticValues()
의 double 배열은 x0, x1, x2 등입니다. 어떻게이 배열을 사용하여 (y0 + 2 * y1 + 2 * y2 + ...... + 2 * yn + y (n + 1)))?
힌트 또는 도움말을 보내 주시면 감사하겠습니다.
정말 고마워요! 나는 또 다른 접근법을 시도했다. (그래도 여전히 확인이 필요하다.) y 배열을 출력하기 위해 "out"을 사용하고 세번째 방법을 사용한다. 나는 매우 감사한다! –