早教吧作业答案频道 -->数学-->
x-sinx的迭代方程怎样编写程序?x初始值为x=zeros(1,100).x具有下式关系:x(1,1+i)-sin(x(1,1+i))=0.5+x(1,i)-sin(x(1,i)).经过这个算式迭代运算以后,x矩阵是多少?这个迭代式子该怎么编写?
题目详情
▼优质解答
答案和解析
'程序可以继续完善的:
'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
'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
看了 x-sinx的迭代方程怎样编...的网友还看了以下:
求等额分付终值公式推导过程若已知每年的等额年值A,欲求终值FN,可把等额序列视为N个一次支付的组合 2020-06-16 …
长度为100的一维矩阵a,若a(i)小于阈值,用其前后各两个值的均值代替,求最简单的c程序共四个值 2020-06-27 …
C程序计算表达式i+=i-=i*i的值编写C程序,完成如下运算:当i=10时,计算表达式i+=i- 2020-07-23 …
%%计算核矩阵fori=1:m;forj=1:m,K(i,j)=exp(-norm(A(i,:)- 2020-07-23 …
矩阵,行列式求值已知实矩阵A=(aij)3*3满足条件:(1)aij=Aij,Aij是aij的代数 2020-08-03 …
设A为三阶矩阵,已知|I+A|=|2I-A|=|I-2A|,证明:A可相似于对角矩阵,并写出相应的对 2020-11-01 …
设A为3阶方阵且行列式|I-A|=|I+A|=|2I-A|=0,(其中I为3阶单位阵).A*为A的伴 2020-11-01 …
i为int型变量,且初值是3,有表达式i=(a=5,b=10)+(i+=b,b+=a),表达式的值是 2020-11-01 …
线性代数设A为正交矩阵,I+A可逆,证明:(1)(I-A)(I+A)^(-1)可交换(2)(I-A) 2020-11-06 …
线性代数证明题A为n阶正定矩阵I为单位矩阵证明A+I的行列式|A+I|>1 2020-11-17 …