找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 子子61961

在日本做机械设计的感受23:一道计算题的回帖

   火... [复制链接]
发表于 2016-2-15 12:48:43 | 显示全部楼层
关注
发表于 2016-2-15 14:51:40 | 显示全部楼层
非常感谢你的分享,上来就学了一手单变量求解!!!0.329784444989256
发表于 2016-2-15 15:05:59 | 显示全部楼层
谢谢分享
发表于 2016-2-15 15:16:40 | 显示全部楼层
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。6 ~3 A% l/ h/ [6 T4 J5 F
也谢谢大侠的单变量求解。
发表于 2016-2-15 15:27:18 | 显示全部楼层
大侠,学习了。
/ A. P, s& O, P; Y关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。: t5 R/ E" N  P% K  }8 T- |
温习并熟练了单变量求解。. C5 n9 I! g0 k! A5 |' J' |$ f+ x
附图为我的计算结果:精度好像不太高,正在想方法解决。
单变量求解(方法).JPG

评分

参与人数 1威望 +1 收起 理由
子子61961 + 1 谢谢您的认真回复。

查看全部评分

 楼主| 发表于 2016-2-15 15:47:01 | 显示全部楼层
点滴积累 发表于 2016-2-15 16:27 & K; N. E, T. y5 p
大侠,学习了。  _, e% U) P( b: x
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...

* S2 M. t( V6 K% P感谢您的认真回帖。
: M  o+ y; D$ r& t6 W; F9 e关于管理方面的问题,其实可以考虑为两个方面。3 B; `' d) R# w7 L3 j
一方面是从上向下的监视和修正,
" v( I" m% C6 F/ K0 ?* k一方面是从下层开始的自省和改善。
& g" \5 ?5 P; s: \* h5 E  |5 `( u中国提到的管理,往往更偏向于前者,
2 h- @3 w0 {9 ]  |% m/ E/ J5 o而日本的管理,其实是后者做得更好一些,6 S9 c4 P( ?* }7 z$ I  L
所以在日本,从上层向下的管理会轻松一些。( z- `* ?8 G- g3 K/ v5 R2 s) {
以前在第二话的文章里面写过一点,以后考虑也继续写一些。0 M6 a# N) }6 a. z% d7 B1 R  q

5 w$ \  a' V( m$ Q关于单变量求解,它有计算的设定。
& d* d& @8 m7 ]3 p# N在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
+ B( J5 o5 d( P# Q# q+ r- L7 W5 C5 r8 f, r# Y( V( P6 v
option.JPG
; ~7 z" _/ L/ y2 l8 J(抱歉手边现在只有日文电脑,可以看里面的汉字参考)9 b& l) h3 p8 \; X3 `$ C
* ?/ i! e9 _( \$ i9 }, Y; r8 ?
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。" q6 x+ G" t) v6 _! C( C
将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。
: Y" f+ n- H7 k! ^
$ t! `: h* ~: ?6 S( P  [3 L3 f7 A* o另外,如何选取可变单元格也是一个因素。
, T3 x4 [7 t/ `% P/ s如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。
2 L4 k1 N- C, p+ ?; c. K% B( i& l如果选择使用角度,就是在18.8左右每次变化0.001进行求解。" o) G# y8 {7 I. J1 c. T
其收敛的速度是不同的。9 q# h) E! t4 v( A$ T0 [0 D

点评

500,500,500,300,200  发表于 2016-2-18 13:19
发表于 2016-2-15 16:06:37 | 显示全部楼层
子子61961 发表于 2016-2-15 15:47 ( }1 y) ~2 Q9 P3 a6 }5 L
感谢您的认真回帖。
3 a' a8 P5 S' C4 @8 {% V关于管理方面的问题,其实可以考虑为两个方面。+ r! O9 l1 }6 N# L  S
一方面是从上向下的监视和修正,
7 y" I4 x& j2 ~, Q
大侠,中文版,呵呵
单变量求解(方法)精度问题.JPG

点评

THANKS~  发表于 2016-2-15 16:23
发表于 2016-2-15 17:06:51 | 显示全部楼层
本帖最后由 andyany 于 2016-2-15 17:08 编辑 + Y' Y2 k7 [+ [# L; R5 ~
0 K( Z3 H0 h9 |# n- i) Z: Z5 A
据我所碰到的,国内的交流能力都很低。
7 \0 _3 \7 o/ I( P1
& C5 U8 \+ a# @当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。: u( N* j# Q1 J0 W4 m$ u4 {; B
但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。
+ {1 J" J! P! O. U$ }/ Q21 m: k0 l6 X6 {9 l2 U
你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

参与人数 1威望 +1 收起 理由
子子61961 + 1 谢谢分享!

查看全部评分

发表于 2016-2-15 19:15:28 | 显示全部楼层
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
发表于 2016-2-15 19:51:33 | 显示全部楼层
AC-arctan(AC/80)*80=1是数学问题。
3 k+ t3 v2 V; C8 }% _( C$ @子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。
8 d. S; j1 n% ?. u9 y( r6 d7 j8 L---------------------------------------------------------------------------------------------------------------------------------------1 U' M; d. [; q, ~4 H3 [
定义待求解函数:6 J1 Z7 ^! U; U. d% t" q
Public Function QesFun(ByVal Var_AC As Double) As Double
+ }; G  h- C* `4 K: E+ ^2 l( u% E  A) T9 x" \4 f; f& i0 S) b
               QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 18 _+ f: e& o5 J8 T; B% z

- n; i9 X- p6 \+ }% A# v- D, x  \End Function
, B9 r' a0 i9 [0 g+ I" Q, o3 m% {  d9 ^% Y--------------------------------------------------------------------------------------------------' e8 x/ P3 _+ W( ~( _- _
1.        二分法7 g/ q+ @4 N7 P0 m; ~
1.1  由      Arctan(AC/80)=(AC-1)/80
/ c3 T7 N8 c1 Y/ z, F! @      知      -PI()/2<(AC-1)/80< PI()/2
- l- H4 u' q. C( ~0 s     即     1 -80*PI()/2<AC<1+ 80*PI()/2
4 q' o. _/ o5 P3 @" P++++++++++++++++++++++++++++++++++++++
, i- t% _( @; \  i1.2定义求解函数:  m0 `, g6 i4 G4 G; N5 w: ~
Public Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double: ^& S, l& V" ]% q* x7 P- W
: N: W# C6 J0 |* Y4 ?0 @& G4 |
Dim Res#, VarAdj#
+ x3 a/ i% S2 `, l9 U5 f( E/ H& P4 o8 W3 z& X0 ?, U& O# |
VarAdj = 10 ^ -6- f& |% a# y6 K8 n' C
1 b# ]* u2 h, Y
If QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then
, z/ d+ i; x& [4 t5 B
7 L. Y( S& u2 X. [; S0 Q* Z4 ^. O7 m  x      Do While (1)) Q8 v. k: y$ a0 J3 R* I

3 Z. d7 u5 h" M( d- y+ N$ _* b              Res = (MaxLim + MinLim) / 26 F: S6 d  _' |8 S  U7 L
7 R! E, _8 Y" D: ?& h  }
               If Abs(QesFun(Res)) <= 10 ^ -12 Then/ i2 j" {! T, X0 _0 s3 o& z

6 {0 d: X' j5 p' o                       SolFunDic = Res: Exit Do
5 `% ~; d# ?+ e# J7 O4 Q' m# v( u. W4 I+ Y# [5 [
              ElseIf (QesFun(Res) < 0) Then
$ h8 h7 h6 i* y; k* n# i
( T5 D  s! A" a4 l' r. D/ X# T                      MinLim = Res
3 G- G0 U  k  Q) n/ K; m+ x
5 T8 k+ X% F! ]9 _             Else
, F  i8 A8 X& J2 A0 F4 @
9 Z$ I. e+ U0 Z( f! T                     MaxLim = Res
' C$ A  v& S; _' a: W. @" N
) Z! L- K8 k1 I             End If: L8 _7 [. c6 C  u
            
9 e) f! y' V7 n/ i# l( z4 R      Loop. A$ a# V+ F3 [3 n& V. ~, Q

6 ~! ^: {# c$ _( oElse+ N# u0 h+ p* f% |9 n
9 k% T& P3 B1 ?2 s; q
     Do While (1)
5 K" @+ e! x8 {4 w     + X# \9 u- x* U6 l/ v  j
               Res = (MaxLim + MinLim) / 2
/ {/ ~3 w! j5 C- x, ]* N3 {! n" K' }
) G! P' d  F$ ^; ?! Z$ a# g/ W; F             If Abs(QesFun(Res)) <= 10 ^ -12 Then9 x" w8 g  J; M

# G2 t. ]6 |  {                        SolFunDic = Res: Exit Do; f$ `( ~3 w1 C) b+ l% V) j

5 p/ C5 ]; I8 |, X1 o              ElseIf (QesFun(Res) > 0) Then
- n! T/ E. X0 r) p, T) f! }1 ^1 {/ r
                        MinLim = Res
& t* e* {! V' f1 f5 ~2 u9 m2 G; E, m& Z3 ^! ]9 A8 l
              Else
% D4 S; }" z1 R" Q. Y  E0 e7 a2 ^9 L- q4 ^0 h
                         MaxLim = Res' a4 `% H! ?7 a3 Q
. h2 n3 k" t8 n7 Q2 Q
            End If# D" T: E( b: p1 t  f
            5 s9 j  k) K! Z  }& z, |+ z" W! I
      Loop, [4 V' J/ w; A, Q3 N
      
; O$ O. f5 }4 H0 m# B% C9 oEnd If$ w% \& A& v  t/ p7 y; B/ j9 K8 h
End Function# J& a  O: l7 U% Q7 l- A6 h
--------------------------------------------------------------7 d  ~, C, C5 _9 X$ D& }1 S
2.        牛顿法
' l( F: X' p3 o( a2.1     由      f(AC)=arctan(AC/80)*80+1-AC4 C2 a) p3 v2 S) K
        求导     f(AC)’=1/(1+(AC/80)^2)-1' O( i# z: P, l7 Z! {- U/ g$ s; e
        即      AC_1=AC_0- f(AC)/ f(AC)’3 D% r4 \# s0 l4 D8 Y1 L$ ^3 j3 K
