laotounihao
发表于 2016-2-15 12:48:43
关注
eastking1111
发表于 2016-2-15 14:51:40
非常感谢你的分享,上来就学了一手单变量求解!!!0.329784444989256
bbk1
发表于 2016-2-15 15:05:59
谢谢分享
钢铁侠2014
发表于 2016-2-15 15:16:40
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。
也谢谢大侠的单变量求解。
点滴积累
发表于 2016-2-15 15:27:18
大侠,学习了。
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。
温习并熟练了单变量求解。
附图为我的计算结果:精度好像不太高,正在想方法解决。
子子61961
发表于 2016-2-15 15:47:01
点滴积累 发表于 2016-2-15 16:27 static/image/common/back.gif
大侠,学习了。
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...
感谢您的认真回帖。
关于管理方面的问题,其实可以考虑为两个方面。
一方面是从上向下的监视和修正,
一方面是从下层开始的自省和改善。
中国提到的管理,往往更偏向于前者,
而日本的管理,其实是后者做得更好一些,
所以在日本,从上层向下的管理会轻松一些。
以前在第二话的文章里面写过一点,以后考虑也继续写一些。
关于单变量求解,它有计算的设定。
在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
(抱歉手边现在只有日文电脑,可以看里面的汉字参考)
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。
将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。
另外,如何选取可变单元格也是一个因素。
如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。
如果选择使用角度,就是在18.8左右每次变化0.001进行求解。
其收敛的速度是不同的。
点滴积累
发表于 2016-2-15 16:06:37
子子61961 发表于 2016-2-15 15:47 static/image/common/back.gif
感谢您的认真回帖。
关于管理方面的问题,其实可以考虑为两个方面。
一方面是从上向下的监视和修正,
大侠,中文版,呵呵
andyany
发表于 2016-2-15 17:06:51
本帖最后由 andyany 于 2016-2-15 17:08 编辑
据我所碰到的,国内的交流能力都很低。
1
当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。
但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。
2
你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。
408465954
发表于 2016-2-15 19:15:28
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
ngsxngtd
发表于 2016-2-15 19:51:33
AC-arctan(AC/80)*80=1是数学问题。
子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。
---------------------------------------------------------------------------------------------------------------------------------------
定义待求解函数:
Public Function QesFun(ByVal Var_AC As Double) As Double
QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 1
End Function
--------------------------------------------------------------------------------------------------
1. 二分法
1.1由 Arctan(AC/80)=(AC-1)/80
知 -PI()/2<(AC-1)/80< PI()/2
即 1 -80*PI()/2<AC<1+ 80*PI()/2
++++++++++++++++++++++++++++++++++++++
1.2定义求解函数:
Public Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double
Dim Res#, VarAdj#
VarAdj = 10 ^ -6
If QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then
Do While (1)
Res = (MaxLim + MinLim) / 2
If Abs(QesFun(Res)) <= 10 ^ -12 Then
SolFunDic = Res: Exit Do
ElseIf (QesFun(Res) < 0) Then
MinLim = Res
Else
MaxLim = Res
End If
Loop
Else
Do While (1)
Res = (MaxLim + MinLim) / 2
If Abs(QesFun(Res)) <= 10 ^ -12 Then
SolFunDic = Res: Exit Do
ElseIf (QesFun(Res) > 0) Then
MinLim = Res
Else
MaxLim = Res
End If
Loop
End If
End Function
--------------------------------------------------------------
2. 牛顿法
2.1 由 f(AC)=arctan(AC/80)*80+1-AC
求导 f(AC)’=1/(1+(AC/80)^2)-1
即 AC_1=AC_0- f(AC)/ f(AC)’
--------------------------------------------------------------
2.2定义迭代函数:
Public Function QesFunNew(ByVal Var_AC As Double) As Double
QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)
End Function
---------------------------------------------------------------
2.3定义求解函数
Public Function SolFunNew(ByVal IniAC As Double) As Double
Dim Res#
Do While (1)
Res = QesFunNew(IniAC)
If Abs(QesFun(Res)) <= 10 ^ -12 Then
SolFunNew = Res: Exit Do
Else
IniAC = Res
End If
Loop
----------------------------------------------------------------------------------------------------------
这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。
页:
1
[2]
3
4
5
6
7
8
9
10
11