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