机械社区

 找回密码
 注册会员

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 | 显示全部楼层
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。
) r2 S# `/ g! S9 S9 z6 Q' d也谢谢大侠的单变量求解。
回复 支持 反对

使用道具 举报

发表于 2016-2-15 15:27:18 | 显示全部楼层
大侠,学习了。) g& t: o' k. W' y4 J/ ~7 t
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。
' \9 o: c2 n  @5 k' Z温习并熟练了单变量求解。
' K6 R  P1 s6 {7 _附图为我的计算结果:精度好像不太高,正在想方法解决。
单变量求解(方法).JPG

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-15 15:47:01 | 显示全部楼层
点滴积累 发表于 2016-2-15 16:27 $ o- K& }4 ^# ]. B- b+ _7 x3 U$ T
大侠,学习了。* x  a. b5 ]6 ~
关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...

# Q$ d3 ?8 `% p感谢您的认真回帖。
3 x. B3 y* T: C7 p关于管理方面的问题,其实可以考虑为两个方面。; T# `0 R8 r4 w* a" l
一方面是从上向下的监视和修正,
) v: X* K. M7 O; K一方面是从下层开始的自省和改善。
8 e* O" v' K6 h& w" J% U中国提到的管理,往往更偏向于前者,8 t; @2 E/ H) y6 j& x
而日本的管理,其实是后者做得更好一些,9 _/ p3 \1 ?- |
所以在日本,从上层向下的管理会轻松一些。
' s3 C- j3 J9 D0 D# @! D7 j以前在第二话的文章里面写过一点,以后考虑也继续写一些。) _7 u; m1 Z: ?2 n' m
. [+ ^; ~! b. e" b; K! ^) _
关于单变量求解,它有计算的设定。
. ^8 n% P1 W1 O$ F8 G/ q2 g1 b在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算
5 V! n$ i" \$ v) [* g
( O5 f" Q# n4 f/ Q& G: } option.JPG & U  S" h" M4 R6 F
(抱歉手边现在只有日文电脑,可以看里面的汉字参考)
/ l8 A2 J3 [. X/ m( C$ n+ T5 {, S# T: i5 `+ c, H
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。
3 P5 e) H8 M( R9 L+ l% `; _将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。
1 ^/ |  q# O. u4 w. ?
# w5 f) S8 h% \( D2 o) X1 U+ z另外,如何选取可变单元格也是一个因素。
+ w/ I) N0 |2 V0 k& k% U% r如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。
* {, I1 ]& ^6 X- b* P; c; [如果选择使用角度,就是在18.8左右每次变化0.001进行求解。
$ u. Y. W8 @1 J* z; y' Q其收敛的速度是不同的。
1 S) B- y9 z+ p9 S

点评

500,500,500,300,200  发表于 2016-2-18 13:19
回复 支持 反对

使用道具 举报

发表于 2016-2-15 16:06:37 | 显示全部楼层
子子61961 发表于 2016-2-15 15:47
* a6 R+ f- ^2 J' M5 [* ?+ m& @感谢您的认真回帖。6 z9 Z: k; }: K, |+ r
关于管理方面的问题,其实可以考虑为两个方面。# c2 H; s4 \1 P; E$ T5 D7 N
一方面是从上向下的监视和修正,
8 n& K7 J+ h+ a
大侠,中文版,呵呵
单变量求解(方法)精度问题.JPG

点评

THANKS~  发表于 2016-2-15 16:23
回复 支持 反对

使用道具 举报

发表于 2016-2-15 17:06:51 | 显示全部楼层
本帖最后由 andyany 于 2016-2-15 17:08 编辑
" W, x2 y4 {6 w/ Z" p4 d9 H6 C% y* u2 i3 ^
据我所碰到的,国内的交流能力都很低。
3 j6 B( y, L$ w3 ^2 C8 Z+ D8 y1
3 b2 y- G* ]* S& i当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。/ f9 x( U% u; P7 f. r# Q
但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。
# g/ s( S2 L6 z+ U5 L% _! J2/ y; _* {# a6 k2 ~, j# P( w) N
你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

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

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2016-2-15 19:15:28 | 显示全部楼层
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
回复 支持 反对

使用道具 举报

发表于 2016-2-15 19:51:33 | 显示全部楼层
AC-arctan(AC/80)*80=1是数学问题。7 E* h* j/ f* O7 O
子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。$ {: o& M$ [- Z, g$ B* n$ @5 E; L( b
---------------------------------------------------------------------------------------------------------------------------------------
1 V3 Z2 q" N# q  `/ J# H: P定义待求解函数:# z3 d3 e1 F% W. P, c" w
Public Function QesFun(ByVal Var_AC As Double) As Double) D9 x, `3 Q- K

1 ?8 `8 z+ e: [) k) z; e               QesFun = Var_AC - Atn(Var_AC / 80) * 80 - 1+ h$ Z: q, |* A. H* V2 j' Y

( v3 c3 z- a/ S7 O, P) mEnd Function
, r% ?5 n" M' g4 d6 M, `; z--------------------------------------------------------------------------------------------------
: r" r; X$ X3 f$ W" y1.        二分法
8 J4 a6 y! P7 D& ?, m/ W1 b1.1  由      Arctan(AC/80)=(AC-1)/80
) H' z+ h2 U, @- q- s      知      -PI()/2<(AC-1)/80< PI()/2) G* `4 h7 r, P7 Q; B
     即     1 -80*PI()/2<AC<1+ 80*PI()/2
; a! J0 i, C' i4 F& M2 }2 G$ N++++++++++++++++++++++++++++++++++++++" ?8 L+ G# n$ F0 z* K
1.2定义求解函数:
/ G2 ?# R/ B6 K% z, t/ t; }, ~Public Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double
2 K2 u1 s4 P: f6 g2 O% Z; S
  j; G* b; O9 i9 i0 ~! S: D* oDim Res#, VarAdj#
1 [3 k  z! h/ {: P4 w& F
& ^) G+ H& q; ^! MVarAdj = 10 ^ -6
7 G, m. k# D& X, a' c4 s+ K1 \
2 ^8 }4 g, X- M% @If QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then
+ p5 |: P! d& }5 U. o  b' @+ [  r
      Do While (1)+ J  N  S$ z; x4 D5 i

8 i4 |. l. L0 k" ^              Res = (MaxLim + MinLim) / 2
6 A" q4 Q8 L2 R( }6 `1 y0 k8 u  q4 |% q% z0 J( J& a
               If Abs(QesFun(Res)) <= 10 ^ -12 Then
( Q1 C* f7 p+ D7 ]  S' ^, F8 z& \$ Y) s; Z9 R* f9 {& P# [4 ]9 |3 K
                       SolFunDic = Res: Exit Do* ~. u' r3 x7 k  q1 K- x
! B# i( I1 ~* A0 e4 c2 O9 \
              ElseIf (QesFun(Res) < 0) Then
% K+ F# d: g5 r* G) h
8 {- x1 i$ U" O- E& e; r                      MinLim = Res' y& W2 N1 r# G, X* R! o4 L
3 h5 ^" S4 L6 V; @8 A1 U5 q0 E
             Else: W; k  {& f- y& u2 U) N* s
( z) b5 V0 N/ l( \1 r
                     MaxLim = Res
# x5 N- n0 p8 |+ n: j- y$ I, V: l
  L. I/ J" K8 P             End If
2 l) I% p  \" ?             ' k4 p4 t. y, L$ q7 N5 u
      Loop4 k+ x2 ?9 _/ I( m" D  r
' d7 g7 f% l( I6 s$ B
Else( ^* V, t3 C/ a; q" w1 C( t7 C  m

  a7 T1 e3 m) T2 H  T" [5 M! j     Do While (1)% j" h7 ]" m" Z6 f! z" ^) l
     2 D/ t# t+ }* ]- F% [6 Q
               Res = (MaxLim + MinLim) / 2- r8 N) L0 A& Y. T( h) ?

+ g" M- M, G% Q# @" W             If Abs(QesFun(Res)) <= 10 ^ -12 Then
& r* }# z* W& c* v- u5 j& z) ^  n
                        SolFunDic = Res: Exit Do( N. d; c- _7 _
! ]1 z2 q0 `7 Y
              ElseIf (QesFun(Res) > 0) Then. Z1 d1 C; V* z) R" {6 h" P
  E1 `* D8 c( y8 A
                        MinLim = Res
( S3 x: J9 Y8 H% ]9 W
/ c! e3 {, Z2 T1 r              Else
7 f4 _, g0 _1 P; p- k
1 }% ~! d, w& |                         MaxLim = Res! [; }- V, N6 d6 M1 B  j8 {
$ k" q/ f& }: I
            End If" P% P/ T; G, G' Q5 \. B6 E
            * J: g; H: l9 [
      Loop, _4 G/ w3 `# y3 i1 U/ {3 ~
      * ]# @; C. z. @! X. [0 L- D" z& ~$ ~; c- l
End If) k" l# h! t" B; t6 u
End Function
. T- @! N# M3 P. Y9 l5 T/ W--------------------------------------------------------------
4 N0 I, L1 `2 c8 e9 {! j. V# _& H2.        牛顿法
4 [6 p+ p4 i# Z3 T3 @2 @2.1     由      f(AC)=arctan(AC/80)*80+1-AC. e8 q3 C2 R  N* _" @" o+ [( s* r
        求导     f(AC)’=1/(1+(AC/80)^2)-1
( @5 H. j( f( ~$ e  _) I5 Q        即      AC_1=AC_0- f(AC)/ f(AC)’
5 V3 i+ e( [! G+ n. S7 {--------------------------------------------------------------
6 M. Y( F8 U  j" h- _2 B2.2定义迭代函数:" K- o* Y4 v' i/ m7 D! W
Public Function QesFunNew(ByVal Var_AC As Double) As Double
0 j9 D: v% Y/ u8 w6 ^; _( n  N- ?( }9 W: p! Q
              QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)
. _$ C) u% H8 d$ O, |* r4 u              1 L" `  O3 ?' D0 }
End Function: u: x7 t+ i/ D& j& n
---------------------------------------------------------------  c6 g, W) Y0 p
2.3定义求解函数
7 F5 E' z& j7 p! T/ q; aPublic Function SolFunNew(ByVal IniAC As Double) As Double
; ]; b. [7 @/ @/ H1 _: `" D9 M# z1 w# O4 ~1 h! |" u; _
Dim Res#
4 I1 I/ h# [- A7 w5 `# T' ]4 z6 ?$ m1 O& j0 w$ ]
Do While (1)
" X7 ?+ }+ e8 q* I& M5 q) [
" ^! j# T* x) \$ Z$ z  n                  Res = QesFunNew(IniAC)
" O+ J2 n5 K' G9 c/ I$ f" r# \3 `4 b* w  W! Q+ h+ c% S* L% b
                   If Abs(QesFun(Res)) <= 10 ^ -12 Then1 g; g8 A$ b( N; j3 O8 D
  ; I7 a; C4 b6 t
                                   SolFunNew = Res: Exit Do9 E, T* a5 w+ u8 t
  
$ g' R6 l+ T8 }7 \, u                   Else6 t5 I1 y& n& W" x3 h. W
                  5 r. [: q5 m5 u$ i
                                     IniAC = Res8 ~; J% m# p6 {1 P. U( }9 F
                  $ k8 O5 f& l+ x" B
                  End If
" s: ~. Z+ [( r1 X. J' R, B+ x6 Q & t. H. u# f2 A5 \6 s
Loop
9 G* A, i5 _5 \# x$ @----------------------------------------------------------------------------------------------------------, z2 P3 ~1 {+ ~: L
$ a. ]+ k4 p" m5 {
这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。2 E0 c0 c! O7 ~% {( b& Z

- n. z% @) m; W! {  |

点评

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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