MATLAB练习作业(已做)2012
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:如在测试时请将程序中的中文字符改为西文(部分程序为手写,并未经matlab验证)
2012年春《MATLAB基础》第一次上机练习与作业练习1:脚本文件
建立一个文件名为helloWorld的脚本文件,运行该文件时显示出如下文字:
Hello World!
I am going to learn MATLAB
•提示: 用disp显示字符串,将要显示的字符号串用单引号引起来。如'This is a string'
练习2:变量
获取并保存当前的日期与时间
●用函数clock生成一个变量,变量名为start
●用size查看start的维数,它是一个行向量还是一个列向量?
●start包含什么内容?用help clock查看
●用函数datestr将向量start转换成字符串,得到新的变量,名为startString
●将start与startString保存为mat文件,文件名为startTime
●在练习1建立的脚本文件helloWorld.m文件中,用load函数导入变量startTime, 并显示如下文字:
I started learning MATLAB on * start date and time*
练习3:标量
你将要以指数增长的速度来学习MATLAB, 将如下内容添加到helloWorld.m文件中
●假设你的学习时间是一个常量,为1.5 days,将此时间用秒表示,赋给变量tau
●假设课程持续时间为5 days. 将这个时间单位转换为秒,保存在变量endofClass中?
●将学到的知识描述为t的函数,函数方程为:
●用函数datestr将向量start转换成字符串,得到新的变量startString
●在课程结束时间endofClass,你将学到多少知识?用变量knowledgeAtEnd表示(指数函数exp)
●用变量knowledgeAtEnd,显示如下语句:
At the end of the MATLAB class, I will know X% of MATLAB
提示: 将数转换成字符串,用num2str
练习4:向量运算
计算从课程开始到现在经过的时间,用秒表示.
●在helloWorld.m中,建立一系列变量,变量名分别为:secPerMin, secPerHour,
secPerDay,secPerMonth(假设每个月30.5天),以及secPerYear.
●将变量按次序secPerYear,secPerMonth, secPerDay,secPerHour, secPerMin,1 排列,构
成一个行向量,命名为secConversion?
●用时钟函数clock生成一个向量currentTime
●计算经过的时间elapsedTime,用currentTime与start相减.
●通过向量secondConversion与elapsedTime的数量积运算计算时间t,
●显示当前的时间水平,用变量currentKnowledge表示. ()
●显示如下语句:
At this time, I know X% of MATLAB
练习5:向量函数
计算你的学习轨迹.
●在helloWorld.m中,建立线性时间向量tVec,包含从0到endOfClass的10000个样本点.
●计算在每个时间点处对应的知识值,仍然用函数
练习6:向量寻址
什么时候你将学到50%的MATLAB知识?.
●在向量knowledgeVec中,查找最接近0.5的元素所在的位置.
●用halfTime保存对应的时间
●显示如下语句:
I will know half of MATLAB after X days
要将halfTime用secPerDay转换成天数
练习7:绘图
画出学习的轨迹图?.
●在helloWorld.m中,打开一个新的图形窗口(figure)
●用向量tVec与knowledgeVec画出知识轨迹,画图时,将时间单位转换为天
●用图形窗口中的zoom in 查看halfTime,与前面计算结果相比较.
clear,clc;
disp('Hello World!');
disp('I am going to learn MA TLAB');
start=clock;
[startx,starty]=size(start);
if startx>starty
disp('一个行向量')
else
disp('一个列向量');
end
startString=datestr(start);
save startTime.mat start startString;
waittime=input('为使程序达到较好的执行效果,请输入程序需要暂停时间(秒):'); state = 0;
h = waitbar(0, '请等待...', 'Name', '进度条', 'CreateCancelBtn', ...
'state = 1; delete(h); clear h');
h1 = findall(h, 'style', 'pushbutton');
set(h1, 'string', '取消', 'fontsize', 10)
for i = 1 : 100
waitbar(i/100, h, ['已暂停时间百分比' num2str(i) '%']);
pause(waittime/100);
if state
break
end
end
if exist('h') == 1
delete(h);
end
load startTime
disp('I started learning MATLAB on * start date and time*');