當前位置:首頁 » 編程軟體 » 切線編程序

切線編程序

發布時間: 2022-05-07 03:56:37

1. VB編寫程序,用牛頓切線法求方程f(x)= x^2-x-8=0(其中^表示 冪運算)在區間[3,4]上的近似實根r,迭代

'程序可以繼續完善的:
'1、如果指定區間無解,怎麼辦
'2、迭代過程跳出了指定區間,怎麼辦
'3、如何使用界面直接輸入方程式

Private Sub Command1_Click()
Dim 上限 As Single, 下限 As Single, 誤差 As Single, 自變數 As Single, k As Single
Const 允許誤差 = 0.0001

上限 = Val(InputBox("請輸入區上限", , 4))
Do
下限 = Val(InputBox("請輸入區下限", , 3))
If 下限 < 上限 Then Exit Do
MsgBox "上、下限不匹配!", vbExclamation
Loop

誤差 = 上限 - 下限
自變數 = 誤差 / 2 + 下限
Do Until 誤差 < 允許誤差
k = 導數(自變數)
If k = 0 Then
自變數 = 自變數 + 允許誤差
Else
x = 自變數 - 方程(自變數) / k
誤差 = Abs(自變數 - x)
自變數 = x
End If
Loop
Print "從區間("; 下限; ","; 上限; ")出發,求得方程近似解為:"; 自變數
Print "估計誤差小於:"; 誤差
End Sub

Private Function 方程(x As Single) As Single
方程 = (x - 1) * x - 8
End Function

Private Function 導數(x As Single) As Single
導數 = 2 * x - 1
End Function

2. 程序化里怎麼寫切線

看到你的提問真讓我想起了我的高中時代,我跟你一樣,當時拿著我姐上大學用的同濟四版的書好像還看的津津有味……其實這么長時間看過來,我覺得准責還是打好基礎,不論在什麼情況下,基礎都是最重要的,所以高等數學作為一本適當的課外讀物是最好不過了,不要把它作為一個課本去讀,愛好是好的,專業的總是令人厭煩的。高等數學主要還是為研究一元函數或者多元函數提供了方法和手段,你現在要做的不要拘泥於高等數學書上那些定理復雜的證明和推算,只要把一些重要結論記下來就可以了。而且最為重要的是要利用高等數學提供的方法去解決高中的數學問題。我就大致說說高等數學中哪些方法可以作為解高中數學題的工具。
1、簡單的積分運算也是高中數學的知識范圍,在高中階段主要用來解決圖形所圍的面積問題。不要求會用換元積分和分部積分進行復雜的積分運算。
2、求導如你所說在幾何上主要用來求切線方程。可是現在給你一個橢圓方程,讓你求它的切線,不知道你是否感覺有些困難了,高中數學中的圓錐曲線方程是屬於隱函數的,所以對於這一塊的求切線需要用到高等數學的隱函數求導,這一塊你應該多看一下。升到高三你就會發現導數在高中階段主要還是用來研究函數,很多題包括不等式的證明都可以構造一個函數,從而轉化為求函數的極最值問題,要用到導數的知識,說到導數,你可以試一試研究二階導數,對於研究函數的圖像很有幫助。
3、微積分在高中還有一些比較特殊的應用,比方說數列求和,不等式證明等等,當然這得需要你不斷去摸索。有需要我也可以給你寫幫助。
4、不要去記什麼克萊姆法則,克萊姆法則是給計算機用的程序化解法,去解一次方程組,我相信你有更好的方法。線性代數確實要好好學,矩陣在各學科應用都是最廣的,可是不是你現在要做的。學有餘力要多練自己的薄弱環節。

3. C++編程 兩圓公切線問題

這個其實是個數學題目

4. 編寫程序,用牛頓切線法求方程f(x)= x^3/2+2x^2-8=0

#include"stdio.h"
#include"math.h"
int m;
float f(float x) /*求f(x)= x^3/2+2x^2-8的函數值*/
{
float y;
y=0.5*x*x*x-2*x*x-8;
return y;
}float f1(float x) /*求f(x)的導函數的值*/
{
float y;
y=1.5*x*x-3;
return y;
}float newton_dd(float x0,float e)
{
int i;
float p,p1,x;
for(i=1;;i++)
{
p=f(x0); /*牛頓迭代法的迭代式*/
p1=f1(x0);
x=x0-(p/p1);
printf("\nx=%f\n",x); /*輸出每次迭代後的x的值*/
printf("x-x0=%f\n",x-x0); /*輸出每次迭代後一個數與前一個數的差值*/
if(fabs(x-x0)<e)
break;
else
x0=x;
}
m=i;
return x;
}void main()
{
float d,x0,x;
printf("Input near root:x0="); //輸入初值
scanf("%f",&x0);
printf("Input precision:e="); //輸入精度
scanf("%f",&d);
printf("mei ci die dai hou x de :\n");
printf("mei ci die dai x-x0 de cha :\n");
x=newton_dd(x0,d);
printf("\nThe root of f(x)=0 is:x=%f\n",x);
printf("die dai ci shu:%d\n",m);
}

熱點內容
subplotpython 發布:2025-05-14 06:53:51 瀏覽:660
豎屏大屏導航工廠密碼一般是多少 發布:2025-05-14 06:49:29 瀏覽:805
如何在手機里設置無線網密碼 發布:2025-05-14 06:47:54 瀏覽:119
動態ip文件伺服器 發布:2025-05-14 06:44:22 瀏覽:890
文字分行的腳本有什麼 發布:2025-05-14 06:33:10 瀏覽:288
svn小烏龜怎麼配置 發布:2025-05-14 06:31:43 瀏覽:393
視頻播放器android 發布:2025-05-14 06:31:43 瀏覽:720
android工作室 發布:2025-05-14 06:26:00 瀏覽:658
汽車官方配置表如何下載 發布:2025-05-14 06:21:41 瀏覽:800
停車項目源碼 發布:2025-05-14 06:20:05 瀏覽:358