MATLAB实验

发布 2023-05-19 18:34:28 阅读 3629

实验三 matlab程序设计。

一、实验目的。

1、熟练掌握matlab的程序流程控制结构;

2、熟练掌握m文件的结构;

3、熟练掌握函数调用和参数传递;

二、实验内容。

1、例4.4 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。

c=input('请输入一个字符','s');

if c>='a'&c<='z'

disp(setstr(abs(c)+abs('a')-abs('a'))

elseif c>='a'& c<='z'

disp(setstr(abs(c)- abs('a')+abs('a'))

elseif c>='0'& c<='9'

disp(abs(c)-abs('0'))

elsedisp(c);

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

price<200没有折扣。

200≤price<500 3%折扣。

500≤price<1000 5%折扣。

1000≤price<2500 8%折扣。

2500≤price<5000 10%折扣。

5000≤price 14%折扣。

输入所售商品的**,求其实际销售**。

price=input('请输入商品**');

switch fix(price/100)

case {0,1**小于200

rate=0;

case {2,3,4**大于等于200但小于500

rate=3/100;

case num2cell(5:9) %**大于等于500但小于1000

rate=5/100;

case num2cell(10:24) %**大于等于1000但小于2500

rate=8/100;

case num2cell(25:49) %**大于等于2500但小于5000

rate=10/100;

otherwise**大于等于5000

rate=14/100;

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

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

a=[1,2,3;4,5,6]; b=[7,8,9;10,11,12];

tryc=a*b;

catchc=a.*b;endc

lasterr显示出错原因。

4、例4.8 已知y当n=100时,求y的值。

y=0;n=100;

for i=1:n

y=y+1/i/i;endy

5、例4.11 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。

sum=0;

n=0;val=input('enter a number (end in 0):'

while (val~=0)

sum=sum+val;

n=n+1;

val=input('enter a number (end in 0):'

endif (n > 0)

summean=sum/n

end6、fibonacci数列的个元素为、…满足以下关系。

f1=1,f2=1,fn=fn-1+fn-2

用m函数文件实现,数列的元素个数为输入变量。

1) 按m函数文件格式创建文件开头。

function f=shiyan4(n)

shiyan4 fibonacci

fibonacci数列。

n 元素个数。

f 构成 fibonacci数列向量。

copyright 2009-04-09

2) 用while循环实现程序功能。

f(1)=1;f(2)=1;

i=2;while i<=n

f(i+1)=f(i-1)+f(i);

i=i+1;

end在命令窗口输入调用命令,调用函数结果如下:

> f=shiyan4(10)f =

3) 用for循环实现。

f(1)=1;f(2)=1;

for i=2:n

f(i+1)=f(i-1)+f(i);

end4)当某个元素大于50时,退出循环结构,程序修改如下。

f(1)=1;f(2)=1;

for i=2:n

if f(i)>50

breakelse

f(i+1)=f(i-1)+f(i);

endend

练习:1、编写m命令(脚本)文件,t的范围为[0,2],步长取0.05,计算函数的值;并将变量t,y1和y2放在同一矩阵a的3行中。

2、编写m命令(脚本)文件,分别使用for和while循环语句计算sum=的程序。

3、编写m命令(脚本)文件,要求从键盘逐个输入数值(input),然后判断输入的数是大于0还是小于0,并输出提示(使用disp函数)是正数(positive one)还是负数(negative one),同时记录输入的正数、负数的个数。当输入0时,中止m文件的运行;当输入第10个数字时,显示记录的正、负数个数并终止程序。

4、编写m命令(脚本)文件,输入一个百分制成绩,要求输出成绩等级为a、b、c、d、e。其中90分~100分为a,80分~89分为b,70分~79分为c,60分~69分为d,60分以下为e。分别用switch语句和if语句实现,并要求判断输入成绩的合理性(即成绩在0到100之间),对不合理的成绩输出出错信息。

5、编写m函数文件,求下面的分段函数。

6、(选做)编写m函数文件,将某班学生某门课的成绩为,用switch结构统计各分段的人数,并将各人的成绩变为用优、良、中、及格和不及格表示,统计人数和成绩变换都用子函数实现。

matlab实验

电子信息工程系实验报告。课程名称 计算机 技术。实验项目名称 实验1 matlab基础 matlab编程应用实验时间 2011 9 18 班级 电信092 姓名学号 t span cr r 10 一 实验目的 熟悉matlab工作环境和基本操作。二 实验环境 硬件 pc机,酷睿i3双核,2g内存 软...

MATLAB实验

实验名称 matlab实验。学生姓名 班级 601 班内序号 31 学号 2012212084 日期 2014.3.15 实验要求 因为现实世界里存在的是模拟信号,因此数字信号处理的第一个问题是将信号离散化,得到一个数字信号,然后再进行数字处理。1 常用数字信号序列的产生 熟悉 matlab 产生数...

MATLAB实验

课程实验报告。课程名称 matlab与机电系统 实验名称实验一matlab数值与符号运算。实验一 matlab数值与符号运算。1 目的和要求。1 熟练掌握matlab的启动和退出 matlab的命令窗口 常用选单和工具栏,通过实例初步认识对matlab的命令和程序运行等。2 熟练掌握matlab数值...