当前位置:首页 » 编程软件 » 切线编程序

切线编程序

发布时间: 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);
}

热点内容
connectorpython 发布:2025-05-14 09:48:50 浏览:762
配置不好怎么办 发布:2025-05-14 09:46:40 浏览:622
数据流程图中的数据存储是指 发布:2025-05-14 09:46:39 浏览:445
我的世界服务器id前缀mod 发布:2025-05-14 09:45:53 浏览:830
完整后台网站源码 发布:2025-05-14 09:45:46 浏览:455
传奇祝福脚本 发布:2025-05-14 09:34:12 浏览:571
电脑文件加密的软件 发布:2025-05-14 09:29:20 浏览:354
扩展数据库表空间 发布:2025-05-14 09:29:10 浏览:642
mongo存储过程 发布:2025-05-14 09:27:54 浏览:715
服务器的公网ip在哪看 发布:2025-05-14 09:18:30 浏览:253