11个联立方程组的matlab/python建模

2024-09-25 02:35:24 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在做一个项目,用两个独立的泵沿着板分布聚合物梯度,用已知的[0%到100%]&;[100%到0%]梯度值,我能够创建一组方程,其中“应该”能够将这个方程与我想要的任何梯度相关联。有11个未知数,我可以建立9个方程,加上7个不等式,其中两个我认为是必要的,其他的只是保持正值。随着方程的建立,我已知的0-100梯度值作为一个解决方案,但当我试图解决同一梯度的方程,我已经有了答案,没有一个解算器,我尝试似乎工作。。你知道吗

我的主程序是用python编写的,我更愿意把它放在里面,但是如果可以用matlab来完成,那也没问题。。你知道吗

以下是我用于测试的matlab代码,因为我还不能接近使用python的任何地方..:

clc
clear all

%% Givens
s1 = 0;
f1 = 1;
s2 = 1;
f2 = 0;
vt = 1200;

%% Unknowns
syms ri1 ri2 c1 c2 k1 k2 vf1 vf2 rf1 rf2 t

%% Equations
soln = vpasolve(...
        [ri1 == c1,...
        ri2 == c2,...
        rf1 == k1 * t + c1,...
        rf2 == k2 * t + c2,...
        vf1 == ((k1 * t^2) / 2) + c1 * t,...
        vf2 == ((k2 * t^2) / 2) + c2 * t,...
        ri1 * s2 == ri2 * s1,...
        rf1 * f2 == rf2 * f1,...
        vt == vf1 + vf2,...
        rf1 <= 8,...
        rf2 <= 8,...
        ], [ri1 ri2 c1 c2 k1 k2 vf1 vf2 rf1 rf2 t], [0 8 4/75 150 0 8 8 0 -4/75 600 600])

对于该测试,我甚至使用正确的猜测解决方案,但仍然得到一个空数组。如果我从[-inf,inf]给vpasolve设置一个边界,它表示它与变量不匹配。它也在瞬间完成了解的尝试,所以很明显它只是马上击中了NaN。你知道吗

Here是指向google文档的链接,其中包含格式化的公式和解决方案。。希望我已经进入足够的细节,如果没有请让我知道你需要什么更多的信息!你知道吗

谢谢你的帮助! -凯尔

顺便说一句,我尝试了here发布的内容,但没有成功。。你知道吗

编辑:我能用mathmatica here解决它。。我添加的其他不等式是尝试从答案中删除第一组,这不起作用,但第二组是正确的解决方案。你知道吗

看起来它可能只是超越了matlab和python来解决,我可能不得不目录所有的答案,mathmatica找到它。你知道吗


Tags: 答案k2k1解决方案梯度方程c2matlab