当前位置 :
使用mathematica求解多元不等式整数解出错,tt={10.11,14.31,17.48,25.99};i=0;Do[m1=(tt[[i]]-d[[1]])*(tt[[i]]-d[[1]])/c[[1]]/c[[1]];Reduce[{m1-1≤39.1*k+16*o+14*n+10.8*b≤m1+1,k≥0,o≥0,n≥0,b≥0},{k,o,n
1人问答
问题描述:

使用mathematica求解多元不等式整数解出错,

tt={10.11,14.31,17.48,25.99};

i=0;

Do[m1=(tt[[i]]-d[[1]])*(

tt[[i]]-d[[1]])/c[[1]]/c[[1]];

Reduce[{m1-1≤39.1*k+16*o+14*

n+10.8*b≤m1+1,k≥0,o≥0,n≥0,b≥0},{k,

o,n,b},Integers],{i,1,4,1}]

这段代码是想分别用tt的五个元素,求解满足不等式的k,n,o,b的整数解,可是一执行语句就报错……为什么?

d[[1]]和c[[1]]是两个参数,在这里无关紧要,换成两个任意常数就行了,我这里是-2.846和3.294。tt这个列表里有四个元素,我的目的是在分别以这四个元素为参量的情况下求解我所给出的不等式的整数解,但是会报错。大家运行一下这段程序就明白了。提示信息的大意是mathematca无法精确求解。

话说这个其实昨天后来我也解决了。我在m1的外面加了个取整函数,又把整个不等式都乘了个10后就不会报出这个错了。(由此看来mathematica在整数规划方面并不是很强啊……)但现在产生了一个新的问题。

修改后的语句,若是把其中的Reduce部分挖出来单独运行,是可以得出结果的,但是若是放在Do里面,Reduce所得的结果就无法输出了……这是为什么?

卜飞宇回答:
  请给完整的程序,并且把题目描述清楚,报什么错误也要写出来啊
最新更新
PC端 | 移动端 | mip端
字典翻译(zidianfy.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
电话:  邮箱:
Copyright©2009-2021 字典翻译 zidianfy.com 版权所有 闽ICP备2022014709号-7
lyric 頭條新聞