C#中,如何求解这个数学公式?

AhBian 2009-07-01 10:27:51
以下公式中,c1, c2, c3,均为已知常量。




欲求出 L 值。

如何实现?

不好意思,稍微深奥一点的数字,我就真的不会了。
...全文
150 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdgphc 2009-07-02
  • 打赏
  • 举报
回复
这道题其实和C#关系不太大,直接去问数学老师吧。
lzc2125 2009-07-02
  • 打赏
  • 举报
回复
还得用简单的数学方法组合起来吧,以前弄过的
AhBian 2009-07-02
  • 打赏
  • 举报
回复
我的她的父亲,是位资深机械设计工程师。
闲谈之中,出了这么个考题。
这个算是相对简单的方程式,用于选择一个传动装置中所用皮带的型号,及确定两个带轮之间的中心距。
在机械设计中,更复杂更有用的方程式计算,多得是。

要是完不成这个考题,就真有点丢份了。
要是完成了这个考题,不知道以后还有多少个考题在等着我。
laorer 2009-07-02
  • 打赏
  • 举报
回复
牛顿迭代法 可以吗?
不过要先算出极点值....
AhBian 2009-07-02
  • 打赏
  • 举报
回复
程序是什么?
说到底就是算法。

算法是什么?
说到底就是为了解决这类问题。只是问题的复杂度有区别而已。

我们平时都会写:
int a,b,c;
a = b + c;
return a;

这就是算法。只是简单了一点。
AhBian 2009-07-02
  • 打赏
  • 举报
回复
这个时候,就需要“计算数学”专业的朋友们帮忙了。

最好能提供算法思路。是否用 C# 实现,这不重要。
借用 MATLAB 是一种解决方法。

在工程设计领域,这种方程,应该算是不复杂的,因为只求一个未知变量的值。

学了写了那么年软件,发现自己的短板,是越来越多。
AhBian 2009-07-02
  • 打赏
  • 举报
回复
牛顿迭代法是我目前采用的方法,效果还不错。

这一帖,让我依然坚持一贯的对 CSDN 的态度。
wenbin 2009-07-01
  • 打赏
  • 举报
回复
不好解这个方程呀,不是有理方程。
如果真要做那就掉matlab不过那个鸟matlab库也是够大。受不了它
光宇广贞 2009-07-01
  • 打赏
  • 举报
回复
三角函数并线性一起相关的L……你怎么解……
aimeast 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hikaliv 的回复:]
引用 9 楼 chrisak 的回复:
引用 8 楼 hikaliv 的回复:
否则,就是自己用数学式解,然后用C#按照解表达式把结果计算出来啊……楼主以为C#万能呢……不过是一种语言罢了……还是用数学工具解吧。
我是被那个acos卡住了结不出来@_@


同学,这个要迭代……用matlab吧……
[/Quote]

要不就用C#自己来实现这个迭代吧

貌似想不出更好的方法了
ChrisAK 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hikaliv 的回复:]
引用 9 楼 chrisak 的回复:
引用 8 楼 hikaliv 的回复:
否则,就是自己用数学式解,然后用C#按照解表达式把结果计算出来啊……楼主以为C#万能呢……不过是一种语言罢了……还是用数学工具解吧。
我是被那个acos卡住了结不出来@_@


同学,这个要迭代……用matlab吧……
[/Quote]我是说卡在acos无法用笔算写成L=xxxxxx的形式@_@.三角函数全还给老师了...
光宇广贞 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 chrisak 的回复:]
引用 8 楼 hikaliv 的回复:
否则,就是自己用数学式解,然后用C#按照解表达式把结果计算出来啊……楼主以为C#万能呢……不过是一种语言罢了……还是用数学工具解吧。
我是被那个acos卡住了结不出来@_@
[/Quote]

同学,这个要迭代……用matlab吧……
ChrisAK 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hikaliv 的回复:]
否则,就是自己用数学式解,然后用C#按照解表达式把结果计算出来啊……楼主以为C#万能呢……不过是一种语言罢了……还是用数学工具解吧。
[/Quote]我是被那个acos卡住了结不出来@_@
光宇广贞 2009-07-01
  • 打赏
  • 举报
