刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序

上传人:E**** 文档编号:100442271 上传时间:2019-09-23 格式:DOC 页数:9 大小:91.50KB
返回 下载 相关 举报
刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序_第1页
第1页 / 共9页
刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序_第2页
第2页 / 共9页
刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序_第3页
第3页 / 共9页
刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序_第4页
第4页 / 共9页
刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序》由会员分享,可在线阅读,更多相关《刘卫国全套配套课件matlab程序设计与应用第3版第4章matlab程序流程控制源程序(9页珍藏版)》请在金锄头文库上搜索。

1、9第4章 MATLAB程序流程控制例4-1 建立一个脚本文件将变量a、b的值互换,然后运行该脚本文件。程序1:首先建立脚本文件并以文件名exch.m存盘。clear;a=1:10;b=11,12,13,14;15,16,17,18;c=a;a=b;b=c;ab然后在MATLAB的命令行窗口中输入exch,将会执行该脚本文件。 exch 程序2: 首先建立函数文件fexch.m。function a,b=exch(a,b)c=a;a=b;b=c;然后在MATLAB的命令行窗口调用该函数文件: clear; x=1:10; y=11,12,13,14;15,16,17,18; x,y=fexch(

2、x,y)例4-2 求一元二次方程ax2+bx+c=0的根。a=input(a=?);b=input(b=?);c=input(c=?);d=b*b-4*a*c;x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);disp(x1=,num2str(x(1), x2=,num2str(x(2)例4-3 计算分段函数的值。x=input(请输入x的值:);if x=10 y=cos(x+1)+sqrt(x*x+1);else y=x*sqrt(x+sqrt(x);endy也可以用单分支if语句来实现,程序如下:x=input(请输入x的值:);if x=10 y=cos(x+

3、1)+sqrt(x*x+1);endif x=10 y=x*sqrt(x+sqrt(x);endy第一个if语句可以不用,而直接求函数值即可,改用以下程序实现。x=input(请输入x的值:);y=cos(x+1)+sqrt(x*x+1);if x=10 y=x*sqrt(x+sqrt(x);endy例4-4 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则原样输出。c=input(请输入一个字符:,s);if c=A & c=a & c=0 & c0 sum mean=sum/nend例4-12 根据矩

4、阵指数的幂级数展开式求矩阵指数。X=input(Enter X:);E=zeros(size(X); %生成与x同样大小的零矩阵F=eye(size(X); %生成与x同样大小的单位矩阵n=1;while norm(F,1)0 E=E+F; %实现累加 F=F*X/n; %求累加项 n=n+1;endEexpm(X) %调用MATLAB矩阵指数函数求矩阵指数 例4-13 求100,200之间第一个能被21整除的整数。for n=100:200 if rem(n,21)=0 continue end n breakend例4-14 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3

5、,所以6是完数。求1,500之间的全部完数。for m=1:500 s=0; for k=1:m/2 if rem(m,k)=0 s=s+k; end end if m=s disp(m) endend例4-15 用筛选法求某自然数范围内的全部素数。m=input(m=); p=1:m;p(1)=0;for i=2:sqrt(m) for j=2*i:i:m p(j)=0; endendn=find(p=0);p(n) 更为简洁的程序:m=input(m=); p=2:m;for i=2:sqrt(m) n=find(rem(p,i)=0 & p=i); p(n)=;endp例4-16 编写函

6、数文件,求半径为r的圆的面积和周长。函数文件如下: function s,p=fcircle(r)%CIRCLE calculate the area and perimeter of a circle of radii r%r 圆半径%s 圆面积%p 圆周长%2016年9月20日编s=pi*r*r;p=2*pi*r;将以上函数文件以文件名fcircle.m存盘,然后在MATLAB命令行窗口调用该函数。 s,p=fcircle(10)s = 314.1593p = 62.8319例4-17 利用函数文件,实现直角坐标(x,y)与极坐标(,q)之间的转换。首先编写函数文件tran.m。funct

7、ion rho,theta=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x);再在脚本文件main1.m中调用函数文件tran.m。x=input(Please input x=);y=input(Please input y=);rho,the=tran(x,y);disp(rho=,num2str(rho)disp(the=,num2str(the)最后在命令行窗口运行脚本文件main1.m。 main1例4-18 利用函数的递归调用,求n!。采用递归调用的函数文件factor.m如下:function f=factor(n)if n=1 f=1;else f=factor(n-1)*n; %递归调用求(n-1)!end在脚本文件main2.m中调用函数文件factor.m,求s=1!+2!+3!+4!+5!。s=0;n=input(Please input n=);for i=1:n s=s+factor(i);enddisp(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号