数学软件MATLAB附加习题

内容发布更新时间 : 2025/3/25 12:21:44星期一 下面是文章的全部内容请认真阅读。

第2章 Matlab矩阵及其运算

1. 给定一实数矩阵A,试写一组指令,将其所有非正元素设定为0. 2. 给定一实数矩阵A,试写一组指令,将其所有nan元素设定为0.

3. 给定一实数和虚数交错的矩阵A,试写一组指令,将其所有虚数元素设定为nan. 4. 请写一组指令,产生元素值为0或1的向量,向量长度为100,且出现0或1的概率各占一半。如果要求元素值为-1或1呢?

5. 假设有一整数矩阵A,请写一函数,将此整数矩阵以ASCII的整数方式存于文件之中。例如当矩阵内容如下时

?1234???5678??, ??则储存到文件中的内容为

1 2 3 4 5 6 7 8

6. 本题练习二进制文件的读写。

(1)请将A=magic(10)以uint8的数据类型存入一个二进制文件mytest.bin,使用指令为fwrite.

(2)请再用fread指令将此魔方阵读至工作空间中的AA变量中。

7. 设计一个函数captalize.m,其用法如下:

outputStr=capitalize(inputStr)

其中inputStr是一英文字符串,函数会将此字符串中每个单词的第一个字母改为大写,其余为小写,并将多余空格代换成一个空格,outputStr则是最后的输出字符串。例如,当输入是’ how are you! ’时,所得到的输出字符串是’ How are you! ’. 8. 请创建下列4×3的元胞数组A: 张惠妹 听海 1998 周华健 花心 1992 一场游戏一场王杰 1988 梦 孙燕姿 超快感 2000 9. 在上面的元胞数组中,每一横行代表一个记录,我们要用不同的方法来排序:

⑴ 请依歌星名字内码来排序,产生新的元胞数组B。 ⑵ 请依年代来排序,产生新的元胞数组C。

⑶ 请依歌名字数来排序,产生新的元胞数组D(若字数相同,则按歌名中字符的内码来排序)。

10. 在上题的元胞数组中,求出年代的最大值、最小值、平均值及中位数。 11.假设一元胞数组A内容如下: 张惠妹 听海 1998 周华健 花心 1992 一场游戏一场王杰 1988 梦 孙燕姿 超快感 2000

1

试将此元胞数组A转成结构体数组song,其中 song(1).singer=’张惠妹’ song(1).name=’听海’ song(1).year=’1998’ song(2).singer=’周华健’ ?

1、 此题用到上题的结构体数组song.

⑴ 请将结构体数组song依歌星名字的内码来排序。 ⑵ 请将结构体数组song依年代来排序。 2、 此题用到第5题的结构体数组song.

⑴ 请取出所有歌星的名字,顺次存成一个元胞数组。 ⑵ 请取出所有的年代,顺次存成一个数值数组。

第3章 Matlab程序设计

1. 写一函数project1.m,其输出输入格式如下:

out=project1(x, u)

其中x和u是维数相同的向量,out则是x在u方向上的投影的平方。 2. 写一函数quadzero.m,其输入输出格式如下:

root=quadzero(coef)

其中coef是一个3?1的向量,代表一个一元二次方程的系数(降幂排列),而root则是此方程的根所形成的向量。若coef(1)不是0,则root的长度为2。若coef(1)是零,则可能有一解(roots长度为一)或无解(root为空矩阵)。(请注意:你的程序必须套用二次方程的求根公式,而不可直接使用系统提供的roots命令来解题。)

3. 给定一向量A,依其元素值不同,在屏幕上输出不同信息。例如,当A=[-1, 1, 0, 2+i]时,你的程序应输出: A(1)=-1是负数

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi