MATLAB实验《方程数值求解》

1.分别用 3 种不同的数值方法解线性方程组。

方法一:

A=[6 2 -3;45 5 4;3 4 -2];

B=[4 23 12]';

X1=A\B

 方法二:

A=[6 2 -3;45 5 4;3 4 -2];

B=[4 23 12]';

[L,U]=lu(A);

X2=U\(L\B)

 

方法三:

A=[6 2 -3;45 5 4;3 4 -2];

B=[4 23 12]';

[Q,R]=qr(A);

X3=R\(Q\B)

 

2.求代数方程的数值解。
(1) 3x+sinx-e^x =0在 xo=1.5 附近的根

f=inline('3*x+sin(x)+exp(x)');

fzero(f,0)

 
(2) 在给定的初值 xo=1,y=1,z0=1 下,求方程组的数值解。 

 f=@(x)([sin(x(1))+x(2)^2+log(x(3))-7;3*x(1)+2^x(2)-x(3)^3+1;x(1)+x(2)+x(3)-5;]);

fsolve(f,[1,1,1])

 

3.求函数在指定区间的极值。
(1) 在(0, 1)内的最小值。
(2) 在[0,0]附近的最小值点和最小值。

%1

f=@(x) (x^3+cos(x)+x*log(x))/exp(x);

fminbnd(f,0,1)

%2

function f=test10_3_2(u)

x1=u(1);

x2=u(2);

f=2*x1.^3+4*x1*x2.^3-10*x1.*x2+x2.^2;

 

 4.求微分方程的数值解

function yy=ztf(x,y)

yy=[(5*y(1)-y(2))/x;y(1)];

[x,y]=ode23(@ztf,[0,5],[0;0])

5.求微分方程组的数值解,并绘制解的曲线 

function yy = test10_5(~,y)

yy=[y(2)*y(3);-y(1)*y(3);-0.51*y(1)*y(2)];

end

[t,y]=ode23(@test10_5,[0,5],[0;1;1]);

plot3(y(:,1),y(:,2),y(:,3))

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值