[L,U]=lu(A); [Q,R]=qr(A); X=U\\(L\\b); X1=R\\(Q\\b);
相应的仿真的结果如下:x代表左除法,Xx代表求逆法,X表示LU法,X1表示QR分解法:
6. 求解超定方程组,采用采用左除法、求逆法和最小二乘法
2x-4y+10z=22 6x+5y-4z=32 5x-y+33z=10 x+4y-76z=33
对应的程序如下:
A=[2,-4,10;6,5,-4;5,-1,33;1,4,-76]; b=[22;32;10;33]; x=A\\b;
Xx=pinv(A)*b;
X1=lsqnonneg(A,b); 运行的结果如下:
程序如下:
z1=fzero('x^41+x^3+1',-1); z2=fzero('x-sin(x)./x',0.5);
z3=fzero('3*x+sin(x)-exp(x)',1.5);
结果如下:
(1)的函数为 function q=myfun(p) x=p(1); y=p(2);
q(1)=x^2+y^2-9; q(2)=x+y-1; 再输入:
x=fsolve('myfun',[3,0]',optimset('Display','off')) 显示的结果如下:
(2)的函数如下:
function q=fun1(p) x=p(1); y=p(2); z=p(3);
q(1)=sin(x)+y^2+log(z)-7; q(2)=3*x+2.^y-z^3+1; q(3)=x+y+z-5; End
再输入:
x=fsolve('fun1',[1,1,1]',optimset('Display','off'))
显示的结果如下:
(1)建立函数:
function yp=fun2(t,y) %建立相应的函数 yp=-(1.2+sin(10*t))*y; end
再在命令窗口输入: t0=0; tf=5; y0=1;
[t,y]=ode23('fun2',[t0,tf],y0); %求数值解 [t,y]
得倒最后的结果为:
最终t=5,y=0.0025 (2)
函数如下:
function dy=zzd(t,y)
dy=zeros(2,1); dy(1)=dy(2);
dy(2)=(2-2.*t.*dy(1)-3.*y(1))./(1+t.^2); end
再在命令窗口输入:
[t,y]=ode23(@zzd,[0 5],[0 1]),[t,y] 显示的结果为:
(1) 函数:
function f=fe(x)
f=1./((x-0.3)^2+0.01)-1./((x-0.9)^2+0.04)-6; End
再输入:K=quad('fe',0,1) 得到如下结果:
相关推荐: