V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SolidZORO
V2EX  ›  程序员

(0.99*x) + (1.29*y) + (1.59*z) = 0,這種三元一次用程序怎麼寫?

  •  
  •   SolidZORO ·
    SolidZORO · 2015-10-05 21:13:00 +08:00 via iPhone · 4675 次点击
    这是一个创建于 3342 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我 for 了 3 次,也可以跑出來,但不知姿勢是否正確。
    30 条回复    2015-10-06 22:38:19 +08:00
    qiayue
        1
    qiayue  
       2015-10-05 21:21:26 +08:00 via Android
    这题有很多解吧
    ljdawn
        2
    ljdawn  
       2015-10-05 21:23:37 +08:00   ❤️ 1
    可以用矩陣啊
    menc
        3
    menc  
       2015-10-05 21:23:37 +08:00   ❤️ 1
    这个三元一次方程是一个空间直角坐标系内过原点的平面的方程,

    foreach x and y:
    z = -0.99/1.59*x - 1.29.1.59*y
    (x,y,z) append to solution_set

    用这种方式来得到方程所有解

    不过这样似乎和空间直角坐标系关系并不太大:-(
    ChiangDi
        4
    ChiangDi  
       2015-10-05 21:26:06 +08:00
    这你也能解,三个未知数一个方程无穷多个解啊。
    billgreen1
        5
    billgreen1  
       2015-10-05 21:26:32 +08:00
    请更加清楚的描述你得问题,至少我没理解你要做什么。
    SolidZORO
        6
    SolidZORO  
    OP
       2015-10-05 21:26:46 +08:00 via iPhone
    @menc 其實我是用來算我到底要花多少錢才能把 appstore 的餘額清零⋯⋯ 我算了下貌似要好多錢,所以上來問問。
    billgreen1
        7
    billgreen1  
       2015-10-05 21:27:33 +08:00
    menc
        8
    menc  
       2015-10-05 21:29:31 +08:00
    或者如楼上,当做齐次线性方程组来求解,得到基础解系,这样解的形式更赏心悦目一些:-)
    menc
        9
    menc  
       2015-10-05 21:30:40 +08:00
    @SolidZORO 那你的常数项不应该是 0
    SolidZORO
        10
    SolidZORO  
    OP
       2015-10-05 21:34:27 +08:00 via iPhone
    @menc 嗯,的確不是 0 ,我只是想學學大家解開的過程。

    假設 appstore 的餘額是, 0.81 ,然後可以消費的 app 是 0.99 、 1.29 、 1.59 ,如果沒有解出,但餘額不夠了,需要加 10 ,以此類推。
    hellov22ex
        11
    hellov22ex  
       2015-10-05 21:36:46 +08:00
    只有一个方程,理论上无穷啊
    menc
        12
    menc  
       2015-10-05 21:43:18 +08:00
    @SolidZORO 当做齐次线性方程组来求解 就这样
    jky
        13
    jky  
       2015-10-05 22:10:58 +08:00 via Android
    @SolidZORO 最小需充值 30 , 0.99*22+1.29*7
    wy315700
        14
    wy315700  
       2015-10-05 22:37:58 +08:00
    求整数解吧,,,三维空间里的平面上的整点
    ferran
        15
    ferran  
       2015-10-05 22:43:35 +08:00
    用递归一个个试。。
    zeal7s
        16
    zeal7s  
       2015-10-05 23:05:59 +08:00
    每当我要解方程的时候我就用 WolframAlpha
    http://www.wolframalpha.com/
    SolidZORO
        17
    SolidZORO  
    OP
       2015-10-05 23:14:56 +08:00 via iPhone
    @zeal7s
    @jky
    謝謝大家,凌晨回到家我試試你們的各種方法。
    stage37
        18
    stage37  
       2015-10-05 23:32:54 +08:00
    @SolidZORO 你想求的是最简单的线性规划问题,如果写程序搞不定可以用 LINGO ,上面有朋友说的 WolframAlpha 应该有针对 linear programming 的 widget ,搜搜就好了。
    Valyrian
        19
    Valyrian  
       2015-10-05 23:39:15 +08:00 via iPhone
    经典算法问题, linear programming
    XIVN1987
        20
    XIVN1987  
       2015-10-05 23:57:00 +08:00 via Android
    sympy 符号运算
    Yvette
        21
    Yvette  
       2015-10-06 00:00:43 +08:00 via iPhone
    楼主余额折腾这么久还没清零呢…

    用 MATLAB 或者 Python 写两个几个递归加上整数条件就可以跑了
    cxshun
        22
    cxshun  
       2015-10-06 00:02:10 +08:00
    @SolidZORO 余额清零,实际上简单,你就绑个银联卡,用银联卡消费就好啦。
    SolidZORO
        23
    SolidZORO  
    OP
       2015-10-06 00:17:15 +08:00 via iPhone
    @Yvette 哈哈,我也覺得折騰,郵件阿婆 72 小時也不給處理,回到深圳再稍擾阿婆。我只是好奇如果手動 reset 得多久。
    BooksE
        24
    BooksE  
       2015-10-06 01:10:26 +08:00 via iPhone
    让在线客服帮你弄 分分钟搞定
    justpayne
        25
    justpayne  
       2015-10-06 02:36:34 +08:00
    楼主,你这个是个线性整数优化问题
    min (ax+by+cz)
    s.t. (0.99*x) + (1.29*y) + (1.59*z) = d
    linux40
        26
    linux40  
       2015-10-06 08:58:54 +08:00 via Android
    线性代数,然而大一学的我早忘了。。。。
    lujiajing1126
        27
    lujiajing1126  
       2015-10-06 12:55:07 +08:00 via Android
    三元的你要解出来要有三个方程吧

    用矩阵解,其实关键就是求逆矩阵,三阶逆矩阵很好求的

    推荐用 matlab
    wizardforcel
        28
    wizardforcel  
       2015-10-06 13:54:59 +08:00 via Android
    三个未知数,秩为 1 ,解出来两个自由变量。

    x 自由, y 自由, z = -x - y 。
    wizardforcel
        29
    wizardforcel  
       2015-10-06 13:56:30 +08:00 via Android
    @wizardforcel 打错了。。。 z = -0.99/1.59*x - 1.29.1.59*y
    simy
        30
    simy  
       2015-10-06 22:38:19 +08:00
    有种奇妙的数学叫做线性代数
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2863 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.