回复
否则,就是自己用数学式解,然后用C#按照解表达式把结果计算出来啊……楼主以为C#万能呢……不过是一种语言罢了……还是用数学工具解吧。
光宇广贞 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chrisak 的回复:]
引用 4 楼 hikaliv 的回复:
Math.Acos 啊……这就给一百分啊……
你们都不看题的么?这是解方程求L,不是叫你们把它写成C#表达式...
[/Quote]

我的想法是……用C#来直接调MATALB,MATLAB7.5+以后就可以支持.net 工程了。
ChrisAK 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hikaliv 的回复:]
Math.Acos 啊……这就给一百分啊……
[/Quote]你们都不看题的么?这是解方程求L,不是叫你们把它写成C#表达式...
十八道胡同 2009-07-01
  • 打赏
  • 举报
回复
有系统函数Math.Acos ,带进去结果就出来了撒
光宇广贞 2009-07-01
  • 打赏
  • 举报
回复
Math.Acos 啊……这就给一百分啊……
ChrisAK 2009-07-01
  • 打赏
  • 举报
回复
反三角函数...
忘了@_@帮顶.
windinwing 2009-07-01
  • 打赏
  • 举报
回复
double l, c1, c2, c3;
System.Math.Sqrt((l * l - c1 * c1)) - (c2 * c2 * System.Math.Acos(l / c1))-c3 = 0;
加载更多回复(1)
本资源涵盖解多元方程组、非线性方程和常微分方程的软件组合,介绍如下: 线性方程组的数值解法: 线性方程组亦即多元一次方程组。在自然科学与工程技术,很多问题的解决常常归结为解线性方程组,如电学的网络问题,船体数学放样的建立三次样条函数问题,机械和建筑结构的设计和计算等等。因此,如何利用电子计算机这一强有力的计算工具去求解线性方程组,是一个非常重要的问题。线性方程组的解法分直接(解)法{是指在没有舍入误差的假设下,经过有限步运算即可求得方程组的精确解的方法。}和迭代(解)法{是用某种极限过程去逐步逼近线性方程组精确解的方法,即是从一个初始向量x0出发,按照一定的迭代格式产生一个向量序列xk,使其收敛到方程组A*x=b的解}。该部分就是针对线性方程组求解而设计的,内容包括:线性方程组的直接解法:Gauss消去法、Gauss列主元消去法、Gauss全主元消去法、列主元消去法应用『列主元求逆矩阵、列主元求行列式、矩阵的三角分解』、LU分解法、平方根法、改进的平方根法、追赶法(解三对角)、列主元三角分解法;线性方程组的迭代解法:雅可比迭代法、高斯-塞德尔迭代法、逐次超松驰迭代法;迭代法的收敛性『正定矩阵判断、向量范数、矩阵范数、严格对角站优矩阵判断』。 非线性方程的数值解法: 在科学研究与工程技术常会遇到求解非线性方程f(x)=0的问题。而方程f(x)是多项式或超越函数又分为代数方程或超越方程。对于不高于四次的代数方程已有求根公式,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。因此,如何求得满足一定精度要求的方程的近似根也就成为了广大科技工作者迫切需要解决的问题。该部分就是针对这一问题而设计的,内容包括:二分法、迭代法、迭代加速法、埃特金加速法、牛顿切线法、弦截法。 常微分方程的数值解法: 常微分方程的求解问题在实践经常遇到,但我们只知道一些特殊类型的常微分方程的解析解。在科学和工程问题遇到的常微分方程的往往很复杂,在许多问题,并不需要方程解的表达式,而仅仅需要获得解在若干点的就算解即可。因此,研究常微分方程的的数值解就很有必要。该部分就是针对这些而设计的,内容包括:欧拉(Euler)方法、龙格库塔(Runge-Kutta)方法、线性多步方法

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