用matlab求解复杂方程组,matlab求复杂方程组的解

http://www.itjxue.com  2023-01-07 03:43  来源:未知  点击次数: 

求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)

第一组求解结果

(责任编辑:IT教学网)

更多

推荐浏览器文章