文档库 最新最全的文档下载
当前位置:文档库 › matlab编程训练

matlab编程训练

matlab编程训练
matlab编程训练

matlab 训练题目 1、 建立一个脚本文件,用于两个变量值的互相交换。

2、

比较从键盘输入的两个数的大小,输出其中较大的数。(扩展,输出两个同型矩阵中对应位置较大的数) 3、

编写一个函数求一元二次方程的根,并编写测试脚本文件测试

结果。

4、

编写一个函数求圆的面积与周长,并编写测试脚本文件测试结果。

5、 编写一个函数用于求数n 的阶乘(分别用循环与递归),再编

写测试脚本文件求1!+2!+。。。+10!。 6、

编写脚本测试分段函数:

22

2x x<1x -1 1<=x<2x -2x-1 x>=2?????

7、

有函数122(2)()log(1)(2)ex x f x x x -?<=?

->=?,编写脚本文件测试该函数,

x 的值从键盘输入。

8、编写脚本文件,功能:从键盘输入一个字符,如果是大写字母,

输出其后继字母;如果是小写字母,输出其前导字母,(‘z’的后继为’a’,‘a’的前导为’z’);如果是数字字符,输出其ASCII码;其他字符原样输出。

9、某商场对顾客购买的商品总价打折,规则是500以下不打折,

500~1000的95折,1000~3000的9折,3000~5000的85折,5000以上8折。从键盘输入总价,分别用if语句和switch语句计算折扣,输出应付价。

10、某商场对顾客所购买的商品实行打折销售,标准如下(商品价

格用price来表示):price<200 没有折扣200≤price<500 3%折扣

500≤price<1000 5%折扣

1000≤price<2500 8%折扣

2500≤price<5000 10%折扣

5000≤price 14%折扣

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

11、给出学生的百分制成绩,要求转化成成绩等级输出,等级分为

‘优秀’,‘良好’,‘中等’,‘及格’.90分以上的为‘优秀’,80-89的为‘良

好’,70-79的为‘中等’,60-69的为‘及格’,其他为’不及格’。

12、编写一个函数,统计出一组有序(按升序或降序排列)数字中

每种数字的个数,并返回数字种类数。

13、编写一个函数,统计出一组数字(可以是无序的)中每种数字

的个数。

14、求1+2+3+……+100的和。(分别用for和while语句实现)。

15、随机生成一个20行10列的矩阵,分别求每行的和与每列的和。

(不用sum函数。)

16、随机生成一个20行10列的矩阵,分别求每行的和与每列的平

均值。

17、随机生成一个20行10列的矩阵,矩阵元素除以对应列的和形

成新的矩阵。如果对应列的和为零,则新矩阵该列所有元素全为零。

18、计算下面式子的和:

123101*********

++++++++++++++

111...1222...2333 (3)

19、一个三位整数各位数字的立方和等于该数本身则称该数为水

仙花数,输出全部水仙花数。

20、求[100,200]之间第一个能被21整除的整数。

21、猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后

由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏,用户最多可以猜7次。

22、给定两个实数a、b,一个自然数n,求解当n=1,…,10时所有

的(a+b)^n和(a-b)^n。

23、对于任意的正整数n,如果n是偶数则除以2,如果还是偶数

再除以2,直至成为奇数。把这个奇数乘以3加1再除以2,如果是偶数继续除以2,直至成为一个新的奇数。然后再将这个奇数乘以3加1,按照同样的办法计算下去。经过若干次计算之后,最后的得数是1.

24、输出200以内的素数。

25、 求100以内间隔为2 的素数对。例如3,5为一对,11,13为一对

26、 求1~99中所有完全数。所谓完全数是指该数据出现在它的平方右边。例如5是完全数,25是完全数。

27、 冒泡排序问题。

28、 选择排序问题。

29、 用函数文件求矩阵的最大值及所在位置。

30、 用函数文件求矩阵的最小值及所在位置。

31、 用函数文件判断素数,调用它求100~200中所有素数。

32、 斐波那契数列的递推式为:

??

?

