机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 子子61961
打印 上一主题 下一主题

在日本做机械设计的感受23:一道计算题的回帖

[复制链接]
11#
发表于 2016-2-15 12:48:43 | 只看该作者
关注
12#
发表于 2016-2-15 14:51:40 | 只看该作者
非常感谢你的分享,上来就学了一手单变量求解!!!0.329784444989256
13#
发表于 2016-2-15 15:05:59 | 只看该作者
谢谢分享
14#
发表于 2016-2-15 15:16:40 | 只看该作者
大侠说到的回帖方式就是一种网络交流礼仪啊。如果大家都能注意,大家都会受益。
+ V2 w' c8 O0 B# c% ~ w* }也谢谢大侠的单变量求解。
15#
发表于 2016-2-15 15:27:18 | 只看该作者
大侠,学习了。
6 B ~9 X/ S2 A: d- `关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问题,现在明白了一点,太深了。谢谢。6 O0 f$ x# \9 @7 ]9 O {5 d' g; I
温习并熟练了单变量求解。! z, s( J8 Z; F+ j* Y& q+ z
附图为我的计算结果:精度好像不太高,正在想方法解决。

单变量求解(方法).JPG(51.36 KB, 下载次数: 62)

单变量求解(方法).JPG

评分

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

查看全部评分

16#
楼主 | 发表于 2016-2-15 15:47:01 | 只看该作者
点滴积累 发表于 2016-2-15 16:27 + ?; K- w* \7 `! x) I% F" W
大侠,学习了。
# A+ t6 H8 V! c6 g1 z7 U关于中国文化,您提到的事情,实实在在存在着,也一直困扰着我。起初我一直怀疑是管理的问 ...
0 d k9 d, O8 p0 ?
感谢您的认真回帖。; o# J) W, {* E: \
关于管理方面的问题,其实可以考虑为两个方面。7 l1 F$ R' f0 |5 A- ~( `
一方面是从上向下的监视和修正,
' u: X' M @2 s- Z, k* `一方面是从下层开始的自省和改善。
- X- J4 v1 D' J% d. y% v' i z3 m中国提到的管理,往往更偏向于前者," V2 l# H0 ]! e+ e
而日本的管理,其实是后者做得更好一些,
- r# u2 t8 \1 J3 ~) N+ Y& g所以在日本,从上层向下的管理会轻松一些。
7 I# r( B3 F' [6 X" Q3 L% r8 D+ X以前在第二话的文章里面写过一点,以后考虑也继续写一些。
" J) Y( M. ~8 C0 r
! {: k' k r; x1 p- G关于单变量求解,它有计算的设定。4 H6 j M( g6 R; X
在Excel的菜单里面,工具--〉选项--〉计算方法--〉反复计算4 [5 E% C3 k. H( B7 \1 O+ [3 C
7 x m: X+ J; Y5 m8 e/ H- E

! E% j* s3 X& z, q! V(抱歉手边现在只有日文电脑,可以看里面的汉字参考)
+ U8 Y" I7 S& A# C% z. ~3 ~! {5 Q$ D. x; ]0 a
里面有反复计算的设定值。最大反复次数100次,变化的最大值 0.001。5 S3 p$ N N& Y7 k9 g
将这个次数改大一些,或者变化值改的更小一些,则会得到更精确一些的结果。6 v4 F; o) C; @
" q( L9 o. X- {& C9 X
另外,如何选取可变单元格也是一个因素。
& h0 j& g( G3 `# s% z7 p, X: C如果选择使用弧度,就是在0.32左右每次变化0.001进行求解。
' B( l* U6 ^: |- r如果选择使用角度,就是在18.8左右每次变化0.001进行求解。9 T% X3 y# n4 u! u& L
其收敛的速度是不同的。
* p0 f9 d# _3 U! _% D4 M7 X

点评

500,500,500,300,200 发表于 2016-2-18 13:19
17#
发表于 2016-2-15 16:06:37 | 只看该作者
子子61961 发表于 2016-2-15 15:47 9 N2 V4 W. I0 n7 e, |" q$ \0 [8 [1 w* V
感谢您的认真回帖。
6 v+ A+ G; D6 n' n% n$ I% E关于管理方面的问题,其实可以考虑为两个方面。
0 z# Q! `2 @* V* B: ~一方面是从上向下的监视和修正,

+ J" r% d( V1 W& a2 k( w. g3 p大侠,中文版,呵呵

单变量求解(方法)精度问题.JPG(111.1 KB, 下载次数: 63)

单变量求解(方法)精度问题.JPG

点评

