找回密码
 注册会员

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 | 显示全部楼层
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。
1 q' F, V. ]2 v6 Z4 T也谢谢大侠的单变量求解。
发表于 2016-2-15 15:27:18 | 显示全部楼层
大侠,学习了。
/ R7 N- |3 }* k3 b* w关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。
# m- Q$ c8 W2 j- B6 s0 {% V8 Y温习并熟练了单变量求解。
* _$ }# v6 h  a/ ]附图为我的计算结果:精度好像不太高,正在想方法解决。
单变量求解(方法).JPG

评分

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

查看全部评分

 楼主| 发表于 2016-2-15 15:47:01 | 显示全部楼层
点滴积累 发表于 2016-2-15 16:27
) s% ^- i9 j. C( M, S大侠,学习了。
$ g# R1 ]2 k- x关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...
1 a! U- l1 M! A- R! U+ c7 @4 h, i$ K
感谢您的认真回帖。. ?5 q5 l3 n! `- c$ ^
关于管理方面的问题,其实可以考虑为两个方面。* Q- I, b' i. d3 S7 ?
一方面是从上向下的监视和修正,
' a* O$ N1 }, m$ ^3 |2 g& N一方面是从下层开始的自省和改善。
& f. P. e' s4 }1 E" W中国提到的管理,往往更偏向于前者,% M7 H/ @- W& H
而日本的管理,其实是后者做得更好一些,, n! o) k/ g& D3 a
所以在日本,从上层向下的管理会轻松一些。3 L7 v+ T7 A+ m3 F4 G
以前在第二话的文章里面写过一点,以后考虑也继续写一些。& n& [+ ^2 v, Z; \- L
* e8 `- \" y! w
关于单变量求解,它有计算的设定。( f% f3 t. Q+ S
在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
: E& R; G  `9 t+ S3 r! i! y: a7 c0 ?  q8 G
option.JPG ! h- Q5 {1 F' R6 U0 |$ d
(抱歉手边现在只有日文电脑,可以看里面的汉字参考)" b2 h' _: w- I. S& B' X7 d
4 b) t( y. m; f) U
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。1 g1 t7 |& {4 F- d; @/ }3 ^  q  g
将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。
+ m: D6 h: ]) [: o: J5 C+ N; w3 ^, Y: j. D7 O
另外,如何选取可变单元格也是一个因素。
( m0 e9 T! X8 Q/ Y- m2 o如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。; X9 v7 n: E7 A% k: ?" B4 i
如果选择使用角度,就是在18.8左右每次变化0.001进行求解。2 j  t; K0 [1 N* ?* y
其收敛的速度是不同的。: u* Y2 [$ \$ w; C) |

点评

500,500,500,300,200  发表于 2016-2-18 13:19
发表于 2016-2-15 16:06:37 | 显示全部楼层
子子61961 发表于 2016-2-15 15:47
, x9 N# ]# v/ x/ B' k) f+ |% d感谢您的认真回帖。8 F/ u+ O& d! M1 M
关于管理方面的问题,其实可以考虑为两个方面。! d7 r/ S. y4 z& c# Y- t% f
一方面是从上向下的监视和修正,
2 A5 R# y( Q) L  u. ?& ]( }+ w
大侠,中文版,呵呵
单变量求解(方法)精度问题.JPG

点评

THANKS~  发表于 2016-2-15 16:23
发表于 2016-2-15 17:06:51 | 显示全部楼层
本帖最后由 andyany 于 2016-2-15 17:08 编辑
8 ]+ }' b5 X* G$ U& i
# M0 P* Y2 S( c7 B1 s据我所碰到的,国内的交流能力都很低。0 y/ L9 j' x/ `- C- i# e
1/ \' u( i/ H: ~" d- d$ l# \
当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。
5 n) `% a, ^! ]9 a( a但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。
  r, }# t; [% m- b: i. `2
3 I7 t  O  D1 n4 S; Z* G, [你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

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

查看全部评分

发表于 2016-2-15 19:15:28 | 显示全部楼层
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
发表于 2016-2-15 19:51:33 | 显示全部楼层
AC-arctan(AC/80)*80=1是数学问题。2 I7 F/ A; `% S' U1 K2 z: s# R* j3 q
子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。
/ Y0 ?5 B5 H6 H) p6 U0 D, P; Z---------------------------------------------------------------------------------------------------------------------------------------0 }0 J1 [( _. W2 ^0 e& r! x
定义待求解函数:
0 v1 i* n( O4 M: |: W! qPublic Function QesFun(ByVal Var_AC As Double) As Double
8 G3 G& F8 V0 i) e. u) U/ @
5 v' B/ U3 x; G" j& l  w               QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 1  b3 N: F5 p9 \7 {- R- J# I1 E

8 ]) G  `; g, I: l) CEnd Function5 q4 A# `" t/ J. T7 c
--------------------------------------------------------------------------------------------------4 R" m' p# }: G+ c8 N9 p$ W; J
1.        二分法& o- m. b& S- J4 i
1.1  由      Arctan(AC/80)=(AC-1)/804 i7 i' F, @+ F7 x/ C, A) i1 H, c
      知      -PI()/2<(AC-1)/80< PI()/23 E3 H2 i/ F# l+ X4 ~3 o& b
     即     1 -80*PI()/2<AC<1+ 80*PI()/2
2 g/ ?, d! h4 C% a  ?: G++++++++++++++++++++++++++++++++++++++
$ B' O- C! r' g) c+ e1.2定义求解函数:
' k7 N9 V9 |; {: j4 z( _3 [6 VPublic Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double
7 m" w% I5 |7 n6 |
% T: V. O6 j5 x4 FDim Res#, VarAdj#" G0 Z* b9 u7 B3 a6 Z( D$ g
9 o! J' m1 U; j9 {; \, L) c
VarAdj = 10 ^ -6. L( d7 j: ~0 }) q& b" j