--------------------------------------------------------------8 y5 L, C+ D- p8 s0 D8 d0 l  A
2.2定义迭代函数:
; Z& g2 |" m2 v# WPublic Function QesFunNew(ByVal Var_AC As Double) As Double8 l( y7 [% h# J  F% f: q) [

) c/ q  G4 O9 _              QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)
) y( c6 s: \' B# T2 E3 e) j              1 T: w/ y+ L1 ]/ _* t
End Function9 I' ?2 w1 g6 F& z9 c+ t
---------------------------------------------------------------
2 @+ F6 N  x0 Q' e/ ?6 M1 S. Y2.3定义求解函数
% X2 L- b- {$ p7 h7 ~+ {8 M7 jPublic Function SolFunNew(ByVal IniAC As Double) As Double: \" T- D, H9 l. G+ k+ b
! H1 v9 ^: w4 g- P# a; A) \
Dim Res#( {7 f) q; T0 C

' R/ p* @7 R2 dDo While (1)
7 _! n; J0 r  z! w: @5 y8 Z
; z) M5 A1 A' o( P4 w8 `" T, Z; Z                  Res = QesFunNew(IniAC)
8 G2 s. Y. w0 B0 p2 |% t8 F- t+ U- H8 R" b
                   If Abs(QesFun(Res)) <= 10 ^ -12 Then
! T6 t; v1 z+ {+ v1 U  9 r: A$ `3 c( u- F1 B1 P; U8 x
                                   SolFunNew = Res: Exit Do0 {9 D. l2 ~7 Z+ N, ~* ?( I
  1 A8 ~6 c0 J2 v: f, y+ [
                   Else
" I- E7 o/ r4 n5 M                  
* L* O8 t0 V3 q                                     IniAC = Res
. J' l8 a4 Q/ Q: u                  ; M3 t; V8 E& M; h* m" N
                  End If) M& _3 `+ a: m8 M
" y7 M- U$ n$ I4 g1 s
Loop, q. I4 o+ |+ O' b1 u6 ~  a8 E/ a
----------------------------------------------------------------------------------------------------------% g5 i4 y# o" H9 V
% X/ X) a* C) N3 R! R
这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。  x# S0 X8 B) Z! K4 e

3 [- M+ O% G1 d' R1 p# T3 `

点评

我的天啦,我的圈子里没有一个会写这样完整计算程序的人。  发表于 2021-5-10 17:28
佩服佩服!  发表于 2016-2-22 10:14

评分

参与人数 3威望 +3 收起 理由
mbampa1234 + 1 思想深刻,见多识广!
一朵娇粉嫩的花 + 1 不觉明历,俺当时学Fortran 90就是0分。。
子子61961 + 1 专业精湛,谢谢分享!

查看全部评分

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-17 05:29 , Processed in 0.068943 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表