>+===--)2(12121n f f f f f n n n

(1)编写函数文件(文件名为fib.m ),求出斐波那契数列的第n 项

(2)编写测试脚本文件test.m ,调用上面的函数fib 输出斐波

那契数列的前15项

33、 编写脚本文件,实现功能:某整数的三次方是四位数,四次方是六位数,该四位数和六位数的各位数字正好是0~9这十个数字,求这个正整数。(提示:num2str 可以将整数转换成数字字符,判断两个向量是否相同可以用函数isequal )。

34、 编写脚本文件,实现功能:从键盘输入任意个正整数(大于0),以0结束,统计这些数中奇数的个数并求奇数的和。

35、 编写一脚本文件,求[100,200]之间第一个能被35整除的整数。

36、 编写一脚本文件ex_38.m 求解鸡兔同笼问题,从键盘输入头的数目headers 和脚的数目foots ,编程求解鸡的数目num_chick 和兔的数目num_rabbit 。

37、 编写一脚本文件求符号矩阵 ??

???

?????=333231232221131211a a a a a a a a a A

的秩、逆矩阵、行列式的值和特征根。

38、 编写函数文件,求一个矩阵的最大值、最小值和平均值。矩阵的名字、行数、列数由函数中的参数控制(不能用标准函数max 、min 、mean )。

39、 已知常微分方程);(6.01.022t u x dt

dx

dt x d =+?+t 为时间变量、u(t)为t=0时的单位

阶跃函数、

0)0(|0

===x dt dx

t ;将x(t)在50sec 内的数值解仿真输出到workspace 、编写脚本文件用plot 函数画出。(提交两个文件)

40、

用matlab 仿真证明数学公式1cos sin 2

2

=+x x 。(用示波器输出,提交一个文件)

41、 用matlab 仿真求下面常微分方程组的、t 在闭区间[0,20]的数值解、仿真输出到workspace 、编写脚本文件用plot 函数画出。(提交两个文件)

42、

????

?

????===?

??

-y y y y y y y y y 2131322321 初始条件为y1(0)=0、y2(0)=0.5、y3(0)=-0.5 。

43、 下图为简单的RC 电路、设us=+5伏直流电源;R=2欧姆;电容C=1法拉;在时间

t=0时闭合开关s;电容上的初始电压uc(0)=0。根据基尔科夫定律并整理得:

us RC uc RC dt duc 11=+代入数值:5.25.0+-=uc dt

duc

请用matlab 仿真获得什么时候th 电容上的电压为us 的一半即:uc(th)=2.5伏。(要求使用stop,clk,display,及其它关系模块,满足电压要求后停止仿真、用display 显示th 值)。(提交一个文件)

44、

45、在GUI中用不同的颜色和线形绘制sinx在[-pi,pi]的图形。

46、用GUI实现两个数据相加。

47、用GUI实现两个数据相减。

48、用GUI实现两个数据相乘。

49、用GUI实现两个数据相除。

50、用GUI设计一个界面,输入姓名,选择性别,然后在下面的文

本框中显示。

51、用GUI设计一个界面,输入姓名,选择爱好,然后在下面的文

本框中显示。

52、用GUI编写下拉框界面。下拉框中包含:小学、初中、高中、

专科、本科、研究生。

53、用GUI编写列表框界面。列表框中包含:小学、初中、高中、

专科、本科、研究生。

54、双界面的切换。第一个窗口中输入姓名,选择性别,点“确定”

后在第二个窗口中显示结果。第二个窗口中点“返回”则回到第

一个窗口。

55、在第1个子窗口用极坐标画图显示r=0.5(1+cos(θ)),其中θ∈[0,2π];

在第2个子窗口作填充图,填充坐标矢量为X=[0 0.2 0.8 1 0.5 0],Y=[1 0

0 1 1.8 1],填充颜色为红色;在第3个子窗口作双y轴图y1=sin(t),t

∈[0,4π],y2=20*cos(t);在第4个子窗口显示相图x=sin(t),y=cos(t).

如图所示

56、绘制cos(x)、sin(x)、abs(x)、floor(x)、round(x)、sign(x)的如下图形。X在-pi~pi之间。

57、绘制不同大小的图形如下。X在-pi~pi之间。

58、绘制如下图形。

59、绘制如下的cos(x)图形。

60、设x=11:15;

y=[35 30 42

32 31 45

30 32 41

34 38 42

29 32 43];

画出如下的图形。

相关文档