matlab中求解含复数方程的程序怎么写
如果你的
a=[1,1,1;0,2i,2;3+4i,0,2];
b=[10,0,0];
x=a\b'
那样就无解了
因为复数方程实际是两个方程,实部一个,虚部一个,要有两个未知数才确定有解
你给的这个m是不能找到符合的x的
syms x m S21
y=(x+1/x)*sinh(j*x*m)+2*cosh(j*x*m)-2/S21;
y=simple(y)
y =
i*(x+1/x)*sin(x*m)+2*cos(x*m)-2/S21
S21=-460449-j*6004305;
实部虚部分别列方程
y1=2*cos(x*m)+ 2.5394e-008
y2=(x+1/x)*sin(x*m)-3.3115e-007
res=solve(y1,y2)
double(res.m)
解出
m=
0.0000 - 1.5708i
0.0000 + 1.5708i
0.0000 + 1.5708i
0.0000 - 1.5708i
double(res.x)
x =
0.0000 + 1.0000i
0.0000 - 1.0000i
-0.0000 + 1.0000i
-0.0000 - 1.0000i
说明只有m取那4个值时方程才有解,对应解如上
先把格式转化下
format rat
再用solve函数,可以实现的
虚数解用单纯的fsolve来解是不行的,误差过大,导致不稳定性太强,建议用二分法来迭代,这样无论是实数解还是虚数解都可以求出来
matlab求解带参数方程组
[ 0 R X R][x2]=[b][ R -X R 0][x3]=[c][ X R 0 R][x4]=[d]要解的是[x1 x2 x3 x4]'('表示转秩)矩阵,这个矩阵等于 [ R 0 R -X][ 0 R X R][ R -X R 0][ X R 0 R]的逆阵乘以[a b c d]'matlab的话,就求上面4x4矩阵的...
用matlab求一个含有积分的方程组
用fsolve求一个含有积分的方程组,可以这样来写:第一步:建立自定义函数 func()第二步:用fsolve求解其近似值 [k,fval] =fsolve(@(k)func(k),k0) %k为系数a、b,即a=k(1),b=k(2),fval是每个等式的值 第三步:编程运行 运行结果:a=9.01704582797954;b =25.897553850857 执行代码...
matlab方程组求解
有时候,用solve()函数不一定能得到解析值或数值解。特别是含有较复杂的三角函数方程往往是得不到你想要的值。所以求解这类方程可以考虑数值方法。一般可以用fsolve()函数。求解步骤:1、用ezplot(eq1,eq2)绘出两函数方程的图形,来判断两函数曲线的交点的位置。从图形来看,很容易判断x、y初值为[-...
matlab求带参数二元方程组求得解中依然含未知数
因为你没有指定求解变量,所以得到结果就会这样。将solve()改成如下形式,就okl了。[T,t1]=solve('P*k - C*k - Cm*a + 2*a*g + C*a*g1 + T*a*a1 - 2*Cm*k*t1 - g*k*t0 + 4*g*k*t1 + 2*C*g1*k*t1 + 2*T*a1*k*t1=0','a1*t1*(a + k*t1) - 2*T=0...
MATLAB 如何求解含有n个方程的方程组
well, I would suggest you use matrix division x = A\\B, where P = [P1;P2;...;PN];B = [-b1;-b2;...;-bN;L];A = spdiags(P,0,N,N);A = [A,-1*ones(N,1);ones(1,N),m];x = A\\B;P = x(1:N);q = x(N+1);...
MATLAB求解带有字母参数的方程组如何计算
你可以将y2=2也作为方程带进去:S = solve('x1+y2*y1=5', '3*x1-y1=7', 'y2=2');S.x1S.y1如果想要浮点数结果的话:vpa(S.x1)vpa(S.y1)
MATLAB 引用公式求解方程:
解出第一个解 ans = -0.63673265080528201088799090383828 但是可能还有别的解,因为MATLAB是指解一个解就退出求解程序 ,作图判断 ezplot(sin(x), -2, 2);hold on;ezplot(x^2 - 1, -2, 2)hold off 果然有第2个解,,重新设定起始点来求:evalin(symengine, 'numeric::solve(sin(x) = x^...
如何用matlab求解一个二阶常系数微分方程组
1、 打开Matlab软件-->点击新建脚本菜单,新建一个脚本文件用于编写微分方程求解程序。2、 输入微分方程求解程序-->点击保存-->点击运行。3、在matlab的命令窗口即可看到求解结果,是一个关于参数a,b的表达式 第二种方法:利用Matlab中的solver函数(包括ode45、ode23、ode15s等)来求解微分方程的数值解...
怎么在matlab中求解方程1+cosx*chx=0(需要方程前十个x值较小的解,ch...
fun=@(x) 1+cos(x).*cosh(x);xx=(0:9)*pi+pi\/2;z=zeros(size(xx));for i=1:length(xx)z(i)=fzero(fun,xx(i));end 因为cos和cosh都是偶函数,所以它的根正负对称的 这个函数是个超越函数,所以解析解不能用初等函数表示 我们可以重数值解法 因为cos(x)的根是pi\/2+n*pi,可以...
如何使用matlab求解求和函数中的未知数
举个例子吧:D=[3 4 5];A=7;fsolve(@(X) sum(10.^(X-D))-A , 0)则 ans= 3.7998 就这么简单。(还想补充说明一点,fsolve中第一个变量是一个函数句柄,第二个变量是一个试值,随便取个值就行了,我这里取了0.)
叔侧益母: 如果你的 a=[1,1,1;0,2i,2;3+4i,0,2]; b=[10,0,0]; x=a\b'
七里河区17622592548: matlab编程解复数方程 - ?
叔侧益母: >> syms x y >> s=solve('x+y=20+15*i','x*y=10+2*i') s = x: [2x1 sym] y: [2x1 sym] >> s.x,s.y ans = (592*i + 135)^(1/2)/2 + 10 + (15*i)/2 10 - (592*i + 135)^(1/2)/2 + (15*i)/2 ans = 10 - (592*i + 135)^(1/2)/2 + (15*i)/2 (592*i + 135)^(1/2)/2 + 10 + (15*i)/2
七里河区17622592548: matlab编程解复数方程?
叔侧益母: > syms x y >> s=solve('x+y=20+15*i','x*y=10+2*i') s = x: [2x1 sym] y: [2x1 sym] >> s.x,s.y ans = (592*i + 135)^(1/2)/2 + 10 + (15*i)/2 10 - (592*i + 135)^(1/2)/2 + (15*i)/2 ans = 10 - (592*i + 135)^(1/2)/2 + (15*i)/2 (592*i + 135)^(1/2)/2 + 10 + (15*i)/2
七里河区17622592548: 用MATLAB编程解复数方程组z1+2*z2=1+i 3*z1+I*z2=2 - 3*i - ?
叔侧益母: 用MATLAB编程解复数方程组,可以用solve()函数命令.求解过程如下: >> syms z1 z2 >> [z1,z2]=solve(z1+2*z2==1+i,3*z1+i*z2==2-3*i) 运行结果 z1 =1 - i z2 =i
七里河区17622592548: 如何用matlab解复数方程,比如解方程x^2= - 1,x^4= - 2最好是给出那个命令的格式,网友dlddmm的方法固然不错,但是如果我出一个隐函数你还能解出来吗 - ?
叔侧益母:[答案] solve('x^2=-1'); 你使用solve函数就能解出来了,任意的方程都可以
七里河区17622592548: 用MATLAB解复数方程组 - ?
叔侧益母: 楼主,你试试这个:syms a b real; [a,b]=solve(a+b==7,abs(a+b*i)==5,a,b)
七里河区17622592548: 如何用MATLAB求复数方程表示的曲线比如 abs(z - 1)/ans(z+2)=2 - ?
叔侧益母:[答案] ans(z+2)是什么东西,ans是一个函数,还是什么呢,否则真的没法回答 我直接认为ans为abs了 >> syms a b >> z=a+b*i z = a+i*b >> ezplot(abs(z-1)/abs(z+2)-2) 这就会出a和b的图像了 %by dynamic %2009.2. %
七里河区17622592548: matlab求解带复数的超越方程 - ?
叔侧益母: you can type the following script in your matlab command window:help fzero and you can get your answer.Good luck.
七里河区17622592548: 如何用matlab解复数方程 - ?
叔侧益母: solve('x^2=-1');你使用solve函数就能解出来了,任意的方程都可以
七里河区17622592548: matlab 符号复数方程组的求解 - ?
叔侧益母: 这个是 abs 函数的问题 …… 可以解这样的方程组:[x,y]=solve(x^2+y^2==1,x+y==1);