當前位置:首頁 » 編程語言 » c語言計算正弦函數的極值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言計算正弦函數的極值

發布時間: 2022-11-07 07:53:07

c語言正弦函數

sin值就是可以是負數。不過sin不是按角度算的,是按弧度算的。就是sin(PAI)=0;sin(PAI/2)=1。

Ⅱ C語言求正弦函數值

sin(-a)=-sin(a)
cos(-a)=cos(a)
sin(2π-a)=cos(a)
cos(2π-a)=sin(a)
sin(2π+a)=cos(a)
cos(2π+a)=-sin(a)
sin(π-a)=sin(a)
cos(π-a)=-cos(a)
sin(π+a)=-sin(a)
cos(π+a)=-cos(a)
tgA=tanA=sinAcosA
2.兩角和與差的三角函數
sin(a+b)=sin(a)cos(b)+cos(α)sin(b)
cos(a+b)=cos(a)cos(b)-sin(a)sin(b)
sin(a-b)=sin(a)cos(b)-cos(a)sin(b)
cos(a-b)=cos(a)cos(b)+sin(a)sin(b)
tan(a+b)=tan(a)+tan(b)1-tan(a)tan(b)
tan(a-b)=tan(a)-tan(b)1+tan(a)tan(b)
3.和差化積公式
sin(a)+sin(b)=2sin(a+b2)cos(a-b2)
sin(a)?sin(b)=2cos(a+b2)sin(a-b2)
cos(a)+cos(b)=2cos(a+b2)cos(a-b2)
cos(a)-cos(b)=-2sin(a+b2)sin(a-b2)
4.積化和差公式 (上面公式反過來就得到了)
sin(a)sin(b)=-12?[cos(a+b)-cos(a-b)]
cos(a)cos(b)=12?[cos(a+b)+cos(a-b)]
sin(a)cos(b)=12?[sin(a+b)+sin(a-b)]
5.二倍角公式
sin(2a)=2sin(a)cos(a)
cos(2a)=cos2(a)-sin2(a)=2cos2(a)-1=1-2sin2(a)
6.半形公式
sin2(a2)=1-cos(a)2
cos2(a2)=1+cos(a)2
tan(a2)=1-cos(a)sin(a)=sina1+cos(a)
7.萬能公式
sin(a)=2tan(a2)1+tan2(a2)
cos(a)=1-tan2(a2)1+tan2(a2)
tan(a)=2tan(a2)1-tan2(a2)
8.其它公式(推導出來的 )
a?sin(a)+b?cos(a)=a2+b2sin(a+c) 其中 tan(c)=ba
a?sin(a)-b?cos(a)=a2+b2cos(a-c) 其中 tan(c)=ab
1+sin(a)=(sin(a2)+cos(a2))2
1-sin(a)=(sin(a2)-cos(a2))2
csc(a)=1sin(a)

sec(a)=1cos(a)

Ⅲ 怎麼用c語言編正弦函數計算

  1. 樓上的各位已經提到了scanf輸入控制與目標數據類型不匹配的問題,即應改為:scanf("%f",&n);

  2. 另外三樓有提到說角度與弧度的問題,就是說sin()和cos()輸入需要保證為弧度,所以你需要轉換一下,比如你這個90度就應該約是1.57。

  3. 其實我覺得應該弄清楚的是為什麼在輸入控制錯誤的情況下,還會產生這樣的結果。

    這是因為輸入控制錯誤,導致n的值沒有變化,也就是說後邊計算正弦餘弦的時候也是計算的n的初始值。你可以在先不改正輸入控制的前提下,在輸入語句前加一個輸出語句,看看n值為多少,如果沒猜錯的話,應該是0,進而計算的結果也當是正確的。也許你要問了,不是說局部變數自動變數未初始化的話值是隨機值么,怎麼會是0呢?是的,我也很納悶,也許適合具體的編譯環境有關吧,不同的編譯環境對這種情況可能處理會有所不同吧,留待自己去探究咯~

    希望能幫到你~歡迎交流~

