vpasolve返回一个空的sym 0x1变量,而系统显然确实有一个解决方案(Matlab)

时间:2018-05-24 00:45:56

标签: matlab solver equation-solving

当我运行这段代码时,我为vpasolve设置范围时得到空字符串,当我没有设置范围时我只得到一个解决方案,即使是随机打开。 设置范围使其包含matlab给出的一个解,x = 2,y = 0和b = 1.5。 对于我尝试过的范围--Inf Inf和NaN NaN,让它尝试所有数字。 所以请不要给我答案,说我的系统没有解决方案,显然是这样。 它也不会象征性地解决它(与解决相同的问题),而我可以给出一个可能的解决方案。 0.5 *(x + y)= 1,b *(x + y)= 3 ---> x + y = 2且b = 1.5

所以别的东西一定是错的,如果你让我知道我在这里做错了什么,我将不胜感激。

clear all; %just to be safe
syms x y b 
a=0.5;
somevalue=1;
someothervalue=3;
eq1= a*x+a*y == somevalue; %this is your first equation
eq2= b*x+b*y == someothervalue; %this is your 2nd equation
eqs=[eq1,eq2]; %use this for vpasolve and set range in range
vars=[x,y,b]; %these are the variable you want to solve for
range = [-1 3; -2 5; -Inf Inf]; %NaN means you set no range

%you can use solve or vpasolve, second one being numeric, which is the one you'll probably want
sol=zeros(5,3);
for i = 1:5 
    temp = vpasolve(eqs, vars, range, 'random', true);
    temp = solve(eqs2, vars);
    sol(i,1) = temp.x;
    sol(i,2) = temp.y;
    sol(i,3) = temp.b;
end
sol
temp1.x 
temp1.y
temp1.b

现在我在使用求解选项时有另一个明显的问题/错误,显然答案应该是9:

syms x
eq12 = -3 == sqrt(x);
solve(eq12)
ans =
Empty sym: 0-by-1

以及:

syms x
eq12 = -3 == (x)^(1/2);
solve(eq12)
ans =
Empty sym: 0-by-1

显然这里的答案是9,所以我要改变什么来让matlab解决这个问题,在你告诉我改变方程式之前,这是我必须手动更改的等式,而不仅仅是一次而是100次左右。

更具体地说,我需要解决一些更复杂的问题;消极和积极,负面价值是物理上不现实的,但它是唯一的Matlab可以给我。

              93659574124777211691008 H
H + ---------------------------------------------
    1208925819614629174706176 H + 762832192176831
              1
   == -----------------
      100000000000000 H
                             29250045579840375 #1
   - --------------------------------------------------------------------
     H (922337203685477580800 H + 927343445063259249) 4611686018427387904
                                                   2
                            12879770070323045125 #1
   + ----------------------------------------------------------------------
                                                                          2
     55340232221128654848 H (922337203685477580800 H + 927343445063259249)

,其中

                                     /         2
                                     | 181939 H    852912375078609598437 H
   #1 == 9223372036854775808 H - sqrt| --------- + -----------------------
                                     \    5539     25544128856069301600256
                                               \
           39917248404619332215368770561441    |
      + -------------------------------------- | 9223372036854775808 + 6318009845245521
        85070591730234615865843651857942052864 /

麻烦制造者是我假设的sqrt前面的减号

0 个答案:

没有答案