找回密码
 注册会员

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 | 显示全部楼层
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。5 Z6 E  a. t5 Z; N8 X) g" ?, o
也谢谢大侠的单变量求解。
发表于 2016-2-15 15:27:18 | 显示全部楼层
大侠,学习了。5 y# R9 H! k- X7 I( z, u( A. h0 |6 t
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。6 i, L: D5 O# |3 @
温习并熟练了单变量求解。# ~1 \) ^% R6 g/ t' V7 `7 ]
附图为我的计算结果:精度好像不太高,正在想方法解决。
单变量求解(方法).JPG

评分

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

查看全部评分

 楼主| 发表于 2016-2-15 15:47:01 | 显示全部楼层
点滴积累 发表于 2016-2-15 16:27
" G4 }; g& i. G' W- G大侠,学习了。
/ f  _# J; R% _/ A! q关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...
  }$ Q9 m2 X" R5 F8 V
感谢您的认真回帖。
5 @; {& d; n( n" R$ e6 j. G关于管理方面的问题,其实可以考虑为两个方面。4 f6 p" k3 w* T( R( V
一方面是从上向下的监视和修正,# j$ U; G6 C* {, M( R
一方面是从下层开始的自省和改善。5 T& k+ U& |: g3 F( v
中国提到的管理,往往更偏向于前者,! s* Q/ S  X7 Y
而日本的管理,其实是后者做得更好一些,: k+ Q6 x6 S& c/ `) A
所以在日本,从上层向下的管理会轻松一些。
* x: d9 W8 ?( ^* c# j% ], l# |0 W以前在第二话的文章里面写过一点,以后考虑也继续写一些。
1 Y  k, W  L4 R* t7 A( n9 k! G9 h) T7 L2 k
关于单变量求解,它有计算的设定。! {! O6 a' a5 J+ \
在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
: ^' v' Z# W, y3 r# C! a- R2 s) Y8 r9 v9 b1 s! X3 D8 `
option.JPG
( }; G/ {2 H9 b(抱歉手边现在只有日文电脑,可以看里面的汉字参考)3 _" m0 f6 c: X. _

; D4 n9 C2 \) O) u# w3 K里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。3 K- K( {* l7 t: n' c
将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。8 g" l9 g9 O; c1 {+ q

& z; j3 `5 m: e+ y: L: l: \  ^另外,如何选取可变单元格也是一个因素。( z& \+ ?! e- V3 g  C7 ^
如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。
' X$ S( r7 Z' M$ O" J, y. \如果选择使用角度,就是在18.8左右每次变化0.001进行求解。* S/ A" d% O/ p+ a1 N3 N
其收敛的速度是不同的。( t: U) n& b/ m9 X( M4 d1 K

点评

500,500,500,300,200  发表于 2016-2-18 13:19
发表于 2016-2-15 16:06:37 | 显示全部楼层
子子61961 发表于 2016-2-15 15:47
1 u* t! ?# x+ i- a" g- V. x感谢您的认真回帖。
  ]; T: \, _& ]关于管理方面的问题,其实可以考虑为两个方面。
3 n. N. {8 ^7 {( S一方面是从上向下的监视和修正,

9 G6 c% N+ ~4 j3 C& S: u; v! E大侠,中文版,呵呵
单变量求解(方法)精度问题.JPG

点评

THANKS~  发表于 2016-2-15 16:23
发表于 2016-2-15 17:06:51 | 显示全部楼层
本帖最后由 andyany 于 2016-2-15 17:08 编辑
3 ~  y; E) P+ H) J
" d/ u% a# p$ g& S4 r3 f/ H据我所碰到的,国内的交流能力都很低。1 h: I) L# v8 J$ ^5 g7 e% J
1
1 K4 G5 m9 T4 G! U3 l当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。0 H: |% }/ v# Q0 X4 T% a% u
但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。- j# v2 z6 K: p' [. W
2
5 Y; {& y; O6 e& S6 l' f" P你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

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

查看全部评分

发表于 2016-2-15 19:15:28 | 显示全部楼层
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
发表于 2016-2-15 19:51:33 | 显示全部楼层
AC-arctan(AC/80)*80=1是数学问题。
& h( ~: o) j% N' j7 F, [子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。
6 D# r# a! {- q1 A; V( L7 |* Y---------------------------------------------------------------------------------------------------------------------------------------
0 l, ?# m$ r: |: J- }, D定义待求解函数:# \# n* y6 V2 @$ ^; e
Public Function QesFun(ByVal Var_AC As Double) As Double
! ?( S' X/ e; A3 b; m) v9 u
9 s3 L: ^3 Q5 t% g4 j+ R7 [               QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 1
+ F1 c, F: I& e- ~! `5 M8 W
* \6 D0 ]/ q4 `/ `! ZEnd Function, L1 f4 g2 j6 o. J6 o7 k& @
--------------------------------------------------------------------------------------------------
& \1 A6 j1 s6 x% X9 X/ Y" N% d5 s1.        二分法, ^' Q1 S, a2 N* }; D3 |
1.1  由      Arctan(AC/80)=(AC-1)/80
% r, J# h4 ^5 ~! |; R      知      -PI()/2<(AC-1)/80< PI()/27 ]5 I$ K: ?  B2 F1 X8 m5 S
     即     1 -80*PI()/2<AC<1+ 80*PI()/24 ?$ |: V/ m4 \6 @* H
++++++++++++++++++++++++++++++++++++++) v  q% A+ m$ t  E5 C4 m
1.2定义求解函数:" V  F1 ^: W' d! q. A! h& C
Public Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double! a; p3 [9 M4 M/ [

/ m( X8 L4 \5 c; BDim Res#, VarAdj#
' `& F3 \8 q0 U& _+ y. ^4 h& n/ D9 A3 m9 h* r. t
VarAdj = 10 ^ -6  z! t" e6 c( ~1 i: L
" I# ~& f7 D1 `$ m) @* I
If QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then8 n" t6 ?' Y- N$ h; }2 j  v

. ~$ h& l) ]% X4 A$ R# p1 e      Do While (1)
) c4 q  \, @; ]3 |# m- w
' Z0 U! q( [8 u) Z; T              Res = (MaxLim + MinLim) / 2; _1 u" t; U  h6 D; ]

8 N) H  l' R* F- T) [               If Abs(QesFun(Res)) <= 10 ^ -12 Then
& }" g2 c# H9 [# J- k- D. B8 l. u# f8 ?, z) d7 ~+ c
                       SolFunDic = Res: Exit Do