Ⅳ c語言,如何求出正弦值最大的4位正整數,sinXXXX的最大值。要完整代碼

#include <stdio.h>
#include <math.h>
int main()
{
double pi = atan(1.0) * 4;
int i,n;
double a;
printf("%g\n",pi);
for (i=1000;;i++){
a = pi/2.0 + 2.0*i*pi;
if ( a > 9999.5){n=i; break;};
}
printf("max is %d\n", (int)(pi/2.0 + 2.0*(n-1)*pi));
return 0;
}
正弦值最大 發生在 pi/2.0 + 2*n*pi 弧度時。pi 是圓周率。
最大的4位正整數,即 弧度值 接近並未超過 9999.5 時的值。
程序得到 9998.118620 取整數部分:9998

Ⅳ 怎樣求正弦復合函數的極值

正弦函數的極值在π/2+kπ時有極大值和極小值,所以正弦復合函數的極值只要找定義域內符合這個條件的值

Ⅵ 怎樣用c語言編寫一個程序用來輸出正弦函數值

首先:程序應該這樣改!
#include
#include
main()
{
double
n;
double
b,c;
scanf("%lf",&n);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
其次,這里的n是弧度值,你說的90度應該輸入的是pi/2,而不是90,如果希望輸入90的話,那就這樣改!
#include
#include
main()
{
int
s;
double
n,b,c;
scanf("%d",&s);
n=3.1415926*(s/180.0);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}

Ⅶ C語言求正弦函數的極值點,下面的程序輸入的大一些會死循環,求解釋

樓主的演算法在數學上是沒有問題的,但在計算機上就不一樣了.
x和x+h完全可能相等,
當x+h==x+0並且y(x-h)==y(x+h),然後就是死循環了.
建議樓主把程序中的float都換為double再試一試.
或者把&&y(x-h)<y(x+h)換成&&y(x-h)<=y(x+h).
再者,我搞不明白bool
bRet存在的意義是什麼,望樓主釋疑.

Ⅷ 如何用C語言求正弦函數,要求精確到小數點後六位

/*泰勒公式求sin(x)*/
#include<stdio.h>
#include <math.h>
main()
{
double x,s1,e,s=0;
int n=1;
printf("輸入x和誤差范圍e:\n");
scanf("%lf %lf",&x,&e);/*誤差上限e要盡量取小,如取e為0.0000001。這里我們將e取為0.000001*/
s1=x;
do
{
s+=s1; /*s1為中間變數*/
s1=-s1*x*x/(n+1)/(n+2);
n+=2;
} while (fabs(s1)>=e);/*fabs為對實數求絕對值的函數*/

printf("x=%lf\nsin(x)=%lf\n",x,s);

}

Ⅸ C語言sin怎麼用

C語言sin()用來計算參數x 的正玄值,然後將結果返回。返回-1 至1 之間的計算結果。

例子:

#include <math.h>

main(){

double answer = sin(0.5);

printf("sin(0.5) = %f ", answer);

}

執行

sin(0.5) = 0.479426

C語言sin():

sin()原型:double sin(double x)

sin()角度與弧度:

π=180°

1°=π/180

1(rad)=180/π

角度轉弧度:用角度乘以π/180

弧度轉角度:用弧度乘以180/π,或者用rtod()函數

(9)c語言計算正弦函數的極值擴展閱讀:

與sin相似的acos函數

函數名: acos

功 能:計算並返回arccos(x)值、要求-1<=X<=1

函數與形參類型:

double acos(x)

double x;

程序例:

#include <stdio.h>

#include <math.h> int main(void)

{

double result;

double x = 0.5; result = acos(x);

printf("The arc cosine of %lf is %lf ", x, result);

return 0;

}

Ⅹ c語言如何計算正弦值

C語言中有個 math.h 這個頭文件,使用數學公式時,引入這個頭文件即可
比如計算正弦值
double ds = sin(45); //直接調用
或者計算 a的b次冪
double dp = pow(a,b); //直接調用非常方便