找回密码
 注册会员

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 | 显示全部楼层
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。+ D  h, Q( g- C8 w' H' y* n
也谢谢大侠的单变量求解。
发表于 2016-2-15 15:27:18 | 显示全部楼层
大侠,学习了。: W  J' Y0 D( a# p* t
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。6 b$ g  p5 t- L" [& p
温习并熟练了单变量求解。0 \; `/ T5 Q8 w" a! V# h8 q# i
附图为我的计算结果:精度好像不太高,正在想方法解决。
单变量求解(方法).JPG

评分

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

查看全部评分

 楼主| 发表于 2016-2-15 15:47:01 | 显示全部楼层
点滴积累 发表于 2016-2-15 16:27 ) @: o$ s; ~9 `- J
大侠,学习了。: }# S4 C% K# o1 M6 J
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...
# E: i5 n) F2 ^& i6 `2 N6 G
感谢您的认真回帖。+ C/ @  u: K  q
关于管理方面的问题,其实可以考虑为两个方面。
( n- H, ^( ^( Z" g* m1 l一方面是从上向下的监视和修正,
1 `) }+ i' t! w- ~一方面是从下层开始的自省和改善。9 d" K+ ^+ ^' B8 ?9 D+ G' g$ I# ]3 n4 [
中国提到的管理,往往更偏向于前者,, z3 [, d& j$ P9 S; \: F
而日本的管理,其实是后者做得更好一些,7 A5 X0 `" ?7 G% c. o7 t  {2 Q
所以在日本,从上层向下的管理会轻松一些。/ A2 u+ [$ Y2 _
以前在第二话的文章里面写过一点,以后考虑也继续写一些。
) h$ g. o5 j5 I
" T* v/ f+ ^, |. P" t, G0 @关于单变量求解,它有计算的设定。$ ]3 y8 R6 h% _; [% ], b7 r
在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
/ m  M% ?9 f4 b. Y' t0 V* G' g7 E7 K+ k( g
option.JPG 5 N& S1 d1 E9 d2 u; c
(抱歉手边现在只有日文电脑,可以看里面的汉字参考)
6 h6 b4 J$ e: |. t* A7 [$ \7 v) b9 T9 J
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。3 A4 ^, n5 Y+ @' ?- _
将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。
9 d/ z& [- `. q4 w8 O. S1 @' `* D1 v% F2 O7 Z; P: \. m
另外,如何选取可变单元格也是一个因素。
' q, s( M+ p4 ^/ F如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。
: n9 M2 J; a8 a6 @5 O4 b( L) e如果选择使用角度,就是在18.8左右每次变化0.001进行求解。
7 s) k0 n/ K0 X# B) S0 M其收敛的速度是不同的。
/ z% w  |; _0 y% A) i

点评

500,500,500,300,200  发表于 2016-2-18 13:19
发表于 2016-2-15 16:06:37 | 显示全部楼层
子子61961 发表于 2016-2-15 15:47
- A0 D+ O* d: p, f感谢您的认真回帖。
; [, W- {) B! s. n5 ^7 F& H关于管理方面的问题,其实可以考虑为两个方面。/ m' |1 D4 t0 z% q* q) H* B
一方面是从上向下的监视和修正,
$ n# i; l$ m- E/ @0 m& ~8 D9 ^# u; v
大侠,中文版,呵呵
单变量求解(方法)精度问题.JPG

点评

THANKS~  发表于 2016-2-15 16:23
发表于 2016-2-15 17:06:51 | 显示全部楼层
本帖最后由 andyany 于 2016-2-15 17:08 编辑
& v, O. k: J: l0 u2 b3 i/ d3 ~# {; N/ B8 N4 K. ]% h% M* k* u8 o
据我所碰到的,国内的交流能力都很低。
$ S9 R  k  j; O, a+ z1 ^3 n1
& `: r, X% i+ Z9 [当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。7 P/ r" U: z1 Z
但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。6 N' e5 P9 {/ w6 Y
2+ W4 A# X; }# s2 f) R5 u1 G
你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

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

查看全部评分

发表于 2016-2-15 19:15:28 | 显示全部楼层
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
发表于 2016-2-15 19:51:33 | 显示全部楼层
AC-arctan(AC/80)*80=1是数学问题。
! X5 p1 m, h; B6 c: ]$ q9 K8 V子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。0 Y' x' ^& b( w0 Q$ ]6 C
---------------------------------------------------------------------------------------------------------------------------------------
; r' v& v# n! @3 p7 h* e3 f0 I定义待求解函数:6 l4 M9 O  ^& j6 c
Public Function QesFun(ByVal Var_AC As Double) As Double" r. c+ Q/ s% ^; {# G9 N
7 U1 f9 v$ q& T! b
               QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 1% V$ I; Y5 E- }, N2 F5 O0 I" L4 j

6 ^$ l4 z+ y7 @" ~4 y' GEnd Function9 `( b& h6 c3 x7 U" k! B8 k
--------------------------------------------------------------------------------------------------
" z% [7 P: B' G  E7 N1.        二分法* Y0 Q$ A- }8 G' {" D2 F' ]
1.1  由      Arctan(AC/80)=(AC-1)/80. l# o& l4 |3 p9 I
      知      -PI()/2<(AC-1)/80< PI()/2/ M3 y* @9 X2 ^4 h+ q% W: }
     即     1 -80*PI()/2<AC<1+ 80*PI()/2
0 {2 U* i* d& @. M- y++++++++++++++++++++++++++++++++++++++
: t% [+ q8 M# s1.2定义求解函数:3 y0 A& D* S% n1 ^. P" _* l
Public Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double
4 z% j0 Q" i- t1 M4 o0 ], i
% B7 ^- s2 x) Q/ f1 ]+ |* GDim Res#, VarAdj#: T- D1 v0 G0 |( {' u9 ?

: g4 m* q  l1 RVarAdj = 10 ^ -6
, l! i1 i% B  W9 K1 y& L% |
3 ^+ p8 P% C. sIf QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then
. B/ @# \' i) D5 @, R' t, Z, r0 J  j
6 p7 T9 [- F4 i) z: b2 S      Do While (1)6 r  l* ]9 |/ `% N
; E5 Q. v" u: D# o' _
              Res = (MaxLim + MinLim) / 2( B, i( n) V$ C
; {, _6 t# j7 Z1 y* G6 k# t
               If Abs(QesFun(Res)) <= 10 ^ -12 Then
$ J6 c  f  `2 p7 `0 F% o9 j# L; V8 L$ t. M/ B! P1 n# H1 j7 I
                       SolFunDic = Res: Exit Do5 M9 ~0 {1 m* G" |/ V
1 T) \/ ^, l% D+ k
              ElseIf (QesFun(Res) < 0) Then
$ G3 j/ D1 j+ E) s* f. j2 F  \0 ]$ m! a: p$ Q4 l
                      MinLim = Res
1 f' L3 p: N) s  A
2 k) D5 z5 L  j% y8 q             Else( m8 `+ g2 e! J

( g' P! b% H  O+ I+ N/ |5 _/ R                     MaxLim = Res
7 M& K$ s: D9 C$ ]/ [% B: N" `4 c. a5 k& Q; N; O3 X2 w; ~7 ]
             End If
9 T$ N* A5 M- r- R; F0 a             % Z2 @& e) O( N
      Loop
' O4 R$ H$ S, `4 }% ~( ~
7 ?' u/ Y5 U) @( b9 [Else: `! }) q0 e* m8 U/ _
( V( J( @! \* z& D
     Do While (1)
/ y% I1 \$ Q, H9 G       w( m/ s6 ^$ H7 a- ~% N
               Res = (MaxLim + MinLim) / 2
4 u. _' {: H$ E  ^+ L# s3 n. Y6 e: z7 p# Z8 a; k+ Z
             If Abs(QesFun(Res)) <= 10 ^ -12 Then7 @# P5 P6 j1 H* n/ }

9 N% S; ^% E) Y" G                        SolFunDic = Res: Exit Do
: z2 t: G- }9 D+ P1 \/ a$ B- v, j
' U5 m/ P' H. x! T              ElseIf (QesFun(Res) > 0) Then  P( ^7 z3 \  z" l# o

/ _, ~, l% }* d* s  z5 o* Z# U                        MinLim = Res8 ^+ m! N! U; |) k7 c; [

: _, J8 f& T4 j              Else" C4 q) d! f; N! ]6 d/ N

6 Z! V2 J; P7 ^- C' E# e% Y                         MaxLim = Res
7 b  ?8 k5 \( @6 l; U4 c5 L) Q0 o* d+ i$ `
            End If& }  Q! _# h% S+ p8 b3 u1 f
            
( W7 C, V' p! T0 J      Loop) x3 R4 v, d6 c
      + F4 j6 S5 i$ Y/ n* m( k
End If3 T1 |5 K/ Q7 u+ j+ O
End Function. v$ X5 B4 y, p' X: B& ~2 x
--------------------------------------------------------------
9 E/ a9 D! |) p- q( |+ N2.        牛顿法
: @7 m6 F0 O8 i+ S1 V6 y2.1     由      f(AC)=arctan(AC/80)*80+1-AC
! m& R4 D+ s9 j. T        求导     f(AC)’=1/(1+(AC/80)^2)-1. A2 l- n  d+ c' W8 _
        即      AC_1=AC_0- f(AC)/ f(AC)’
8 T* z9 E) Z4 V  v--------------------------------------------------------------1 c7 O3 Q4 ~% r" w3 y
2.2定义迭代函数:, W' U, }  Q5 s; c# M
Public Function QesFunNew(ByVal Var_AC As Double) As Double6 ]# B' T4 O) G1 U9 ^

3 V3 }' d0 i- r, ?% J! P              QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)4 P1 _; |* o# y/ f, l
              / l- `# N& N2 S+ F5 I* s( l
End Function
+ t/ }/ M& m  F1 i+ t. L---------------------------------------------------------------
+ {$ _' [1 T0 C& }2.3定义求解函数
$ M6 c5 g2 E+ I2 S* DPublic Function SolFunNew(ByVal IniAC As Double) As Double5 l. U" M6 U6 ?& b% x8 z1 x8 M
2 r! _3 ]) b- R! i* j
Dim Res#' u: ?' m: `/ T8 d. S/ \; R' l, n
, W9 ^. G0 T) u6 v
Do While (1)  H' g; S- _. P0 c% n
4 y, C( u, m" Z6 m8 y4 h5 u1 `5 c
                  Res = QesFunNew(IniAC)+ m7 ?) n. M3 S: x" F
' Y" s. Y/ w- h: ]$ W
                   If Abs(QesFun(Res)) <= 10 ^ -12 Then) A1 _8 }( n+ D! v
  
: i* b* ]& ~' D( e                                   SolFunNew = Res: Exit Do0 [- x  d* H) t+ r* ~
  , f; j9 o5 T6 m# h; Y) K2 y0 X5 H
                   Else% e% m% ?9 V; f" n+ s8 ~4 I
                  
1 ^* Y. M1 z" I( y. v3 f4 b1 _6 G                                     IniAC = Res# J9 {, m% [; F9 M6 Y  b8 F$ v& m
                  ; o% y8 Q: |; F* y2 u/ ~
                  End If
; S* ~* j3 F* M6 V) \9 D  i
' v) u5 k/ _  w! c( I& _- ^Loop
+ e; n: ~. g2 k----------------------------------------------------------------------------------------------------------' E. P. x  N' N4 W3 X+ b# I; M

. s) m" B' h! e/ M* ~+ K& z- r) N这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。1 R6 T! G/ y3 o3 J  D" m$ s
$ H2 w+ U0 l8 W" R% ~' W/ q

点评

我的天啦,我的圈子里没有一个会写这样完整计算程序的人。  发表于 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-6-18 04:58 , Processed in 0.082953 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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