THANKS~ 发表于 2016-2-15 16:23
18#
发表于 2016-2-15 17:06:51 | 只看该作者
本帖最后由 andyany 于 2016-2-15 17:08 编辑# r/ }* o: c4 |0 l' L* v
1 U9 P8 |2 p) [. r/ k
据我所碰到的,国内的交流能力都很低。
- d, @% W) j# B5 P2 m) J1- ?' V3 Y9 P: b" Y
当你问问题时,其实对方也不会,但他会说”这你都不会?!“ 让人备受羞辱。4 f5 ]9 b5 v4 W' M+ a+ ?
但有段时间和老外一起工作,老外不会时,一般也不会说”我不会“导致你干等或自己一通找,而是说”你找xxx,他会帮助你“,给你指路。让人倍感温暖。2 K2 ]- H3 y- G4 G% {
2" ]7 r# U! ]( h8 N1 i5 d6 U+ `. q
你觉得国内领导应该经历过,于是去求助。领导说“这个你应该自己搞定”,你也没话说。而你若是求助外方的领导,即便很大的官,也会给出你答案甚至理由和引申,让你佩服得不要不要的。

评分

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

查看全部评分

19#
发表于 2016-2-15 19:15:28 | 只看该作者
我想楼主想说的是 不要想着什么工具 软件 用笔头算吧!! 这是一个做设计人员对基本定理规律的理解 这是根本 不要太依赖工具软件 否则就失去了根本的理论基础 这样谈何开发
20#
发表于 2016-2-15 19:51:33 | 只看该作者
AC-arctan(AC/80)*80=1是数学问题。+ t! s/ \+ t5 g- ~7 u% o* a
子子大侠既然读过VB,那么读VBA代码就应该没什么困难,核心是数值计算。6 R$ _+ X* v( n: J2 }
---------------------------------------------------------------------------------------------------------------------------------------
( X6 P6 d: Y0 Q Y7 P% c! P定义待求解函数:
' ~" u3 @' W1 M0 xPublic Function QesFun(ByVal Var_AC As Double) As Double
; G' w, ?/ M* m# t/ N6 k4 n
/ X) U* a" ]& `3 D; oQesFun = Var_AC - Atn(Var_AC / 80) * 80 - 1
1 r+ u* |0 y% G0 V' b: ]$ L J% a9 m1 }
End Function
) D7 K+ Z) `: m4 r6 f--------------------------------------------------------------------------------------------------
6 `; L( ^* L3 `4 z& Y: m/ P/ m( g1. 二分法7 k3 c. B4 R4 p1 G6 ?" d9 ]/ h
1.1 由 Arctan(AC/80)=(AC-1)/806 N7 W9 v, {, t! {2 g$ P
知 -PI()/2<(AC-1)/80< PI()/21 M! \8 w- a. V2 f t6 w2 c2 I0 v
即 1 -80*PI()/2! D* \1 ~/ b) K# v r- W* c7 p++++++++++++++++++++++++++++++++++++++G3 \5 x! U2 P
1.2定义求解函数:
1 C% p4 ~. }0 d1 p# y( x3 J' hPublic Function SolFunDic(ByVal MaxLim As Double, ByVal MinLim As Double) As Double0 z. B3 ^" Y& N/ W& U# L
; ]9 U( X7 ^# P. G% s! D
Dim Res#, VarAdj#% M8 S9 Y9 O; r- S; z6 f- d% [

}, L* J: v kVarAdj = 10 ^ -6$ N& h$ `7 _3 z
+ O7 {3 e' }. K
If QesFun(MinLim + VarAdj) < QesFun(MaxLim - VarAdj) Then
# l( u6 `( L3 R W+ B! S) j s% t) b% Y
Do While (1)$ L; O# `' }4 P, c( [

$ K7 w$ r2 Z4 V" [Res = (MaxLim + MinLim) / 28 d+ J) Q G! L ]- v
% s+ U8 B2 y& w' B- q6 O
If Abs(QesFun(Res)) <= 10 ^ -12 Then
% S; b- Y2 G" i. m
5 L" J$ q' `$ J; \& ?6 u$ L- O6 O" HSolFunDic = Res: Exit Do" V/ b# j+ \$ m# C+ O& J8 _" E

! X& o) G% q" QElseIf (QesFun(Res) < 0) Then
" B% f( E; O# Y \3 T3 \' q! q& z& F- P; ^
MinLim = Res
9 I/ X7 `5 `9 v- A6 ^, [; T7 S
& _* h% G; d$ a# n( l6 L- ^! AElse
! P1 p5 Z$ }$ x* D" `3 p! Y/ f+ `7 V1 V3 n+ d- p
MaxLim = Res
- P( b# Q1 d+ o) B" ^6 {" t2 k* {# `! ~2 _/ `+ m- p
End If5 R0 X8 s' _- ~* Z

3 Y) B q( o5 G: \; d5 }0 P7 tLoop1 X. d3 W- F, M+ b& O8 _9 U5 {
$ S. O; I& K# c9 x, I- p
Else+ z$ y9 X+ J H$ H+ R& j
2 h& s6 g, ~2 N5 P
Do While (1). p3 G) t+ J! c3 K9 J8 D. U% I8 j

9 S+ }# M. T7 z+ H0 D4 [# i2 mRes = (MaxLim + MinLim) / 28 O: b$ Q5 N6 Q$ a; g

) U9 m& C3 s: y l# XIf Abs(QesFun(Res)) <= 10 ^ -12 Then
( |! J) C g+ L+ q# T4 x1 m0 N
. O. q7 p8 M1 ?5 C; {6 \SolFunDic = Res: Exit Do+ i/ f6 x5 U. K- `( k$ ]6 n
2 ^! P: K8 a* }) g# N: b
ElseIf (QesFun(Res) > 0) Then& X, A- B1 g* m/ H; \: ]$ s
/ O) W! i0 I& q4 C, U: ]
MinLim = Res
+ D( M3 f+ T; T! d% N6 d" L+ A. w: G
Else& s" ^3 H+ r7 Q) u- K

1 h5 R. L# H3 a0 [MaxLim = Res
8 j+ o% `% J5 ] X: w* i4 i
" w% @2 u6 Y% D7 _' o" n2 B% HEnd If
! _2 k) l9 M- Z' _
; R: e7 q4 H8 DLoop4 [5 V+ C8 t- M% ^: w/ L5 A

+ K3 K+ C4 f+ T" s- H( lEnd If4 Y! @( X& t) v! Q; X& T$ O
End Function) `0 t$ r4 t, i* ?+ r5 S* N3 T
--------------------------------------------------------------! p/ l( s% l, f0 j1 M u3 w) B
2. 牛顿法9 \5 |; L: J& B5 p6 O
2.1 由 f(AC)=arctan(AC/80)*80+1-AC/ s( a$ n D! P- ~; y
求导 f(AC)’=1/(1+(AC/80)^2)-1) D: \& P0 H+ g5 h/ X4 f' L) B" s3 v' Y
即 AC_1=AC_0- f(AC)/ f(AC)’: D4 @' \2 g# P
--------------------------------------------------------------
2 I2 O3 P X4 X* n2 ]2.2定义迭代函数:) e) R9 z. Z; _- b, s( P; Q4 G
Public Function QesFunNew(ByVal Var_AC As Double) As Double
. E) }2 e( r) a% C9 ~- c5 }0 B1 `% d: M3 H/ u
QesFunNew = Var_AC - (Atn(Var_AC / 80) * 80 + 1 - Var_AC) / (1 / (1 + (Var_AC / 80) ^ 2) - 1)
6 E" U5 |# J5 \) u2 K7 e o- C6 `
End Function/ T3 ~0 H! P* {' B7 D8 o
---------------------------------------------------------------
7 o" X' Z S+ c2 t4 ?2.3定义求解函数& ]$ @$ g- @+ |7 j% D
Public Function SolFunNew(ByVal IniAC As Double) As Double
' p) \. P2 R# w8 {9 h6 Z E- {! ], ?$ J/ S+ e8 Q W' q+ `
Dim Res#' M* v9 S: Z* ^# e9 Q4 Z, E& ^
) R* L# u1 o" ^6 L
Do While (1)* r2 M* e* f( U3 q0 V4 @
4 D* P4 n( w% @( g" G: v
Res = QesFunNew(IniAC)3 W$ g$ c+ T' M5 C: P8 U1 _# Y& I

0 _# p0 ?3 l! x. S# R& TIf Abs(QesFun(Res)) <= 10 ^ -12 Then
5 I1 f. e q; z3 |1 Q; T
+ b, O& J2 y" y1 U5 d% ySolFunNew = Res: Exit Do
9 J- e0 U8 x: F2 @2 J; u* H9 x3 `) I! y" a
Else
# l7 @3 e# F H+ N- b# I2 b- o
! l+ b# y5 E, i6 f0 {0 I, k% WIniAC = Res
% V1 Z2 b" P- g" V1 m" B8 d8 h5 H* V; K+ g: a3 s/ J/ `" N \
End If* M0 E7 I4 \0 l& {

; u; c0 f6 D/ F/ R$ X1 rLoop! S, c& I! X( O ~0 E5 d: F
----------------------------------------------------------------------------------------------------------h: k- G, G' ?. _! F' k J) n8 V

/ t7 ]$ q! @. ^ w这样做可能有点麻烦,但涉及到循环,迭代时,可自由调用自定义VBA函数和工作表函数(矩阵计算连杆机构),还可控制输出表格,便于插图。计算冷却塔时,积分得用辛普逊;解汽水比,得解非线性方程。对这些问题,EXCEL 工作表自身好像很吃力。
2 P- ~4 N6 |; `0 j8 M; n. a- G( w4 w. |7 r4 i/ }9 W9 B

点评

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

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

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