草庐IT

数学论文

全部标签

c# - 通过编写 C dll 来加速 C# 中的数学代码?

我有一个非常大的嵌套for循环,其中对float执行一些乘法和加法。for(inti=0;i这个循环占用了我大部分的处理时间,是一个瓶颈。如果我用C重写这个循环并从C#连接到它,我是否会看到任何速度提升?编辑:我更新了代码以显示s和c是如何生成的。此外,内部循环实际上是从0到i,尽管它可能对问题没有太大影响EDIT2:我在VC++中实现了该算法,并通过dll将其与C#链接,并且在启用所有优化后,速度比C#提高了28%。启用SSE2的论点特别有效。使用MinGW和gcc4.4编译只提供了15%的速度提升。刚刚试用了英特尔编译器,发现这段代码的速度提高了49%。

c# - 使用数学运算符评估字符串

这个问题在这里已经有了答案:Evaluatingstring"3*(4+2)"yieldint18[duplicate](13个答案)关闭9年前。是否有一种简单的方法来评估像这样的字符串“(4+8)*2”这样您就可以获得24的int值?还是需要做很多工作才能完成...?

c# - 在 C# 中使用数学符号显示方程

我有一个非常简单的应用程序,可以生成方程式,非常简单的,比如4+5=xx+4=1215/x=3x^2=4sqrt(6)=x当我向自己展示像x+4=12这样的方程式时,我可以很好地阅读它,但如果x^2=4就更好了将显示为x2=4。它不必像图像一样,可以是其他任何东西,但它应该是这样用户可以理解方程式。是否有一些图书馆可以帮我解决这个问题? 最佳答案 您可以将MathML库添加到您的应用程序中。这是一个通用的数学格式化库。MathMLinC#这些示例还包括非XML定义的方程式。您可能正在寻找的另一个库应该是用于C#的LaTeX,不过,我

c# - 评估数学表达式的最佳算法?

评估数学表达式的最佳算法是什么?我希望能够稍微优化一下,因为我可能有一个包含各种变量的公式,我可能需要使用不同的变量对其进行数百次评估。所以基本上,如果我最初可以解析公式,以便以某种方式对其进行优化,然后我可以根据需要多次将变量传递给这个优化版本,每次它都会为我生成一个结果。我将使用Delphi或C#编写此代码。我已经使用调车场算法编写了类似的东西,但每次我需要计算相同的公式时,我都必须经过解析阶段。必须有更好的方法来做到这一点。 最佳答案 如果你想用Delphi来做,你可以看看JclExprEval单元是如何工作的,它是JEDIC

2023美国大学数学建模美赛春季赛Z题思路详细代码

题目的第一问要求:COMAP的现代运动会跨学科委员会(ICMG)有兴趣探索创造性的选择、战略和政策,以确保奥运会取得成功并继续通过体育将世界联系在一起。你的任务是提出支持ICMG工作的建议。ICMG建议从多个角度建立衡量举办奥运会影响的指标:经济、土地使用、人类满意度(运动员和观众)、旅行、未来改进的机会、主办城市/国家声望以及您的团队确定的其他标准。我们分析如下,可以从以下角度考虑:经济影响:考虑衡量举办奥运会对主办城市/国家的经济影响,可以采用以下指标:GDP增长率、就业机会增加量、吸引外资量、商业活动量等。土地使用:考虑衡量举办奥运会对土地使用的影响,可以采用以下指标:使用土地面积、土地

C#:通用数学函数(Min、Max 等)

我正在考虑为基本数学运算(如Min、Max等)编写通用函数。但是我不知道如何比较两个通用类型:publicTMax(Tv1,Tv2)whereT:struct{return(v1>v2?v1:v2);}那怎么样?谢谢。 最佳答案 您可能想要constrain要实现的通用类型IComparable:publicTMax(Tv1,Tv2)whereT:struct,IComparable然后使用CompareTo方法:{return(v1.CompareTo(v2)>0?v1:v2);} 关

c# - 使用 Linq 进行数学统计

我有一个person对象的集合(IEnumerable),每个人都有一个age属性。我想生成集合的统计数据,例如此年龄属性的最大值、最小值、平均值、中值等。使用LINQ执行此操作的最优雅方法是什么? 最佳答案 这是Median的完整通用实现,它可以正确处理空集合和可为null的类型。它以Enumerable.Average的风格对LINQ友好,例如:double?medianAge=people.Median(p=>p.Age);当集合中没有非空值时,此实现返回null,但如果您不喜欢可为空的返回类型,则可以轻松地将其更改为抛出异常

c# - C# 中 3D 数学的好库?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我正在编写一个工具,用于处理大量3D数据,执行诸如旋转对象、平移、缩放等所有有用的事情。有谁知道已经有一些这种常见的3D东西的好库?目前我对可视化数据不感兴趣,主要对执行操作感兴趣。我知道我现在需要的东西:2D/3D/4D向量(加法、减法、点积、叉积等...)使用矩阵旋转/平移/缩放四元数我能够找到Sharp3D图书馆,但它似乎可以做我想做的事,但很长时间没有更新了。

c# - .NET 中的快速矢量数学 - 有哪些选项?

我的3D图形软件是使用SlimDX用C#编写的,它在CPU上执行大量矢量运算。(在这种特定情况下,无法将工作卸载到GPU)。我怎样才能使我的向量数学运算更快?到目前为止,我已经找到了这些方法:在Mono而不是Microsoft.NET上运行,因为它们支持SIMD。不是这个项目的选择。SlimGen,一个在运行时注入(inject)高性能数学代码的项目。遗憾的是,该项目尚未处于可用状态。使用使用SSE指令的编译器用C++编写DLL。与来自C#的DLL互操作。是否有任何其他选项可以在.NET中更快地完成矢量数学? 最佳答案 使用Micr

C# - 数学圆

我正在尝试了解如何使用C#舍入到最接近的十分位。例如,我有一个double类型的值。这个双倍目前设置为10.75。但是,我需要四舍五入然后截断所有超过十分之一的位置。在这种情况下,我正在寻找10.8的值。我如何在C#中四舍五入到十分位?谢谢! 最佳答案 Math.Round(yourNumber,1)第二个参数是四舍五入的小数位数。在您的情况下,您需要小数点后一位作为最终结果。 关于C#-数学圆,我们在StackOverflow上找到一个类似的问题: http