我采用solve解得方程,
方程为:1+cos(x)*cosh(x)=0
程序为:
syms x;
solve(1+cos(x)*cosh(x)==0);
解出的结果为:
ans =
-212.05750411731104359622842837137
但是我将x=-212.05750411731104359622842837137带入原方程左边,结果为2.8086e+78,而方程应该为0,结果差距忒大了,请问下哪里出了问题,应该怎么解决!急求结果。
这个问题我考虑过了,但是不对。
...用MATLAB解方程的解,和我自己用笔解出来的结果不一样,这是什么原因...
1.你解错了;2.电脑还是有个精确度;3.可能只是形式不一样,换一下就行了。(4.程序错了,这个可能性灰常小吧,但是作为怀疑的精神还是写上吧。)
用matlab解一个三元方程,但解代回原方程两边不等
其次,这个方程的解不唯一,你手解也可以看到这一点。你对TolFun,TolX的设置没有任用,应该设置:options=optimset('MaxFunEvals',1e10, 'MaxIter',1e10);这个1e10你自己调,其实就是反复尝试的次数。Add:你写的没错,但是这个解不是唯一的。等于零是理想情况,哪那么多理想情况呢?何况这个解法,...
为嘛我用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的值。也就是说等号左边靠前的参数对应等号右边字母表中靠前的值,靠后的对应字...
MATLAB解方程不对
2、最主要的问题出在函数返回值的顺序:solve函数返回多个参数时,顺序并不是你随便指定的(也不会根据你调用使用的符号智能确定),而是按照所求解方程中未知数的字母顺序返回的。也就是说,函数的正确调用方式是:>> [pa,pb,t,x]=solve('pa*x=36','pb*(1-x)=24','log10(pa)=6.95719-1...
matlab solve解方程结果不对
9;d=0.175;ac=11.5;bc=6.5;l=11.66;cc=pi;syms aa real aa=solve((bc*(1-cos(aa)))^2+(ac+r*cos(cc)-bc*sin(aa))^2+(r*sin(cc))^2-l^2);vpa(aa)ans = -0.32170999022918155334949100099991 2.2729436161889969111963218680334 将得到的两个解回带验算,结果正确,等于0 ...
matlab 解方程 后结果不对
你的代码没有问题。错就错在,提取变量计算值的位置不对。依次的顺序是 x: ,x1,x2,x3,y3,z1,z2 求解结果 验证结果
matlab solve解线性方程组为什么答案会不一样
两组方程的解都是第一个未知数=1\/2 第二个未知数=5\/2。只不过你返回值的命名不一样罢了。
matlab fsolve解方程结果不对?
[x, fval, exitflag, output] = fsolve(@root8d, x0, options);这里,x0 是你提供给fsolve的初始值。如果退出标志(exitflag)是正数,那么求解过程应该是收敛的。如果不是,你可能需要改变初始值或者调整其他求解选项。也可以尝试将求解器显示设置为“iter”(迭代),以便在求解过程中观察详细信息...
MATLAB求解微分方程答案不对~~
matlab 考虑了复数, 导致结果复杂化.可以用不太严格的方法把复数域的解和实数域的解建立联系 这种情况下matlab的解只能用作参考.如果还是希望用matlab, 可以尝试用数值解法.也能达到很高的精确度.下面这张图是用数值解法(ode45)求解的.蓝线是y的数值解.红色记号是精确解.可以看到, 两者几乎重合, 说明...
matlab 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...