第04章MATLAB程序设计例题源程序.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

高教社刘卫国《MATLAB程序设计与应用》

高教社刘卫国《MATLAB程序设计与应用》(第二版)例题源程序

第4章:MATLAB程序设计

PAGE10王成优?

PAGE10

王成优?山东大学(威海)MATLAB语言

WangChengyou?ShandongUniversity,Weihai

第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;a

b

然后在MATLAB的命令窗口中输入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(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 计算分段函数:

??cos(x?1)? x2?1, x?10

x x? x

x x? x,

??

x=input(请输入x的值:);

x?10

ifx==10y=cos(x+1)+sqrt(x*x+1);

else

y=x*sqrt(x+sqrt(x));end

y

也可以用单分支if语句来实现:x=input(请输入x的值:);y=cos(x+1)+sqrt(x*x+1);

ifx~=10

y=x*sqrt(x+sqrt(x));

endy

或用以下程序:

x=input(请输入x的值:);ifx==10

y=cos(x+1)+sqrt(x*x+1);

end

ifx~=10

y=x*sqrt(x+sqrt(x));

endy

例4.4 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则

输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。

c=input(请输入一个字符,s);ifc=Ac=Z

disp(setstr(abs(c)+abs(a)-abs(A)));elseifc=ac=z

disp(setstr(abs(c)-abs(a)+abs(A)));elseifc=0c=9

disp(abs(c)-abs(0));

else

disp(c);

end

例4.5 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):

price200

没有折扣

200≤price500

3%折扣

500≤price1000

5%折扣

1000≤price2500

8%折扣

2500≤price5000

10%折扣

5000≤price

14%折扣

输入所售商品的价格,求其实际销售价格。price=input(请输入商品价格);switchfix(price/100)

case{0,1} %价格小于200rate=0;

case{2,3,4} %价格大于等于200但小于500

rate=3/100;

casenum2cell(5:9) %价格大于等于500但小于1000rate=5/100;

casenum2cell(10:24) %价格大于等于1000但小于2500

rate=8/100;

casenum2cell(25:49) %价格大于等于2500但小于5000rate=10/100;

otherwise %价格大于等于5000

rate=14/100;

end

price=price*(1-rate) %输出商品实际销售价格

例4.6 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。

A=[1,2,3;4,5,6];

B=[7,8,9;10,11,12];

try

C=A*B;

catch

C=A.*B;

endC

lasterr %显示出错原因

例4.7 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。

form=100:9

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档