7 c7 r' H. U% e( p2 t$ P' p; {* _/ `. K- y8 C
              ElseIf (QesFun(Res) < 0) Then
* q- s) P$ r# A) `+ g
  C* U- R- o* J' \3 D                      MinLim = Res& i5 M- M7 C- C. u( o# c
6 d' W8 D' ~5 j8 G9 g1 Y4 k: {# h* N+ e
             Else
9 F7 H6 N  d- U0 I, Q" A' }
8 x9 P1 q$ K; ~' e1 _1 F( d/ t                     MaxLim = Res1 e  m" k% W3 X2 a3 X

6 n2 V9 S+ }& k( x" R( a7 O1 d             End If$ a/ ~7 s3 E3 Z7 I  H
             : a  A2 {& s( E1 N1 U! g
      Loop
& A2 E6 u9 P1 \( |
5 }& X  O5 U* S0 D/ n1 XElse
& @5 Z! R/ |0 R# T" S* g* D/ I1 t& b# n" w  O0 i) s( b/ F  ^
     Do While (1)9 o; q3 x1 c: b' A6 Q
     5 V; }# [) o+ Q9 O: k4 e* J
               Res = (MaxLim + MinLim) / 2* E- O4 V/ z- x& k

" s5 [' L" Z4 ~8 W             If Abs(QesFun(Res)) <= 10 ^ -12 Then
1 c+ b6 o* \% U5 V; w! y  ~( M- F' L! C, @2 I) s6 |
                        SolFunDic = Res: Exit Do- c5 }/ T( K7 B0 S6 R6 b, ]

( A; [# B- s9 X' w" e              ElseIf (QesFun(Res) > 0) Then
3 @% v, k' s) e' D% W
1 J& v+ l0 @1 ^- h( n" e; u; Q& S4 j                        MinLim = Res
; g' P# j1 U8 D4 ~! i1 t8 k7 C& C' @; y4 A
              Else& c" {$ M5 g0 E

5 N2 o# p, K+ T# \7 U! q. S                         MaxLim = Res2 E: E! t% \9 z. W1 j
9 J: x* z' j$ j0 ?# R" t' k
            End If6 ^$ m3 d/ q- G
            / m% Q  g  G; D
      Loop
7 a7 Q  G8 i0 I& N# W. D! B      
2 B' P* R( \$ CEnd If4 F4 Y8 z4 ]  o
End Function3 ]* P7 O( I7 L# z
--------------------------------------------------------------# R+ t$ O' T! j5 o
2.        牛顿法
3 k; c3 R& N: V: d; u2.1     由      f(AC)=arctan(AC/80)*80+1-AC, I6 ~% ?+ i0 B9 U0 w9 W
        求导     f(AC)’=1/(1+(AC/80)^2)-1. Z# }% h) L) z. N8 f, u7 p0 S5 E( u
        即      AC_1=AC_0- f(AC)/ f(AC)’. \; N2 B2 ]7 D& U& f$ a
--------------------------------------------------------------
. x, N! `' u" f: K9 C8 s- A; _2.2定义迭代函数:
5 [2 E* m' E; k5 l9 qPublic Function QesFunNew(ByVal Var_AC As Double) As Double' N% E9 N! i6 T( z) l! P/ X

4 \' s) B1 v, X1 ~6 n2 ^7 T' w              QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)9 s7 K0 i+ M/ z9 k" r
              
3 `) H' c5 Q+ V9 FEnd Function8 M3 a' p) ~7 G  ~5 O  I3 H
---------------------------------------------------------------. ?3 I  Y! K7 |# ]
2.3定义求解函数
, u7 d/ F) N% W# VPublic Function SolFunNew(ByVal IniAC As Double) As Double- P1 g! s8 Y0 d" [6 C8 i  K+ g

; Z/ b+ V# R/ W( ADim Res#+ ]- k; [) n) j4 N+ G( \

6 |( i2 b3 C) F* eDo While (1)- w! [* N; I: q/ y4 k
  F' Z+ a% _' ]: L
                  Res = QesFunNew(IniAC)
3 O: @# L. e% o7 X  Z# Z) v" o+ n6 \' m
                   If Abs(QesFun(Res)) <= 10 ^ -12 Then0 f. d/ l9 z7 I9 o# M
  
% a# B' S( M2 N+ q9 W& D                                   SolFunNew = Res: Exit Do
' E, R; f- @6 b( G0 ?7 i  
: I9 x2 J, d9 l2 ]$ g9 ~                   Else: B5 y  D+ Y' J1 B! X2 N% U
                  
* {3 P5 j! N  H7 m; O                                     IniAC = Res
) n3 g% L  v$ M" _0 f4 ~' e                  
& m$ m0 K; R6 B4 b( {5 a1 }. ?                  End If
( r* E: O2 K+ W% ^4 E5 N9 p
* x- J3 h7 A2 V% I0 ELoop
* s0 _- u; O( B$ K9 u8 S! v----------------------------------------------------------------------------------------------------------
6 u. F/ L) r$ x5 b- W+ N6 b: O
. J! V5 Y2 A, b. T; n6 I这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。
9 \' V3 _) m# r$ C; S) O; D4 T
; K) C5 q2 u* e* e2 }

点评

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

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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