版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB编程题库1.下面的数据表近似地满足函数,请适当变换成为线性最小二乘问题,编程求最好的系数,并在同一个图上画出所有数据和函数图像.解:x=[-0.931-0.586-0.362-0.2130.0080.5440.6280.995]';y=[0.3560.6060.6870.8020.8230.8010.7180.625]';A=[xones(8,1)-x.^2.*y];z=A\y;a=z(1);b=z(2);c=z(3);xh=-1:0.1:1;yh=(a.*xh+b)./(1+c.*xh.^2);plot(x,y,'r+',xh,yh,'b*')
2.若在Matlab工作目录下已经有如下两个函数文件,写一个割线法程序,求出这两个函数精度为的近似根,并写出调用方式:文件一文件二functionv=f(x)v=x.*log(x)-1;functionz=g(y)z=y.^5+y-1;解:>>editgexianfa.mfunction[xiter]=gexianfa(f,x0,x1,tol)iter=0;while(norm(x1-x0)>tol)iter=iter+1;x=x1-feval(f,x1).*(x1-x0)./(feval(f,x1)-feval(f,x0));x0=x1;x1=x;end>>editf.mfunctionv=f(x)v=x.*log(x)-1;>>editg.mfunctionz=g(y)z=y.^5+y-1;>>[x1iter1]=gexianfa('f',1,3,1e-10)x1=1.7632iter1=6>>[x2iter2]=gexianfa('g',0,1,1e-10)x2=0.7549iter2=8
5.取,请编写Matlab程序,分别用欧拉方法、改进欧拉方法在上求解初值问题。解:>>editEuler.mfunction[xy]=Euler(f,a,b,h,y0)x=[a:h:b];n=(b-a)./h;y(1)=y0;fori=2:(n+1)y(i)=y(i-1)+h*feval(f,x(i-1),y(i-1));end>>editgaijinEuler.mfunction[xy]=gaijinEuler(f,a,b,h,y0)x=[a:h:b];n=(b-a)./h;y(1)=y0;fori=2:(n+1)y1=y(i-1)+h*feval(f,x(i-1),y(i-1));y2=y(i-1)+h*feval(f,x(i),y1);y(i)=(y1+y2)./2;end>>editksf3.mfunctionv=ksf3(x,y)v=x.^3-y./x;>>[xy]=Euler('ksf3',1,2,0.2,0.4)x=1.00001.20001.40001.60001.80002.0000y=0.40000.52000.77891.21651.88362.8407>>[xy]=gaijinEuler('ksf3',1,2,0.2,0.4)x=1.00001.20001.40001.60001.80002.0000y=0.40000.58950.92781.46152.24643.3466
6.请编写复合梯形积分公式的Matlab程序,计算下面积分的近似值,区间等分。编写辛普森积分公式的Matlab程序,计算下面积分的近似值,区间等分。、解:>>edittixingjifen.mfunctions=tixingjifen(f,a,b,n)x=linspace(a,b,(n+1));y=zeros(1,length(x));y=feval(f,x)h=(b-a)./n;s=0.5*h*(y(1)+2*sum(y(2:n))+y(n+1));end>>editsimpson.mfunctionI=simpson(f,a,b,n)h=(b-a)/n;x=linspace(a,b,2*n+1);y=feval(f,x);I=(h/6)*(y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(2*n+1));>>editksf4.mfunctionv=ksf4(x)v=1./(x.^2+1);>>tixingjifen('ksf4',0,1,20)ans=0.7853>>simpson('ksf4',0,1,10)ans=0.7854>>editksf5.mfunctionv=ksf5(x)if(x==0)v=1;elsev=sin(x)./x;end(第二个函数‘ksf5’调用求积函数时,总显示有错误:“NaN”,还没调试好。见谅!)
7.用迭代方法对下面方程组求解,取初始向量。解:>>editJacobi.mfunction[xiter]=Jacobi(A,x0,b,tol)D=diag(diag(A));L=D-tril(A);U=D-triu(A);x=x0;iter=0;while(norm(A*x-b)/norm(b)>tol)iter=iter+1;x0=x;x=D\((L+U)*x0+b);end>>A=[24-4;333;442];>>b=[2-3-2]';>>x0=[32-1]';>>[x,iter]=Jacobi(A,x0,b,1e-4)x=1-1-1iter=3
8.用牛顿法求解方程在附近的根。解:>>editNewton.mfunction[xiter]=Newton(f,g,x0,tol)iter=0;done=0while~donex=x0-feval(f,x0)/feval(g,x0);done=norm(x-x0)<=tol;iter=iter+1;if~done,x0=x;endend>>editksf6.mfunctionv=ksf6(x)v=x*cos(x)+2;>>editksg6.mfunctionz=ksg(y)z=y.^5+y-1;>>[xiter]=Newton('ksf6','ksg6',2,1e-4)x=2.4988iter=3
9.分别用改进乘幂法、反幂法计算矩阵A的按模最大特征值及其对应的特征向量、按模最小特征值及其对应的特征向量。解:>>editep.mfunction[t,x]=ep(A,x0,tol)[tv0ti0]=max(abs(x0));lam0=x0(ti0);x0=x0./lam0;x1=A*x0;[tv1ti1]=max(abs(x1));lam1=x1(ti1);x1=x1./lam1;while(abs(lam0-lam1)>tol)x0=x1;lam0=lam1;x1=A*x0;[tv1ti1]=max(abs(x1));lam1=x1(ti1);x1=x1./lam1;endt=lam1;x=x1;>>editfanep.mfunction[t,x]=fanep(A,x0,tol)[tv0ti0]=max(abs(x0));lam0=x0(ti0);x0=x0./lam0;x1=A\x0;[tv1ti1]=max(abs(x1));lam1=x1(ti1);x1=x1./lam1;while(abs(1/lam0-1/lam1)>tol)x0=x1;lam0=lam1;x1=A\x0;[tv1ti1]=max(abs(x1));lam1=x1(ti1);x1=x1./lam1;endt=1/lam1;x=x1;>>A=[126-6;6162;-6216];>>x0=[10.5-0.5]';>>tol=1e-4;>>[t,x]=ep(A,x0,tol)t=21.5440x=1.00000.7953-0.7953>>A=[126-6;6162;-6216];>>x0=[10.5-0.5]';>>tol=1e-4;[t,x]=fanep(A,x0,tol)t=4.4560x=1.0000-0.62870.6287
10.将积分区间n等分,用复合梯形求积公式计算定积分,比较不同值时的误差(画出平面上log(n)-log(Error)图).解:>>editksf7.mfunctionv=ksf7(x)v=sqrt(1+x.^2);>>I=quad('ksf7',1,3);>>n=1:100;>>fori=1:100x(i)=tixingjifen('ksf7',1,3,i);error(i)=abs(I-x(i));end>>plot(log10(n),log10(error(n)))
11.用迭代方法对下面方程组求解,取初始向量。解:>>editsor.mfunction[x,iter]=sor(A,x0,b,omega,tol)D=diag(diag(A));L=D-tril(A);U=D-triu(A);x=x0;iter=0;while(norm(A*x-b)/norm(b)>tol)iter=iter+1;x0=x;x=(D-omega*L)\(omega*b+(1-omega)*D*x+omega*U*x);end>>A=[2-10;-13-1;0-12];>>b=[18-5]';>>x0=[10-1]';>>[x,iter]=sor(A,x0,b,1.1,1e-4)x=1.99993.0000-1.0000iter=512.编程实现求解满足下列条件的区间[-1,2]上的三次样条函数S(x),并画出此样条函数的图形:xi-1012f(xi)-1010f(xi)'0-1functionsplx=[-1012]y=[0-1010-1]pp=csape(x,y,'complete')[breaks,coefs,npolys,ncoefs,dim]=unmkpp(pp)xh=-1:0.1:2if-1<=xh<=0yh=coefs(1,1)*(xh+1).^3+coefs(1,2)*(xh+1).^2+coefs(1,3)*(xh+1)+coefs(1,4)elseif0<=xh<=1yh=coefs(2,1)*(xh).^3+coefs(2,2)*(xh).^2+coefs(2,3)*(xh)+coefs(2,4)elseif1<=xh<=2yh=coefs(3,1)*(xh-1).^3+coefs(3,2)*(xh-1).^2+coefs(3,3)*(xh-1)+coefs(3,4)elsereturnendplot(xh,yh,'r+')13.二分法程序functionx=bisect(f,a,b,tol)ifnargin<4tol=1e-12endfa=feval(f,a)fb=feval(f,b)whileabs(a-b)>tolx=(a+b)/2fx=feval(f,x)ifsign(fx)==sign(fa)a=xfa=fxelseifsign(fx)==sign(fb)b=xfb=fxelsereturnendend
其他>>A=[1234;5678];>>AA=12345678>>[mn]=size(A)m=2n=4>>x=[12345];>>xx=12345>>length(x)ans=5>>A=[234;119;12-6];>>AA=23411912-6>>[LU]=lu(A);>>LL=1.0000000.50001.000000.5000-1.00001.0000>>UU=2.00003.00004.00000-0.50007.000000-1.0000>>x=linspace(0,1,11);>>x'ans=00.10000.20000.30000.40000.50000.60000.70000.80000.90001.0000>>x=[1234];>>y=[6111827];>>p=polyfit(x,y,2)p=1.00002.00003.0000>>diag(ones(4,1),1)ans=010000010000010000010000012.编程实现求解满足下列条件的区间[-1,2]上的三次样条函数S(x),并画出此样条函数的图形:xi-1012f(xi)-1010f(xi)'0-1functionsplx=[-1012
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保育员学期工作计划小班简短2022
- 中职学生开学典礼精彩发言稿(14篇)
- 体育部部长竞选演讲稿三篇
- 五心好家长先进事迹(8篇)
- 主管护师述职报告
- 节水节电课件教学课件
- 影响农村教师专业发展问题的研究结题报告
- 影响地产金融的因素
- 轮胎噪声测试方法 转鼓法 征求意见稿
- 2025年山东辖内农村商业银行高校毕业生招聘(2180人)笔试备考题库及答案解析
- 门诊发热病人登记表
- 新课标-人教版数学六年级上册第五单元《圆》单元教材解读
- 2022湖北汉江王甫洲水力发电有限责任公司招聘试题及答案解析
- 2019新人教必修1unit2Travelling-Around整单元完整教案
- 大学生辩论赛评分标准表
- 诊所污水污物粪便处理方案及周边环境
- 江苏开放大学2023年秋《马克思主义基本原理 060111》形成性考核作业2-实践性环节(占过程性考核成绩的30%)参考答案
- 《我是班级的主人翁》的主题班会
- 酒店安全设施及安全制度
- 近代化的早期探索与民族危机的加剧 单元作业设计
- 租赁机械设备施工方案
评论
0/150
提交评论