MATLAB练习作业(已做)2012

  • 格式:doc
  • 大小:313.00 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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*');