《MATLAB程序设计》实验报告
x =
1.0000 0 0 0 0 370.9444 0 1.0000 0 0 0 -224.7273 0 0 1.0000 0 0 238.3333 0 0 0 1.0000 0 -138.1892 0 0 0 0 1.0000 503.6364
Elapsed time is 0.047000 seconds. >> tic,x=A\\b,toc x =
370.9455 -224.7276 238.3333 -138.1891 503.6378
Elapsed time is 0.000000 seconds. 使用左除运算执行的时间比rref()更短
11、建立一个元胞数组,要求第一个元素为4Χ4的魔术矩阵,第二个元素为18.66,第三个元素为'matlab',第四个元素为等差数列7,9,11,13…99。计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第10个元素。
>> A={magic(4),18.66,'matlab',[7:2:99]} A =
[4x4 double] [18.6600] 'matlab' [1x47 double]
共64 页,第 26页
《MATLAB程序设计》实验报告
>> A{1} ans =
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
>> B=A{1}(4,2)+A{2}+A{3}(2)+A{4}(10) B =
154.6600
12、建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是:
(1) 如何找到第2个人的分数并显示出来;
>> student(2).score
(2) 如何找到第2个人的每门课程3个阶段的平均分数并显示出来;
>> aver=mean(student(2).score,2)
(3) 所有同学的10门课程的每门课程的平均分如何计算出来?要求放到一
个数组里;
>>SMean=(mean(student(1).score)+mean(student(2).score)+mean(student(3).score))/3
(4) 找到这个班所有同学的姓名放到一个元胞数组里;
>> SName{1}=[student(1).name,student(2).name,student(3).name] 13、完成以下操作:
(1) 已有str=‘decision 20 made on 10/20/10’,查找字符串中20出现的位置。
>> findstr(str,'20')
共64 页,第 27页
《MATLAB程序设计》实验报告
ans =
10 24
(2) 有字符串s1=’matlabexpress’,s2=‘matlabexcellent’,比较两个字符串的
前8个字符是否相同,相同输出1,否则输出0。 >> strcmp(s1(1:8),s2(1:8)) ans = 1
(3) 统计字符串s1=‘matlabexpress’中ex出现的次数,并替换为EX。
>> length(findstr(s1,'ex')) ans = 1
>> s1([findstr(s1,'ex'):findstr(s1,'ex')+1])='EX' s1 =
matlabEXpress
共64 页,第 28页
《MATLAB程序设计》实验报告
实验三 MATLAB程序设计
一、实验目的
1、掌握建立和执行M文件的方法。
2、掌握选择结构、多分支选择结构程序的编程方法。 3、掌握多种循环结构程序的编程方法。 4、掌握定义函数文件和调用函数文件的方法。 二、实验内容
1、MATLAB M文件的创建与使用。 (1) 建立自己工作目录,
(2) 在M文件编辑器中编制命令行文件。 (3) 命令行程序运行。
(4) 按上述步骤,在编辑器中输入如下函数文件:
function f=tt(n)
%求小于任何正整数且为2的整数次幂的正整数。 %c=n(n)
%n可取任意正整数。 %河北工业大学实验室130 04年8月。 f(1)=2; k=1;
while f(k) 调试后,将其以test2.m形式保存在D:\\MATLAB中。 (5) 进入命令窗口,键入test2(9),观察程序运行结果。 实验结果: >> test2(9) 共64 页,第 29页 《MATLAB程序设计》实验报告 f = 2 4 8 ans = 2 4 8 2、编写一个函数M文件,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。 ?sinx,?y(x)??x,??x?6,?选择一些数据测试编写的函数。 源程序及实验结果: function y=tt(x) %给出标量x调用函数返回y的值 if(x<=0) y=sin(x); elseif(x<=3) y=x; else y=-x+6; end y x?00?x?3 x?3 3、编写一个函数M文件,返回向量x中元素的和、平均值、最大值、最小值、均方根值。其中方均根值(Root Mean Square)的计算公式为: rms?并用下面数据测试你写的函数: (1) x=sin(0:0.01:6*pi) 1N?xi?1N2i 共64 页,第 30页