역삼각함수란 삼각함수의 역함수를 의미하고,
역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다.
수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데,
Objective-C 언에에서는 C 언어나 C++ 언어에서 처럼 asin 함수로 구현되어 있다.
아래의 소스는 C 언어용 소스를 아두 조금 고친 것으로서, 윈도우용 Dev-CPP IDE 에서 Ctrl+F11 을 클릭하면 캄파일되는 소스이다.
* Filename: testArcSine.m
*
* Compile: Click Ctrl+F11
*
* Execute: testArcSine
*
* Date: 2013. 1. 1.
* Copyright (c) pkim _AT_ scripts.pe.kr
*/
#import <Foundation/Foundation.h> // for exit()
#import <stdio.h>
#import <string.h>
#import <math.h>
double asinh(double x) {
double y = log(x + sqrt(x*x + 1));
return y;
}
double acosh(double x) {
double y = log(x + sqrt(x*x - 1));
return y;
}
typedef struct _PAIR {
double x1;
double x2;
} PAIR;
void printUsing() {
printf("Using: testGoldenRatio [-h|-help]\n");
printf("This calculates the value of the golden ratio.\n");
}
// 이차방정식 a x^2 + b x + c = 0 의 근을 구한다.
PAIR *findQuadraticRoot(double a, double b, double c) {
static PAIR zeros;
if (a == 0.0) {
fprintf(stderr, "Since the highest coefficient is zero, the given equation is not a quadratic equation.\n");
exit(1);
}
else if (b*b - 4*a*c < 0.0) {
fprintf(stderr, "Since the discriminant %f is negative, the given equation has no real root.\b", b*b - 4*a*c);
exit(1);
}
zeros.x1 = (-b + sqrt(b*b - 4*a*c)) / (2.0 * a);
zeros.x2 = (-b - sqrt(b*b - 4*a*c)) / (2.0 * a);
return (PAIR *)&zeros;
}
void main(int argc, const char *argv[]) {
double u, v;
double x = -0.9;
double y = asin(x);
printf("y = asin(%g) = %.9f\n", x, y);
printf("sin(y) = sin(%.9f) = %g\n", y, sin(y));
printf("\n");
x = 1.1;
u = acosh(x);
printf("u = acosh(%g) = %.10f\n", x, u);
v = asinh(x);
printf("v = asinh(%g) = %.10f\n", x, v);
printf("cosh(u) = cosh(%.10f) = %g\n", u, cosh(u));
printf("sinh(v) = sinh(%.10f) = %g\n", v, sinh(v));
}
/*
Output:
y = asin(-0.9) = -1.119769515
sin(y) = sin(-1.119769515) = -0.9
u = acosh(1.1) = 0.4435682544
v = asinh(1.1) = 0.9503469298
cosh(u) = cosh(0.4435682544) = 1.1
sinh(v) = sinh(0.9503469298) = 1.1
*/
'프로그래밍 > Objective-C' 카테고리의 다른 글
스트링 배열 정렬(sorting)하기 with Objective-C (0) | 2012.05.02 |
---|---|
손으로 계산하는 긴자리 곱셈표 만들기 with Objective-C (0) | 2012.05.01 |
손으로 만드는 나눗셈 계산표 with Objective-C (0) | 2012.05.01 |
삼각형 출력 예제를 통한 여러 가지 소스 비교 with Objective-C (0) | 2012.05.01 |
7비트 ASCII 코드표 만들기 예제 with Objective-C (0) | 2012.05.01 |