编程高手帮我解决下怎么用matlab解含有虚数的微分方程组

dy(1)=-w*cos(6/5)^2*y(1)/2
dy(2)=i*w*y(3)+w*i*sin(12/5)*y(1)/4-(i*w+w/4)*y(2)
dy(3)=i*w*y(2)-w*(cos(6/5)^2+2*i)*y(3)/2,跪求高手帮忙
初始条件y(1)=y(2)=y(3)=1/4

楼主你好!
这个方程是解不出解析解的。
我用ODE45给您算了一下。
先赋个初值y(0)=10000

编写m文件
function f=exam2fun (t,y)
f=3.9464/(y*(0.8-y*0.2679))*(3.8873e3*y+7.6004e-006+0.0299*sqrt(0.8333*y));
f=f(:);

再在主窗口输入
[t,y]=ode45('exam2fun',[0:1:1000],10000)
plot(t,y)
可以求得0到1000内的y(t)
最后有一部分为虚数,若增大初值,虚数分界线变大

得到的图像如图,最后一部分虚数没有显示。
您可以选择自己的初值,然后选择范围求解并画图。
温馨提示:内容为网友见解,仅供参考
无其他回答

matlab求出的解只要整数解怎么去掉虚数解
这个方程是解不出解析解的。我用ODE45给您算了一下。先赋个初值y(0)=10000编写m文件functionf=exam2fun(t,y)f=3.9464\/(y*(0.8-y*0.2679))*(3.8873e3*y+7.6004e-006+0.0299*sqrt(0.8333*y));f=f(:);再在主窗口输入[t,y]=ode45('exam2fun',[0:1:1000],10000)plot(t,...

matlab求出的解只要整数解 怎么去掉虚数解
假设数组 A 包含所有的解,我们要从 A 中去掉所有虚数的解,则:A = A(imag(A)<=1e-6)即可 --- 也可以用:A = A(imag(A)==0)但有时候 matlab 的整数解会带 0.0000000001i 这样很小的虚数部分,上面的代码就不起作用了,所以建议用分割线以上的代码 ...

我要用matlab画一个公式的二维或三维图,但其中有虚数,所以一直警告,应该...
将虚数取模,调用函数为y=abs(x),输入x为虚数,则返回变量y为虚数x 的模,例如t为横坐标,x为纵坐标且为虚数,plot(t,x)一定是错误的,要改写成plot(t,abs(x))

用matlab解三元二次方程组
图中的y的解是解析解,i是虚数。如要得到数值解,可以这样做 >> fun=@(x)[0.132611776*(x(1)-8.104)+0.895881152*(x(2)-5.017)+0.146428341*(5-5.418),(x(1)-8.104)^2+(x(2)-5.017)^2+(5-5.418)^2];>> [x,h]=fsolve(fun,rand(1,2))执行得到如下结果 从运算结...

matlab中dsolve函数
当然是从左到右,括号要加,就和你手写算式其实一个规则

求教如何使用matlab解方程组?
i是虚数单位,将i换成别的字母即可求解了,比如k。但是我刚试了一下,一个回车下去算了一会没算出来,我就退出不算了,可能不一定解得出来。

matlab求出的解只要整数解 怎么去掉虚数解?
判断虚部不为0的元素,删掉即可。参考代码:>> A=[1+i;2;3-2i;4+5i;6;7]A = 1.0000 + 1.0000i 2.0000 3.0000 - 2.0000i 4.0000 + 5.0000i 6.0000 7.0000 >> A(abs(imag(A))<eps(A))ans =

matlab的solve函数限定解的范围
Matlab解出来的解有三个,其中有一个实数解,两个虚数解。我们都知道一元三次方程在复数范围内的解有3个,Matlab的解是对的。如果我们只要“x^3+1=0”的实数解,我们只要取第一个解“-1”。二、解二元方程首先来求一个二元一次方程组。9x+8y=10 式113x+14y=12 式2我们一般的解法是代入法,或者加减消去...

怎么用MATLAB解带参数的一元三次方程
1、之所以代入t=0.2会得到有虚部的解,是由数值计算误差造成的。你可以试试:>> syms x t;>> f = (-8)*(x^3) + 9*(x^2) - 16* (t^2);>> w = solve(f,x);>> double(subs(w,sym(0.2)))ans = 1.0528 -0.2419 0.3141此种情况下,0.2是以符号量的形式代...

用matlab的surf函数,画z=根号下(x+y)的图像。x,y范围都是-5到5_百度...
x,y范围是-5到5,sqrt(x+y)的计算结果会有虚数出现,不满足surf的画图要求...要么修改x,y的取值范围 要么先对z求个绝对值,然后再画,z=abs(z)

相似回答