EXCEL (VBA) 自定义函数 迭代计算 悬链线索长

本文介绍了如何在Excel中利用VBA自定义函数解决需要迭代计算的问题,以求解悬链线索长为例,详细阐述了工程背景、迭代求解的思路,并提供了具体的VBA代码实现。用户可以按照提供的调用方法直接在Excel中使用此自定义函数。
摘要由CSDN通过智能技术生成


前言

众所周知Excel是一款非常强大的实用的办公软件,其内嵌的数量巨大的函数库基本能够满足我们日常工作需求。但由于需求的多样性,仍有一些功能无法满足,如需要进行迭代计算的函数功能等,这就需要自己定义特殊的函数以供特殊需求用啦。本贴以迭代求解悬链线索长为例,给出在VBA中自定义函数的方法,以飨读者。


一、工程背景

悬链线是自然界中最常见的一类线形,如晾衣绳、轮船系泊链、斜拉桥拉索等,关于其介绍请读者参考其他相关读物。悬链线微分方程(已知索力T求索长S)的求解思路如下:
在这里插入图片描述在这里插入图片描述
显然,方程式(6)为隐函数方程,通常没有解析解,因此需要构造迭代方程,进行迭代求解,思路如下:

  1. 选定迭代初值:取水平索力的迭代初值为H0=T*cos(atan(h/l));
  2. 根据公式(4)计算中间参数C1;
  3. 根据公式(5)计算A点斜率KA;
  4. 根据公式(6)迭代计算索力水平分力H1
  5. 比较迭代前后H0与H1的差值,如果满足误差精度要求,则结束迭代,否则令H0=H1,返回到步骤2
  6. 索力水平分力为H1
  7. 根据公式(7)和(9)计算索长与无应力索长。

二、功能实现

点击开发工具>Visual Basic,插入“模块”,添加代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值