8学时-数学实验2-matlab编程 [兼容模式]

8学时-数学实验2-matlab编程 [兼容模式]

ID:33761469

大小:561.02 KB

页数:36页

时间:2019-02-28

8学时-数学实验2-matlab编程 [兼容模式]_第1页
8学时-数学实验2-matlab编程 [兼容模式]_第2页
8学时-数学实验2-matlab编程 [兼容模式]_第3页
8学时-数学实验2-matlab编程 [兼容模式]_第4页
8学时-数学实验2-matlab编程 [兼容模式]_第5页
资源描述:

《8学时-数学实验2-matlab编程 [兼容模式]》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数学实验理学院数学学科李换琴hqlee@mail.xjtu.edu.cn上机时间安排第10、12周周五1,2节第14、15周周三5,6节MATLAB语言编程介绍∑MATLAB中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的。为此,要运用MATLAB编程语言编制程序,形成M-文件。∑程序是使计算机完成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,直到终止。∑程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。∑文件名以字母开头

2、,但不能用专用变量名,如piansepspi,ans,eps等。程序结构程序一般包含:a=input('请输入数组a[n]=');a[n]=');[m,n]=size(a);数据输入M=a(1);fori=2:nifM

3、'Pleaseinputs=');∑直接输出:格式控制输出(fprintf命令)xfprintf(fprintf(x=%'x=%0fy=%5f.0f,y=%.5f',pipi);pi,pi);M-文件中循环控制命令(for命令)∑格式:fori=n1:(step):n2commands;end∑作用:i从n1开始,执行命令集commands,遇到end,ii+ti=i+step,重复执行,直到i>2i>n2.∑省略格式:fori=n1:n2这里step=1.∑例1:求n个奇数和:s=1+3+5+…+(2n-1)n=input(‘pleaseinp

4、utn=');ss0;=0;fori=1:ns=s+(2*i-1);fprintf('i=%.0f,s=%.0f',i,s);end程序aa1∑例2:求阶乘:p=1×2×3×…×n=n!n=input('请输入n=');p=1;forii1:n=1:np=p*i;fpriitf('i%0fntf('i=%.0f,p=%%0f.0f'i)',i,p);endaa2.m¢例3:求e:e=1+1+1/2!+1/3!+…+1/n!n=inpp(ut('请输入n=');p=1;e=1;fori=1:np=p*i;p1=1/p;e=e+p1;fprint

5、f('i=%.0f,p=%.0f,e=%.8f',i,p,e);endaa3.m例4m=input('请输入m=');n=input('请输入n=');编程产生一个fori=1:mm×n矩阵,使得1forj=1:nA((,i,j)=i+jA(ij)A(i,j)=1/(ij)1/(i+j);endendA1n例5数列极限lim(1+)动态显示n→∞nMATLAB程序:holdon%图形迭加axis([0,100,2,3]);%设置坐标轴ggdrid%加坐标网格forn=1:90%循环操作an=(1+1/n)^n;%计算数列值plot(n,an,'r

6、*');%画出坐标点pause(0.05);%暂停0.05秒fpp(rintf('n=%dan=%.4f',,,);n,an);%显示坐标位置end例6导弹打击过程仿真设A(0,0)为一导弹发射点,发现位于B(0,100)处一架敌机沿水平方向逃离,随即发射一枚导弹予以打击,现已知导弹时刻对准敌机,且速率为飞机速率的两倍(设飞机速度为1)。试编程模拟导弹打击敌机B的动态过程,并实时给出飞机和导弹的位置坐标。若要在敌机飞行距离不超过60时(我方空域)将其击落,导弹的速率应提高A到多少?MATLAB程序:k=0;A=[0,0];%导弹初始位置BB=[0

7、,100];%飞机初始位置v=1;dt=1;%离散时间改变量d=100;%相距距离whiled>0.5plot(A(1),A(2),’r’);%画导弹位置Aholdonplot(B(1),B(2),‘b*’);%画飞机位置pause(0.2);k=k+1;B=B+[v*dt,0];%飞机移动位置e=B-A;%导弹指向飞机向量d=norm(e);e0=e/d;%取向量方向(单位化)A=A+2.0*v*dt*e0;%导弹追击位置fprintf('k=%.0fA(%.2f,%.2f)B(%.2f,100)d=%.2f',k,A(1),A(2),B(1)

8、,d);endM-文件中条件循环命令(while命令)∑格式:while(conditionistrue)(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。