[其他] 即使驴子会笑偶,还是不得不问问关于C语言的反双曲正弦函数

这个函数
arcsinh x = ln [x + (x2 + 1)1/2]

google了一下,发现可以直接写作

double y;
y=arcsinh(x);

可是我的程序总显示    error     
arcsinh:     undeclared identifier:pipi:
文件头我已经引用math.h了。

谁能指点一下,问题在哪里呢?

谢谢。





[ 本帖最后由 snowgirl 于 2007-5-21 16:55 编辑 ]
人在天涯,心系祖国!
Share |
Share

自己造一个函数吧,很简单的,这个用Matlab或者Mathematica比较好

TOP

原帖由 babykatze 于 2007-5-21 18:44 发表
Since the functions are not compiled in the standard lib but in
"libm", you need to use "-lm" option when linking the code. e.g. gcc -lm filename.c -o filename


有点没看懂,再琢磨琢磨。
谢谢。
人在天涯,心系祖国!

TOP

Since the functions are not compiled in the standard lib but in
"libm", you need to use "-lm" option when linking the code. e.g. gcc -lm filename.c -o filename

TOP

忘了说谢谢驴子和大家
人在天涯,心系祖国!

TOP

原帖由 驴子 于 2007-5-21 17:24 发表
查了下,标准库的math.h里面没有直接实现arc sinh的函数

看看你的编译器的扩展函数库里有没有


mach.h里连arcsin()都没有啊?

这是我前段时间写的程序,今天没看明白,居然忘了当时是怎么想的了。
为了求解arcsinh x = ln [x + (x×x + 1)1/2],原来程序是这样写的
time_fs=arcsin(x,y);   ???当时竟然给出了两个变量!

今天验证了一下,它的结果与下面这个表达式是一样的
m=x-y;
time_fs=ln [m + (m×m + 1)1/2]

想不明白了,我只想求变量x的函数,怎么要在函数 arcsin(x,y)中输入两个变量才能得到我要的结果呢?
人在天涯,心系祖国!

TOP

原帖由 lightplanet 于 2007-5-21 17:39 发表
kann jemand mir sagen, wie man sinh, cosh auf deutsch heissen sollten.

danke im vorraus

Sinus Hyperbolicus und Kosinus Hyperbolicus
http://de.wikipedia.org/wiki/Sinus_Hyperbolicus_und_Kosinus_Hyperbolicus

大家都表吃饭只喝汤,自然会有共鸣且润肠

TOP

ganz blöde Frage

kann jemand mir sagen, wie man sinh, cosh auf deutsch heissen sollten.

danke im vorraus

TOP

查了下,标准库的math.h里面没有直接实现arc sinh的函数

看看你的编译器的扩展函数库里有没有
冬冤家,我有心将你打,却一个心儿怕;要不打,只恨你这冤家羞人煞;罢罢罢,低眉红了脸儿帕,嫁了吧!

TOP

arsinh?

大家都表吃饭只喝汤,自然会有共鸣且润肠

TOP