毕业设计的题目。
有1个很复杂的数学函数f(x,y).就是2个变量的函数
要求函数最小值时候的x,y数学函数实在太复杂 我想请问各位大神。
我要怎么做 我想问问有没有例子可以让我看看呢??

解决方案 »

  1.   

    不是的。我的意思是 我想要把一个函数写成C#
    就是一个数学式子。里面有cos sin 根号 平方 累加 加权 
    这个数学算式是又2个变量 m 和 r
    每次产生2个不同的m和r 就会得出一个函数值。我的问题就是我不懂得怎么把这个数学式子写成c#有了这个式子 我才能继续用优化算法来求解这个式子的最小值。
      

  2.   

    你确定把公式写成c#,就能优化了?这可是需要导数的,导数是要将你的公式降次的,要变化你的公式的,你会变化吗?数学函数都是.net的math类库里
      名称说明Abs(Decimal)返回 Decimal 数字的绝对值。Abs(Double)返回双精度浮点数字的绝对值。Abs(Int16)返回 16 位有符号整数的绝对值。Abs(Int32)返回 32 位有符号整数的绝对值。Abs(Int64)返回 64 位有符号整数的绝对值。Abs(SByte)返回 8 位有符号整数的绝对值。Abs(Single)返回单精度浮点数字的绝对值。Acos返回余弦值为指定数字的角度。Asin返回正弦值为指定数字的角度。Atan返回正切值为指定数字的角度。Atan2返回正切值为两个指定数字的商的角度。BigMul生成两个 32 位数字的完整乘积。Ceiling(Decimal)返回大于或等于指定的十进制数的最小整数值。Ceiling(Double)返回大于或等于指定的双精度浮点数的最小整数值。Cos返回指定角度的余弦值。Cosh返回指定角度的双曲余弦值。DivRem(Int32, Int32, Int32)计算两个 32 位有符号整数的商,并通过输出参数返回余数。DivRem(Int64, Int64, Int64)计算两个 64 位有符号整数的商,并通过输出参数返回余数。Exp返回 e 的指定次幂。Floor(Decimal)返回小于或等于指定小数的最大整数。Floor(Double)返回小于或等于指定双精度浮点数的最大整数。IEEERemainder返回一指定数字被另一指定数字相除的余数。Log(Double)返回指定数字的自然对数(底为 e)。Log(Double, Double)返回指定数字在使用指定底时的对数。Log10返回指定数字以 10 为底的对数。Max(Byte, Byte)返回两个 8 位无符号整数中较大的一个。Max(Decimal, Decimal)返回两个十进制数中较大的一个。Max(Double, Double)返回两个双精度浮点数字中较大的一个。Max(Int16, Int16)返回两个 16 位有符号的整数中较大的一个。Max(Int32, Int32)返回两个 32 位有符号的整数中较大的一个。Max(Int64, Int64)返回两个 64 位有符号的整数中较大的一个。Max(SByte, SByte)返回两个 8 位有符号的整数中较大的一个。Max(Single, Single)返回两个单精度浮点数字中较大的一个。Max(UInt16, UInt16)返回两个 16 位无符号整数中较大的一个。Max(UInt32, UInt32)返回两个 32 位无符号整数中较大的一个。Max(UInt64, UInt64)返回两个 64 位无符号整数中较大的一个。Min(Byte, Byte)返回两个 8 位无符号整数中较小的一个。Min(Decimal, Decimal)返回两个十进制数中较小的一个。Min(Double, Double)返回两个双精度浮点数字中较小的一个。Min(Int16, Int16)返回两个 16 位有符号整数中较小的一个。Min(Int32, Int32)返回两个 32 位有符号整数中较小的一个。Min(Int64, Int64)返回两个 64 位有符号整数中较小的一个。Min(SByte, SByte)返回两个 8 位有符号整数中较小的一个。Min(Single, Single)返回两个单精度浮点数字中较小的一个。Min(UInt16, UInt16)返回两个 16 位无符号整数中较小的一个。Min(UInt32, UInt32)返回两个 32 位无符号整数中较小的一个。Min(UInt64, UInt64)返回两个 64 位无符号整数中较小的一个。Pow返回指定数字的指定次幂。Round(Decimal)将小数值舍入到最接近的整数值。Round(Double)将双精度浮点值舍入为最接近的整数值。Round(Decimal, Int32)将小数值按指定的小数位数舍入。Round(Decimal, MidpointRounding)将小数值舍入到最接近的整数。一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。Round(Double, Int32)将双精度浮点值按指定的小数位数舍入。Round(Double, MidpointRounding)将双精度浮点值舍入为最接近的整数。一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。Round(Decimal, Int32, MidpointRounding)将小数值按指定的小数位数舍入。一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。Round(Double, Int32, MidpointRounding)将双精度浮点值按指定的小数位数舍入。一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。Sign(Decimal)返回表示数字符号的值。Sign(Double)返回表示双精度浮点数字的符号的值。Sign(Int16)返回一个值,该值表示 16 位有符号整数的符号。Sign(Int32)返回一个值,该值表示 32 位有符号整数的符号。Sign(Int64)返回一个值,表示 64 位有符号整数的符号。Sign(SByte)返回表示 8 位有符号整数的符号的值。Sign(Single)返回表示单精度浮点数字的符号的值。Sin返回指定角度的正弦值。Sinh返回指定角度的双曲正弦值。Sqrt返回指定数字的平方根。Tan返回指定角度的正切值。Tanh返回指定角度的双曲正切值。Truncate(Decimal)计算指定小数的整数部分。 Truncate(Double)计算指定双精度浮点数的整数部分。 页首
    字段--------------------------------------------------------------------------------
     
      名称说明E表示自然对数的底,它由常数 e 指定。PI表示圆的周长与其直径的比值,它通过常数 n 指定。
      

  3.   

    C#里有数学函数的,另外做算法的话用matlab比较好点
      

  4.   

    复合形算法 不需要求导 只要一直迭代
    我的题目是基于WEB 要做一个网页出来 无法用MATLAB。
    就是
    首先 我应该吧函数写出来
    然后 我再算法中随机给函数赋值 可以求出函数 然后再迭代 优化 
    这样。谢谢大家啊啊啊啊!!!
      

  5.   

    迭代也要改公式呀,难道你的函数已经是 z=f(x,y,z)了?