그래서 커브 아래 영역을 계산하는 주 함수를 만들려고합니다. 나는 각각 다른 방식으로 영역을 계산하는 3 개의 개별 함수를 가지고 있습니다 : 함수 1은 사다리꼴 규칙을 사용하여 계산하고, 함수 2는 Simpsons 규칙을 사용하여 계산하고 함수 3은 가우스 구적법을 사용하여 계산합니다. 나는 각각의 개별 프로그램을 잘 작동시키고 있었고 이제는 main에서 function으로 변경하여 "numericalIntegration"이라는 별개의 메인에서 호출하려고합니다.C에서 외부 함수를 호출
지금까지 내 주요 위해 가지고 :
나는 세 가지 별도의 기능을 포함거야하지만 지금은 그들을 제외 것이 짧은 게시 유지하기 위해 필요한 경우#include <math.h>
#include <stdlib.h>
#define pi 3.1415927;
void TrapezoidRule(float area);
void SimpsonsRule(float area);
void GaussQuadrature(float area);
int main() {
int userInput, N;
float area, error;
printf("Choose which method to use to calculate the area of the function sin(x) from 0 to pi:\n");
printf("Enter 1 to use the Trapezoid Rule, enter 2 to use Simpson's Rule, enter 3 to use Gauss' Quadrature.\n");
scanf("%d", &userInput);
printf("\nEnter the number of intervals to use to calculate the area.\n");
scanf("%d", &N);
if (userInput == 1) { //Call Trapezoid rule function
TrapezoidRule(area);
}
if (userInput == 2) {
SimpsonsRule(area);
}
if (userInput == 3) {
GaussQuadrature(area);
}
//Print the area calculated using the chosen method
return 0;
}
. 그들은 서로라고 : 나는 를 컴파일 할 때 내가 갖는
void TrapezoidRule(float area) {
void GaussQuadrature(float area) {
void SimpsonsRule(float area) {
한 오류 (icc -o num numericalIntegration.c GaussQuadrature.c TrapezoidRule.c SimpsonsRule.c
사용) 는 사다리꼴 규칙과 심슨의 규칙이 모두 라디안으로 변환하는 그들에 작은 기능을 사용하는 것이이다 나는 수치 적 통합에서 적절히 부름 받고 있지 않다고 생각한다.
그래서 여기 내 구체적인 질문은 다음과 같습니다
- 이 방법은 메인에있는 함수를 호출 맞습니까?
- 도를 라디안으로 만들면 헤더 파일을 주 기능에 포함시켜야합니까? 나는 ...
UPDATE이 작업을 수행하는 방법을 잘 모르겠어요 : 내가지고있어 오류가 말한다 : 1 오류 : 2 오류 " 'degtorad'의 여러 정의"처음 여기에 정의 된
제가 degtorad 함수를 헤더 파일로 만들 필요가 있다고 생각하지만이 방법을 모릅니다.
산문에 오류 메시지를 설명하지 마십시오. 컴파일러에서 생성 한 100 % 잘라내어 붙여 넣기하십시오. * 미해결 된 상징 * 같은 것을 말하고 있습니까? – Jens
'pi'를 정의 할 필요가 없으며,''는 이미'M_PI'을 가지고 있습니다 - 최소한해야합니다. –
drahnr
'M_PI'는 표준이 아닙니다. –