找回密码
 注册会员

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 | 显示全部楼层
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。: O# n) g6 l- O' B. t/ c5 n
也谢谢大侠的单变量求解。
发表于 2016-2-15 15:27:18 | 显示全部楼层
大侠,学习了。" I* ?# Y2 u1 [% V" G1 D( N6 c
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。( Y$ [7 R2 M! q' f, {/ y1 I- [% Q
温习并熟练了单变量求解。
! Z/ r, _1 L; t9 E% u2 r附图为我的计算结果:精度好像不太高,正在想方法解决。
单变量求解(方法).JPG

评分

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

查看全部评分

 楼主| 发表于 2016-2-15 15:47:01 | 显示全部楼层
点滴积累 发表于 2016-2-15 16:27
% v+ D: b# T' {% T: M! \  E- o0 ]大侠,学习了。) n) h+ f3 L3 s  O
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...

" v5 v; C# f9 E% h1 y感谢您的认真回帖。  l1 q. ?- H& R! H
关于管理方面的问题,其实可以考虑为两个方面。% N8 M2 F7 S& P! e1 Z
一方面是从上向下的监视和修正,
( Y, N2 k# \$ x, T, f! ~+ q+ ^& p一方面是从下层开始的自省和改善。
1 V" X' g  \/ E5 i% w, I& I# x0 E4 g& G中国提到的管理,往往更偏向于前者,
) N& i) L7 a2 l/ |  W6 W3 C而日本的管理,其实是后者做得更好一些,* Z* \4 G; S# t8 ~8 w
所以在日本,从上层向下的管理会轻松一些。. T7 K$ z2 E3 E0 Y/ o
以前在第二话的文章里面写过一点,以后考虑也继续写一些。7 _6 c8 p/ f  p$ y
( c% D9 k4 r/ X- o+ i' G# e
关于单变量求解,它有计算的设定。
& \& R! J( N& }0 _2 j7 }" x在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
% c! E$ x# \: ~" s# @5 J& C1 n: x! n. a3 L7 e
option.JPG : B8 l, Y+ d( ?8 Q7 D) G6 E
(抱歉手边现在只有日文电脑,可以看里面的汉字参考)
  G) ^4 L% N9 ?3 H! `1 l+ _+ ]  l1 b  O
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。
: C/ G, d( T& ~6 g" m; f( w5 G将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。
7 g  P; ]' r8 W' q) _
1 S- e& C9 t& b' c* q# u% c另外,如何选取可变单元格也是一个因素。
6 z9 o* ^7 ?' z+ d# W* A2 B6 _如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。, r5 O8 A4 [+ L5 y$ x
如果选择使用角度,就是在18.8左右每次变化0.001进行求解。
$ C) Z( [  v2 f' g# k# S0 c1 p- g其收敛的速度是不同的。
' E: A6 J1 i5 |5 H( Y

点评

500,500,500,300,200  发表于 2016-2-18 13:19
发表于 2016-2-15 16:06:37 | 显示全部楼层
子子61961 发表于 2016-2-15 15:47 & b& X, B. D5 x+ ~3 b! A( C
感谢您的认真回帖。
4 p. w: U4 J9 O4 m2 S7 c) X关于管理方面的问题,其实可以考虑为两个方面。% G8 a2 X& J" t! W# A* O
一方面是从上向下的监视和修正,
9 _% Q5 G5 m4 ]/ P. [% \
大侠,中文版,呵呵
单变量求解(方法)精度问题.JPG

点评

THANKS~  发表于 2016-2-15 16:23
发表于 2016-2-15 17:06:51 | 显示全部楼层
本帖最后由 andyany 于 2016-2-15 17:08 编辑 , R& A/ i1 \) C- p; {' M! @1 w
  B2 M4 z2 P9 O  A2 Q, V: D- S
据我所碰到的,国内的交流能力都很低。
! [2 f2 H1 [- ~1
0 _  B, L/ y" ?+ ^) [" O当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。
4 E( F7 p( l- n$ @- f3 A: e3 M但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。4 e( O  ]( |: n. F: s- t
2
  i( `& I9 [+ G( K" i  U! O- {你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

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

查看全部评分

发表于 2016-2-15 19:15:28 | 显示全部楼层
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
发表于 2016-2-15 19:51:33 | 显示全部楼层
AC-arctan(AC/80)*80=1是数学问题。# {1 @; E! C4 S1 h
子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。
( \+ q4 b& @0 i% \6 B4 o$ H7 J/ n" ^1 Z---------------------------------------------------------------------------------------------------------------------------------------
: o, O5 r, h' V# ^% @1 {$ k定义待求解函数:
# c# {1 B% }/ S; H) S5 D5 iPublic Function QesFun(ByVal Var_AC As Double) As Double+ w7 E  [' c* f
* T( k% _0 V7 h7 w
               QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 11 ?/ j- p% g$ j

- V$ u4 p! c9 e+ B% e8 XEnd Function2 P& f0 B/ f7 @7 U8 u
--------------------------------------------------------------------------------------------------
* l0 i* T. K  ^7 z7 T8 n1.        二分法% A2 }" Q! @4 n' O- w' |
1.1  由      Arctan(AC/80)=(AC-1)/80, L0 |: h) Y- p6 T8 l
      知      -PI()/2<(AC-1)/80< PI()/2
# c" ^' u6 e" \; c& F4 E+ F     即     1 -80*PI()/2<AC<1+ 80*PI()/29 T: T) A: I* G; |
++++++++++++++++++++++++++++++++++++++9 J+ A0 e( }$ p6 m# i
1.2定义求解函数:
( y: A7 a# C* _# APublic Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double' Y* W6 o- M1 h
, T: Q2 {) u. G* Z/ j8 C0 k4 y5 t
Dim Res#, VarAdj#$ V% [: M, J9 c- [

  X4 t# T8 j; X+ Q0 s. b# K: mVarAdj = 10 ^ -6
% B& W, z9 [" N
3 s: u& d( i1 l6 }4 X! LIf QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then+ g* ?/ M3 T% K! q% V: S

! p2 @2 p- z) G, [0 w# I% ^      Do While (1)
; q- m- [( G2 f3 t8 ^
8 i7 d# {- w! L              Res = (MaxLim + MinLim) / 2. x8 o1 u- z. V9 b* @

9 Y+ D2 c) n; X( u3 d" ~1 _0 M! R               If Abs(QesFun(Res)) <= 10 ^ -12 Then+ ]; k0 [: f4 {3 X- o! p

, d0 `& s6 `% H                       SolFunDic = Res: Exit Do2 b3 |. w$ ~0 y5 |1 T: p# r' l3 ?

% S+ m5 t6 X2 H  T' Y2 K              ElseIf (QesFun(Res) < 0) Then1 k6 _. p6 ]; a: ^9 Y/ H
9 T% {  [# X  ?+ j6 O
                      MinLim = Res8 }0 K& z( c- L/ n. i9 W

+ q2 \' G+ J# t, K/ f             Else
9 ]& G7 z- f* b" X8 P
6 h. `* g# y; P0 a* M6 J% j6 y                     MaxLim = Res
. e4 y9 h" [2 f: U& C; Y. D7 t) F7 e: d1 i; ?
             End If
+ G7 J: m/ X& c! p" ^. F# K             ; `- _  l" m4 i8 Q$ w2 m2 F
      Loop
3 Z8 L# x$ @2 H4 ]: O0 A3 f  m% v( Q5 Y# q
Else; U# U1 ?5 r; x  _; o

. H) ^6 f  T5 x: x+ k! ~# Q+ z" d     Do While (1)) Z* i: |& U3 z" U8 N& ]
     
3 V" J- Q1 e- @) \, _$ c2 C               Res = (MaxLim + MinLim) / 2: T; S% m1 X6 y7 e8 {3 C' M

' \/ l: u+ p/ d  T" |             If Abs(QesFun(Res)) <= 10 ^ -12 Then
8 S" t8 O0 p9 H
- g; _* w* f* `) X! J. v* O3 w+ }                        SolFunDic = Res: Exit Do5 N' @( ~8 }: c$ A4 T
" c2 m- ]& q1 A4 L: F
              ElseIf (QesFun(Res) > 0) Then
0 @) l- Q/ q4 ?8 u- ]) d6 C% x- Y
* L3 M/ `7 o# s* g0 e& x                        MinLim = Res3 ~5 G' ^# \7 e& g) |2 \6 ^6 ^

+ y* p9 N' R! w8 |( _              Else
# \. [4 \( s1 m3 D$ K: H
" I' h7 j/ i* E8 d& b& Q3 b7 F& R  x                         MaxLim = Res
: {; k; B6 g" z8 V* n9 \8 H& P
$ e- H; E4 h0 C' M            End If
+ X# F; P& W0 ?% n9 r            
0 o" r7 e' b! i( M6 U      Loop
! m' \9 s/ B5 r, H! S      
) b5 q; a& `6 |. ^/ j% cEnd If
$ O5 Q9 T- _4 f) g" b' nEnd Function& D$ z4 {- Z& J7 m. v1 b
--------------------------------------------------------------
+ E) P. j- e/ M2.        牛顿法4 u! v4 l( I: i0 o1 m3 d
2.1     由      f(AC)=arctan(AC/80)*80+1-AC
: Z/ c( C' a  ?3 a4 K6 w6 K% o        求导     f(AC)’=1/(1+(AC/80)^2)-1
$ {/ W; m0 @- E/ h, E% P; X/ |% Q        即      AC_1=AC_0- f(AC)/ f(AC)’7 }2 n) q% N5 l2 I, r# z- T
--------------------------------------------------------------
! h6 K8 |' A5 t1 C2.2定义迭代函数:
- T! s3 X" u: \6 R- TPublic Function QesFunNew(ByVal Var_AC As Double) As Double* c' K% L/ o0 _( r+ O, O& U* f, S
, Z  u/ j# o3 x+ c( Q
              QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)
) Z' _: S1 b" }1 L. F              
* g/ I5 I( F* b: i$ nEnd Function
2 G' \0 Q7 D4 G  W1 ~---------------------------------------------------------------
; d, E$ d3 o" M+ d$ ^  G2.3定义求解函数) p8 v% {1 Z, G9 G" F, F7 {7 Z8 O
Public Function SolFunNew(ByVal IniAC As Double) As Double
% v6 S# S6 m1 T8 f& K9 z! m
* ~" o3 z. m; `; r! v& }' j6 GDim Res#
& G( V1 F8 N4 \
) p" L+ d& U% ~6 J- W# \Do While (1)
0 a  w  B4 l9 t& |! t
) ]# C4 D0 Y) A5 r9 q                  Res = QesFunNew(IniAC)
6 p1 A2 n- Q6 j* i, q( B
" G0 A8 _1 U) c                   If Abs(QesFun(Res)) <= 10 ^ -12 Then
5 m  o. q$ u0 O+ e) o% w5 j  
4 Q# X& G# P& f* i6 Y8 O/ k                                   SolFunNew = Res: Exit Do
* y5 [. @! I$ u$ q! a$ o4 t1 s9 F. w  ! a$ _& M1 d7 N
                   Else% k# x& Y+ I5 q0 _
                  - |8 Y* {  T3 g$ d5 k; p$ R
                                     IniAC = Res3 _  j! ]; _6 n9 C+ L
                  
# h/ i# K7 u3 g9 Y3 K/ J$ t& N% d2 D! }8 ~                  End If! ~/ W" u0 s) h" [  `' b
- w# ^# K4 s6 N& _: o( i% i
Loop1 O* v8 t0 X4 Q/ o. A% a
----------------------------------------------------------------------------------------------------------
8 d, A+ J. i; G7 A* w# o- `6 z$ ^- o
+ `; k1 W0 A3 I& {* L/ J这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。
4 d8 `9 m2 A$ G% Y4 C% S. P3 x, i
; k% n( g6 J4 a" |: I# g! x" c  o( u

点评

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

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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