# M  T' E$ S3 s6 ?" Y( x7 d3 ?3 lIf QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then
/ }2 j9 l  ~( o) Q# Y1 U3 |0 Y5 k4 I& \, ^9 p
      Do While (1)- y8 Z1 g1 t( z

  g$ c& f. G1 O0 @0 u5 W              Res = (MaxLim + MinLim) / 2
0 F. B4 O% {  p' q0 U1 c' [) n6 c- A+ D4 t6 I. u+ f
               If Abs(QesFun(Res)) <= 10 ^ -12 Then
: I* Q9 ^2 g/ |& c
' M& l! S+ w& \' R* q/ \* Q                       SolFunDic = Res: Exit Do: n/ j8 f$ l+ D+ C3 j% u8 f

# ]$ h' y: U) F              ElseIf (QesFun(Res) < 0) Then
0 j' W% W7 n$ T' l# }% d2 @  @. f- q! X7 w; G$ Y; e- [5 w0 p3 H9 N$ M
                      MinLim = Res9 H( D; D/ o: C& z7 P

% B6 F- d0 n  T8 V& `1 L7 J             Else
8 b: e! u. V) X1 y
9 p2 \2 L- D0 `2 s7 z                     MaxLim = Res
0 \) M$ a+ w+ g6 ?
# `8 F2 s8 N* g3 K1 f3 p9 ^             End If' K' D9 W- f5 V  U
             ' K4 N7 |, s: y0 t, o1 E% ^  \
      Loop" b0 u- o; D7 o5 J6 }# z

8 T. c* n7 y. FElse
# g& J- V4 q/ F+ j* @6 c% ^
/ n  l" L. U+ m2 U4 Q8 M4 j  D     Do While (1), K# Y8 ~; w! M5 n8 E1 h8 l7 o
     ; q! D' J2 }1 N) p' B, ?
               Res = (MaxLim + MinLim) / 2
% D2 F' |- g7 K( {3 `) _, A- E  Y6 f3 r+ F  j, h. C
             If Abs(QesFun(Res)) <= 10 ^ -12 Then
" l; p- S1 K: F! b8 c7 ?1 e8 P3 O- U2 k, k2 c# X
                        SolFunDic = Res: Exit Do
3 `4 {, D7 ]9 _+ H
# M& N4 T  C5 W0 n              ElseIf (QesFun(Res) > 0) Then( Z8 Z3 t6 \& `

3 |: F( ^+ v) ~  _" k                        MinLim = Res8 B4 Y: k) e5 ]; O

2 Y/ d4 b- q/ g6 m              Else9 O9 x* t  {2 O6 N4 a% g7 s; c4 D

. P( V& U) C: o1 K5 j                         MaxLim = Res5 X, b6 E% V. b  r7 F2 a, R
: g" d+ B8 l3 ]4 ~9 O
            End If* F: I- P* W7 Q( l; [
            2 a' e2 u% f7 U8 E, d
      Loop
6 M$ o$ H" C. e' [! o' C* v* ]' d      
2 J+ n7 G4 P4 ]5 n' W& VEnd If
* y: ?7 N, ?+ ]4 Z* TEnd Function
( e8 E7 z9 ~- V/ y--------------------------------------------------------------0 A7 T. f# X2 b2 |& m& ]. ^
2.        牛顿法
' O3 C2 R/ M: j& B2.1     由      f(AC)=arctan(AC/80)*80+1-AC0 T, R, Y; L  g- Y8 F
        求导     f(AC)’=1/(1+(AC/80)^2)-1" V+ u* I# Y% K/ X( k# m- L3 k9 I- n
        即      AC_1=AC_0- f(AC)/ f(AC)’
: @2 A9 n+ Y2 _( ?& A9 \--------------------------------------------------------------
" Y9 y' @. G' }  P: \2.2定义迭代函数:2 X' k# ^2 E( C! e$ K
Public Function QesFunNew(ByVal Var_AC As Double) As Double! V; c6 l4 b+ N$ \, Z& ^3 a$ f. M

8 T7 q3 J/ ?' p1 w              QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)* |8 S; y4 i9 N: p4 w8 w
              
# I8 G* U& b$ Y: f$ i3 Z% tEnd Function
4 p8 \/ x, S+ i8 \7 t0 E4 _$ t---------------------------------------------------------------
( B) l( Z+ ?) }0 o- a3 @: K# k2.3定义求解函数+ q4 @' i9 ?) Z' V$ U
Public Function SolFunNew(ByVal IniAC As Double) As Double7 ]( L9 F$ P; ?, V8 f% h2 K
7 s* o( S6 C! L
Dim Res#7 U7 j* a6 a3 s6 [: z  w: Z) m
# T, l  O9 o0 ^& }
Do While (1)
0 ?/ C5 N8 _3 f; S( O* ]# g& K3 S+ }- t/ m
                  Res = QesFunNew(IniAC)
3 K( t# D% h/ t  ?! r* N, |
! j3 U0 K. q9 B2 ?: E: o                   If Abs(QesFun(Res)) <= 10 ^ -12 Then/ p$ o9 G/ C) T" n& P
  
$ O; d( L2 }! ?. v. U; s  i                                   SolFunNew = Res: Exit Do  F8 U) F" E) X: Z1 y
  # B4 S) c: d8 C+ K, V- O0 l
                   Else
! ~7 x" ~8 i5 P! o6 Z( O                  
* M& f9 N) r2 W: l) f/ y# ^                                     IniAC = Res& I0 L+ |# e+ L) ?' F$ d
                  
4 \$ U) K! s5 P! @* ^                  End If
) b6 M# q& S0 S7 z! z8 { 8 N* W, ?$ c/ N  C& s0 J$ W/ v$ H
Loop& U- X  I3 Q1 w% U6 t
----------------------------------------------------------------------------------------------------------
" @% o# z. A' [6 c
( G. J! c" N" S# P4 A3 w这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。( f* \- i+ B. W+ D, H9 f; L) C
* D8 a- l8 ~9 A6 C, ], d2 S5 u# c

点评

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

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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