用matlab解方程的结果不对 零明明不是方程的解,而且方程的解有很多,为什么显示的结果是零?

来自:    更新日期:早些时候
使用MATLAB解的方程答案结果为什么是零~

solve函数的语法定义主要有以下四种:
solve(eq)
solve(eq, var)
solve(eq1, eq2, …, eqn)
g = solve(eq1, eq2, …, eqn, var1, var2, …, varn)

x=
.23140644928918218153101060547769-.67491068262896175490672890157873*i
.20016682566539328529481487387737e-1-.36668625092020700013944479932083*i
.74433216548435660974638651706013+.71122684333944127690630086595804*i
.23140644928918218153101060547769+.67491068262896175490672890157873*i
1.1672434326844091586008062438999+.30480902934830614740946765663994*i
1.1672434326844091586008062438999-.30480902934830614740946765663994*i
.74433216548435660974638651706013-.71122684333944127690630086595804*i
.97150888215238704004539352707680e-1+.65494401824048649803101449105303e-1*i
.97150888215238704004539352707680e-1-.65494401824048649803101449105303e-1*i
.81427195940000123190090181518741e-1+.11074783070017496124927165466808*i
.20016682566539328529481487387737e-1+.36668625092020700013944479932083*i
.50414983100005981616952291587631e-1-.18567195971423744977099629217465*i
.50414983100005981616952291587631e-1+.18567195971423744977099629217465*i
.81427195940000123190090181518741e-1-.11074783070017496124927165466808*i

运行你的程序可以看到,得到的K值为一个具体的数据数组,而不是函数表达式,所以solve('K')的值是零。

请你检查函数关系是否有问题?

你在解方程?未知数什么?也提醒你注意E\F\G三个数都是0

可是我要求的是当y在-9到9之间时,方程K=0的所有解,包括复数解。
很明显?明显是你在想当然,y是未知数的话,y=-9:9怎么解释,在此情况下K=4*y.^2...已经可以给出K的值,那你还在解什么方程

你知道y=-9:9是什么意思吗?是指y的值在-9到9之间!我要求的是当y在-9到9之间时,方程K=0的所有解!
看来是我孤陋寡闻了,用matlab四、五年了,还是第一次看见您这种用法。既然您这么坚持,那就不班门弄斧了


用matlab解方程的结果不对 零明明不是方程的解,而且方程的解有很多,为什么显示的结果是零?视频

相关评论:
  • 15869735715matlab solve 解这个方程组得出的结果不对
    席径堵这样就好了,matlab不能把解一一对应 clear;clc G10DivideByG5=0.9271;X10=0.3030;G17=1;X17=0.6;X18=0.35;X8=0.35;X6=0.9485;G13=1;X13=0.6;syms G5 G6 G18 eq1=G5*G10DivideByG5*X10+G17*X17-G18*X18;eq2=(G18-G5)*X8+G6*X6-G13*X13;eq3=G6-G5*(1-G10...

  • 15869735715求助大神!Matlab解二元一次方程得不到想要的结果
    席径堵最大的错误是,把 pi 看成了变量而不是一个π值,实际软件系统已经自定义了pi 值。所以将这句命令 syms E A L x p0 pi 改成这样就可以了 syms E A L x p0。一般的错误是,用solve()函数求解值,应指定求解变量。即为 [a1, a2] = solve(equation_1, equation_2,'a1','a2');其...

  • 15869735715matlab,solve函数解方程组,无法求出结果。
    席径堵复制粘贴你的代码是没有问题的。该代码在matlab2018中通过。出现这个情况,可能你的版本不支持,下列solve的格式 [x1,x2,y1,y2]=solve(nA==((1+rn)*(a*NA-。。。你可以这样改,把“==”改成“-”[x1,x2,y1,y2]=solve(nA-((1+rn)*(a*NA-。。。

  • 15869735715为嘛我用MATLAB求方程时,正着解和反着解的结果不一样呢
    席径堵可以。简单的说,解一个二元一次方程组如:x+y=3,x-y=1。程序如下:sym x y a b;[a,b]=solve(x+y-3,x-y-1);得到的结果是 a=2 b=1 在等号右边出现的第一个参数对应等号右边x的值,第二个参数对应y的值。也就是说等号左边靠前的参数对应等号右边字母表中靠前的值,靠后的对应...

  • 15869735715matlab fsolve解方程结果不对?
    席径堵2)\/700-11*(0.1046)^2\/6300);difference = F3_right_side - x(3);disp(['Difference between F3_right_side and x(3): ', num2str(difference)]);如果difference值较小(接近零),则说明求解过程是正确的。如果difference值较大,可能需要检查方程是否存在误差或求解过程中是否存在问题。

  • 15869735715matlab求解方程解的表达式,解不出来...
    席径堵由于给出的方程比较复杂,用matlab的solve函数是很难得到x(a,c)的表达式。如a、c为已知值,则可以(用vpasolve,fsolve等)得到x的数值解。

  • 15869735715matlab解三元二次方程组,我的程序怎么运行不出想要的结果,请各位大侠指 ...
    席径堵syms x y z [x,y,z]=solve('2.6926+0.0192\/(z^2-0.0195)-0.0143*z^2-x^2=0','2.1846+0.0085\/(z^2-0.0143)-0.0023*z^2-y^2=0','(x^2-y^2)\/(x^2+y^2)*1.54-z*5\/19=0')x=vpa(x,4)y=vpa(y,4)z=vpa(z,4)按上面语句试试 ...

  • 15869735715MATLAB解方程不对
    席径堵1、什么版本会求出x=60、pa=50?我这里求出来的值和你不一样啊。2、最主要的问题出在函数返回值的顺序:solve函数返回多个参数时,顺序并不是你随便指定的(也不会根据你调用使用的符号智能确定),而是按照所求解方程中未知数的字母顺序返回的。也就是说,函数的正确调用方式是:>> [pa,pb,t,x...

  • 15869735715matlab解4元二次方程组,不知道哪里出问题了,怎么都算不对.望各位大神求...
    席径堵原因很简单,就是返回的参数值是按照你后边的顺序来。solve并没有保证说你结果跟你后边的参数顺序一致。所以改成下边这样:t1=0.0001241;t2=0.0001272;t3=0.0000313;a=0.3;b=0.45;syms x y r c eq1=x^2+(y-b)^2-(r+c*t1)^2;eq2=(x-a)^2+(y-b)^2-(r+c*t2)^2;eq3=x^...

  • 15869735715matlab解三元一次符号方程组,出不来需要的结果。求助啊啊啊
    席径堵后面加上未知量的限定就好啦:[B1 B2 B3]=solve('(m1*s^2+(c1+c2)*s+k1+k2)*B1+(-c2*s-k2)*B2+(-c2*s-k2)*B3=F','(-c2*s-k2)*B1+(m1*s^2+(c1+c2)*s+k1+k2)*B2+(c2*s+k2)*B3=F','(-c2*s-k2)*B1+(c2*s+k2)*B2+(m2*s^2+c2*s+k2)*B3=0','B1',...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网