精确值只能用数学的方法,先求导数,然后解方程
一定要用编程的方法嘛,用个循环,步长足够小,但是也不够精确,因为这个函数在(-10,10)区间里有很多极点。判断极点比较麻烦。
例子你看看
Private
Sub
Command1_Click()
Dim
x
As
Double,
y
As
Double,
Ymax
As
Double,
Ymin
As
Double,
Xmax
As
Double,
Xmin
As
Double
y
=
Sin(-10)
-
314
Cos(-10)
-
6
Ymax
=
y
Ymin
=
y
Xmax
=
-10
Xmin
=
-10
For
x
=
-10
To
10
Step
00001
y
=
Sin(x)
-
314
Cos(x)
-
6
If
y
>
Ymax
Then
Ymax
=
y
Xmax
=
x
End
If
If
y
<
Ymin
Then
Xmin
=
x
Ymin
=
y
End
If
Next
"当X="
&
Xmin
&
"时,最小值是:"
&
Ymin
"当X="
&
Xmax
&
"时,最大值是:"
&
Ymax
End
Sub
首先这是个变量名,名字本身并不具有实际意义,完全由编程者根据自己的喜好设定(当然要符合VB的命名规则)。就好比问“姚明是什么意思”一样。
其次,英文的“临时”是“temporary”,所以通常用tmp或temp来作为临时变量名。
双击command1,写下
dim a as string
dim amax as integer,temp as integer
a=trim(text1)'去除text1中的空格,将值赋给a
amax=0'设置amax的初值,因为是找最大值,所以取0
for i=1 to len(a)'循环,从1到a的长度
temp=val(mid(a,i,1))'从a中第i个位子取一个数
if temp>=amax then amax=temp'和最大值比较
next i
text2=amax
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)