matlab作业

发布 2020-04-15 21:42:28 阅读 9464

《matlab语言》第3次作业(字符串,单元数组和结构体)

专业: 海洋技术(海洋测绘方向) 姓名: 张体强学号: 1026222

1、如何将一个char 数据类型的向量转化为相应的double 型数据类型的数据向量。

从式1 到8,判断这些语句是否正确。如果它们正确,那么将产生什么结果?这题不要在电脑中做。

1. str1 = this is a test! '

str2 = this line, too.';

res = strcat(str1, str2);

3. str1 = this is a test!';

str2 = this line, too.';

res = str1; str2];

4. str1 = this is a test!';

str2 = this line, too.';

res = strvcat(str1, str2);

5. str1 = this is a test!';

str2 = this line, too.';

res = strncmp(str1, str2, 5);

6. str1 = this is a test!';

res = findstr(str1, 's');

7. str1 = this is a test!';

str1(4:7) =upper(str1(4:7));

8. str1 = this way to the egress.';

str2 = this way to the egret.';

res = strncmp(str1, str2);

解:把char型变为double我们用函数str2num()函数。

1:把两个字符串连接起来,res =this is a test!this line, too.

3:错误, 号中的表达式中的所有行必须有相同的列数。

4: res =this is a test!

this line, too.

5:结果为1,此函数表示比较两个字符的前5个字符是否相同,相同就返回1,否者为0

6:res = 4 7 13 表示找出s出现的位置(索引值)

7:str1 =this is a test! 表示把第4到7那几个字母变为大写。

8:错误,没有给比较的参数。

2、编制一个程序,该程序将接受用户输入的任何字符串,并查找在这个字符串中的某个指定字符出现的次数。

答:例如我要找处字符a;a= %定义程序都能接受的字符。

s=ceill2mat[a]

d=find(s== a’) 找出字符a

x=length(d这就是要求的次数。

3、编制一个程序,使得改程序接受用户输入的字符串,并将该字符串按升序排列并打印出来。

答:例如:a=’cfdjkhk’

b=a(:,end:-1:1) %逆序输出。

4、编制一个程序,使得改程序接受用户输入的字符串如’shanghai ocean university’,并将该字符串每个单词第1个字母大写,其余不变。

答:a=’shanghai ocean university’

a(1)=upper(a(1))

b=find(a==

a(b+1)=upper(a(b+1))

第一步:首字母大写。

第二部:找出空格。

第三部:各个单词首字母。

5、创建 2×2 单元数组,第 个元素为字符串,第三个元素为整型变量,第四个元素为双精度(double)类型,并将其用图形表示。

> a='1'a =

> b=int8(0)b =

> c='0'c =

> d=1d =

> m=[a b;c d]

6、创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、四门课程成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次(按总分)等。(姓名自己收集,分数随机产生等,输入大约10位同学材料)。

解:student(1).no=1026220;student(1).name='joggn';student(1).score=[86;91;56;77]

student(2).no=1026221;student(2).name='john';student(2).score=[86;91;56;65]

student(3).no=1026222;student(3).name='johdn';student(3).score=[86;91;56;76]

student(4).no=1026223;student(4).name='jowhn';student(4).score=[86;91;56;56]

student(5).no=1026224;student(5).name='johgn';student(5).score=[86;91;56;76]

student(6).no=1026225;student(6).name='joghn';student(6).score=[86;91;56;88]

student(7).no=1026226;student(7).name='joshn';student(7).score=[86;91;56;66]

student(8).no=1026227;student(8).name='jodhn';student(8).score=[86;91;56;33]

student(9).no=1026228;student(9).name='joshn';student(9).score=[86;91;56;77]

student(10).no=1026229;student(10).name='jn';student(10).score=[86;91;56;99]

student=[student(1);student(2);student(3);student(4);student(5);student(6);student(7);student(8);student(9);student(10)]

计算成绩总和方法:如计算student(1)的总成绩:sum(student(1).score)

计算均分:如student(1)的均分:mean(student(1). score)其他均可求出。

7、如果value = pi, 请填写输出结果。

1) fprintf(‘value = 4.3f’, valuevalue = 3.142

2) disp(['value = int2str(valuevalue = 3

8、建立一个字符串向量,然后对该向量做如下处理:

1) 取第1~5个字符组成的子字符串。

2) 将字符串倒过来重新排列。

3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。

4) 统计字符串中小写字母的个数。

答:str=’asdhjgjhgsyjh’

b=str(1:5)

c=str(:,end:-1:1)

m=find(str>=’a’&str<=’z’)

length(m)

9、a定义如下,首先确定这些表达是否正确,如果正确将会产生什么结果,如果错误,请解释原因。

a = 1 2 3; 4 5 6; 7 8 9]

a(1, 2) =

a = i;

a = a – a(2, 2)

1) a(2, 2)

结果= [3x3 double]

2) 2*a(1,1)

错误,由于a(1,1)是个元胞。

3) a结果 =

取出具体的东西。

matlab作业

2011029170002王柳。a 一个问题的病态性如何,与求解它的算法有关系。错 b 无论问题是否病态,好的算法都会得到它好的近似解。错 c 计算中使用更高的精度,可以改善问题的病态性。错 d 用一个稳定的算法计算一个良态问题,一定会得到它好的近似解。对 e 浮点数在整个数轴上是均匀分布。错 f ...

matlab作业

电子与通信工程学院。通信系统 实验报告。2013 2014 学年第1学期。调频 fm 系统调制解调 专业 通信工程。班级 通信111 班。学号 姓名 指导教师姓名陈多瑜。2013年 11 月日。1.频率调制或调频 fm 1 设调制信号为m t 调频信号的数学表达式为。例如 m t 的时域波形为。m ...

matlab作业

一,编写程序,完成当输入一个变量时求其阶乘,输入两个变量时求其阶乘之和,输入三个变量时输出错误。程序如下 clc disp 按以下提示输入变量个数 1至3 及其内容,无变量则直接回车结束 n input 变量个数n a input 变量a b input 变量b c input 变量c if n 1...