资源描述:
《数值方法matlab实验作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上机练习(2)(1)创建一个表达式,并求当x=1,y=2时的z值。(sqrt(),exp())>>x=1;y=2;>>z=(sqrt(4*x*x+1)+0.5457*exp(-0.75*x*x-3.75*y*y-1.5*x))/(2*sin(3*y)-1)z=-1.4345(2)输入如下两个矩阵A和B,对矩阵A和B作关系运算,标识出两矩阵中元素相等的位置,元素值不等的位置,并标识出矩阵A中所有小于0的元素。>>A=[123;-213;-321];>>B=[143;328;523];>>A==B,A~=B,A<0ans=10100
2、0010ans=010111101ans=000100100(3)对(2)中的矩阵A和B作逻辑“或”、“与”运算,并标识出矩阵B中所有大于2并小于5的元素位置。>>A&B,A
3、B,B>2&B<5ans=111111111ans=111111111ans=011100001上机练习(3)(1)编写一个M文件利用for循环求1!+2!+3!…+20!的值。Test31.ms=0;t=1;fori=1:20t=t*i;s=s+t;ends>>s=2.5613e+018(2)编写一个M文件用while循环求1~200之间的整数之和。Te
4、st32.mi=0;s=0;while(i<200)i=i+1;s=s+i;ends>>s=20100(3)编写一个M文件,画出下列分段函数所表示的曲面。Test33.mx1=-3:0.01:-1;y1=2*x1.^2+1;x2=-1:0.01:1;y2=0*x2;x3=1:0.01:3;y3=-x3.^3;x=[x1x2x3];y=[y1y2y3];plot(x,y);gridon;上机练习(4)对于非线性方程1.编写M–File函数用二分法求出其在区间[0,0.5]和[2.5,3]内的根,要求函数的最大循环次次为1000次,
5、两个精度均为10-4。要求打印出最后的根及误差以及循环次数。F1.mfunctiony=f1(x)y=(x-pi/2)^2-sin(x)-1;BM.mfunctionBM(a,b,eps,n)fori=1:ne=abs(a-b)/2;x=(a+b)/2;ife6、abs(f1(x))0a=x;elseb=x;endendfprintf('x=%f误差e=%ff(x)=%f循环%d次',x,e,f1(x),i);>>BM(0,0.5,0.0001,1000)x=0.3
7、94287误差e=0.000244f(x)=0.000024循环11次>>BM(2.5,3,0.0001,1000)x=2.747314误差e=0.000244f(x)=0.000053循环11次2.编写M–File函数用迭代法求出其根,精度为10-4,最大循环次次为1000次,要求打印出最后的根及误差以及循环次数。F2.mfunctiony=f2(x)y=sqrt(sin(x)+1)+pi/2;itera.mfunctionitera(x0,eps,n)fori=1:nx=f2(x0);e=abs(x-x0);ife8、reak;elsex0=x;endendfprintf('x=%f误差e=%f循环%d次',x,e,i);>>itera(0,0.0001,1000)x=2.747284误差e=0.000051循环11次3.编写M–File函数用牛顿法求出其根,精度为10-4,最大循环次次为1000次,要求打印出最后的根及误差以及循环次数。F3.mfunctiony=f3(x)y=2*x-pi-cos(x);newton.mfunctionnewton(x0,eps,n)fori=1:nx=x0-f1(x0)/f3(x0);e=abs(x-
9、x0);ife>newton(0,0.0001,1000)x=0.394294误差e=0.000000循环4次上机练习(5)对于线性方程组:1.用LU分解法来求解方程组的根。学会应用MATLAB中的LU函数。>>A=[10-1-2;-110-2;-1-15];>>B=[7.2;8.3;4.2];>>[LU]=lu(A);>>y=LB;>>x=Uy;>>L,U,xL=1.000000-0.10001.000
10、00-0.1000-0.11111.0000U=10.0000-1.0000-2.000009.9000-2.2000004.5556x=1.10001.20001.3000myLU.mfunctionmyLU(A,B)[m,n]=size(A);n=lengt