用matlab求解复杂方程组,matlab求复杂方程组的解
求MATLAB复杂的方程组求解
这说明此微分方程没有显示解,应用数值方法求解,例如ode45等函数
就一个例子(选自matlab帮助文档)
解入下微分方程组
1,建立方程组函数
function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2) * y(3);dy(2) = -y(1) * y(3);dy(3) = -0.51 * y(1) * y(2);
2,求解并绘图
[T,Y] = ode45(@rigid,[0 12],[0 1 1]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
结果
求采纳为满意回答。
matlab怎么计算方程组
1、对于比较简单的方程组,可以用solve()函数命令求解。如方程组
x
+
y
=
1
;
x -
11y
=
5
[x,y]=solve('x
+
y
=
1','x
-
11*y
=
5')
又如方程组
exp(x+1)-y2=10 ;ln(x)+3y=7
syms
x
y
[x,y]=solve(exp(x+1)-y^2-10,log(x)+3*y-7,'x','y')
2、对于比较复杂的方程组,可以用数值方法中的牛顿迭代法,二分法来求解。如方程组
求解代码
x0=[1.0
1.0
1.0]';
tol
=
1.0e-6;
x
=
x0
-
newton_dfun(x0)\newton_fun(x0);
%newton_dfun导函数,newton_fun函数
n
=
1;
while
(norm(x-x0)tol)
(n1000)
x0
=
x;
x
=
x0
-
newton_dfun(x0)\newton_fun(x0);
n
=
n
+
1;
end
x
求解结果为
x
=
0.69829;y
=
0.62852;z=
0.34256
matlab求解方程组?
用matlab求解方程组,可以用solve函数求得其解析值。
这里用a—表示α,b—表示β,c—表示θ,d—表示η
实现求解此方程组的代码:
syms D Pr a Pd b c s w k d
[Pr,s]=solve((1-c)*D-Pr+a*Pd-(1-b)*s-Pr+w==0,(1-b)*(Pr-w)-k*d*s==0,'Pr,s')
运行结果
matlab求解复杂方程
分析了题主给出带积分的方程组,可以通过下列过程,得到VA与SigmaA的数值解。
1、利用for循环语句,将VE,SigmaE已知值,代入求解函数里
2、利用fsolve函数求VA与SigmaA的数值解
x0=【0.1,0.1】;
[x,h]=fsolve(@func,x0);
3、创建自定义主函数,y=func(x)
4、创建自定义d1函数,d1=d1_fun(x)
5、创建自定义d2函数,d2=d2_fun(x)
第一组求解结果