MATLAB练习作业(已做)2012

合集下载

matlab2012实验1参考答案

matlab2012实验1参考答案

MATLAB 实验一 MATLAB 数值计算试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB 执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3 报告以Word 文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc 4 试验报告doc 文档以附件形式发送到maya_email@ 。

凡文档命名不符合规范,或者发送方式不正确,不予登记。

5 每次试验报告的最后提交期限:下次试验课之前。

一 目的和要求1 熟练掌握MATLAB 变量的使用2 熟练掌握矩阵的创建3 熟练掌握MATLAB 的矩阵和数组的运算4 使用元胞数组和结构数组二 试验内容1 创建矩阵(必做)1.1使用直接输入,from:step:to ,linspace ,logspace 等方式创建矩阵。

1.2 输入矩阵1234246836912a ⎛⎫⎪= ⎪ ⎪⎝⎭1.2-1)分别使用全下标和单下标达方式取出元素“8”>>a=[1 2 3 4;2 4 6 8;3 6 9 12]>> a(2,4) %全下标方式 >> a(11) % 单下标方式1.2-2)分别用不同的方式从矩阵a 中取出子矩阵⎥⎦⎤⎢⎣⎡1286432%方法一:全下标方式 a([2,3],[1 2 4])%方法二:单下标方式 a([2 5 11;3 6 12])% 方法三:利用逻辑向量 l1=logical([0 1 1])l2=logical([1 1 0 1]) a(l1,l2)1.2-3)分别写出以下的执行结果:a ( :, 3 ) a (:,end) a (:, 2 : 3) a ([1 3], : )a (:) a (2 : 3) a([2 3 4])本题解答略,希望大家熟练掌握数组运算中 : end 的用法以及 全下标,单下标等方式2 矩阵的运算(必做)2.1使用format 命令,将 pi 分别用short 和long 格式显示其值。

(完整版)matlab基础练习题(带答案)

(完整版)matlab基础练习题(带答案)

Matlab 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?( )(A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。

(A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( )(A )eps (B )none (C )zero (D )exp4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。

( 错,都是2个字节 )5、 判断:MA TLAB 中,i 和j ( 对 )6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。

( 错,后面还有很多位小数 )7、 在MA TLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。

8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。

9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。

数组1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。

(A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB的命令是( )。

(A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A)3、 在MATLAB 中,用指令x=1:9生成数组x 。

#数值分析Matlab作业

#数值分析Matlab作业

数值分析编程作业2012年12月第二章14.考虑梯形电阻电路的设计,电路如下:电路中的各个电流{i1,i2,…,i8}须满足下列线性方程组:121232343454565676787822/252025202520252025202520250i i V R i i i i i i i i i i i i i i i i i i i i -=-+-=-+-=-+-=-+-=-+-=-+-=-+=这是一个三对角方程组。

设V=220V ,R=27Ω,运用追赶法,求各段电路的电流量。

Matlab 程序如下:function chase () %追赶法求梯形电路中各段的电流量 a=input('请输入下主对角线向量a='); b=input('请输入主对角线向量b='); c=input('请输入上主对角线向量c='); d=input('请输入右端向量d='); n=input('请输入系数矩阵维数n='); u(1)=b(1); for i=2:nl(i)=a(i)/u(i-1); u(i)=b(i)-c(i-1)*l(i); endy(1)=d(1); for i=2:ny(i)=d(i)-l(i)*y(i-1); endx(n)=y(n)/u(n); i=n-1; while i>0x(i)=(y(i)-c(i)*x(i+1))/u(i); i=i-1;end x输入如下: >> chase请输入下主对角线向量a=[0,-2,-2,-2,-2,-2,-2,-2]; 请输入主对角线向量b=[2,5,5,5,5,5,5,5];请输入上主对角线向量c=[-2,-2,-2,-2,-2,-2,-2,0]; 请输入方程组右端向量d=[220/27,0,0,0,0,0,0,0]; 请输入系数矩阵阶数n=8 运行结果如下:x = 8.1478 4.0737 2.0365 1.0175 0.5073 0.2506 0.1194 0.0477第三章14.试分别用(1)Jacobi 迭代法;(2)Gauss-Seidel 迭代法解线性方程组1234510123412191232721735143231211743511512x x x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=--⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦⎣⎦ 迭代初始向量(0)(0,0,0,0,0)T x =。

2012Matlab试题及解答

2012Matlab试题及解答

1. 要在命令窗口中查看对数函数log 的帮助信息,所用命令是help log 。

2. 删除工作空间中保存的变量A 的命令是clear A 。

3. 在Matlab 命令窗口输入(2*sin(85*pi/180))/(1+exp(2))可以计算表达式22sin 851e +的值。

4. 在同一图形窗口中开多个子窗口的Matlab 函数名是subplot 。

5. 设a 是一维数组,a 的倒数第3个元素表示为 a (end-2)。

6 求多项式43810xx --的根的命令为roots([1,8,0,0,-10])。

二、阅读程序并回答问题(本大题共3小题,每小题5分,共15分) 7. A=zeros(2,4); A(:)=1:8;s=[2 3 5];Sa=[10 20 30]'; A(s)=Sa ;AA =1 20 30 7 10 4 6 8..............................5分 8. 写出下列程序的输出结果。

B{1,1}=1; B{1,2}='Breden'; B{2,1}=reshape(1:9,3,3); B{2,2}={12,34,2;54,21,3;4,23,67}; B(3)=[]; B B =[1] [3x3 double] {3x3 cell} 9. 写出下列程序的输出结果: s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4if rem(k(j),2)~=0s=s+k(j);endendendss =108..............................5分三、编写程序解答下列各题(本大题共4小题,每小题8分,共32分)10.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们的和。

sum=0;n=0;x=input('Enter a number (end in 0):');while (x~=0)sum=sum+x;n=n+1;x=input('Enter a number (end in 0):');endif (n>0)summean=sum/nend11. 一个3位数各位数字的立方和等于该数本身则称该数为水仙花数。

MATLAB作业

MATLAB作业

MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。

2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。

在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。

3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。

4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。

5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。

6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。

运⾏过程中产⽣的变量都是全局变量。

运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。

函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。

(完整版)matlabR2012a课后习题答案第三章

(完整版)matlabR2012a课后习题答案第三章

第3章数值数组及其运算习题3及解答1 要求在闭区间]2,0[ 上产生具有10个等距采样点的一维数组。

试用两种不同的指令实现。

〖目的〗●数值计算中产生自变量采样点的两个常用指令的异同。

〖解答〗%方法一t1=linspace(0,2*pi,10)%方法二t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9.t1 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.2832t2 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.28322 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。

〖目的〗●数组下标的不同描述:全下标和单下标。

●sub2ind, int2str, disp的使用。

●随机发生器的状态控制:保证随机数的可复现性。

〖解答〗rng('default')A=rand(3,5)[ri,cj]=find(A>0.5);id=sub2ind(size(A),ri,cj);ri=ri';cj=cj';disp(' ')disp('大于0.5的元素的全下标')disp(['行号 ',int2str(ri)])disp(['列号 ',int2str(cj)])disp(' ')disp('大于0.5的元素的单下标')disp(id')A =0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3 列号 1 1 2 2 3 3 4 4 5 5大于0.5的元素的单下标1 2 4 5 8 9 10 12 13 153 采用默认全局随机流,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。

Matlab基本操作练习

Matlab基本操作练习

实验一Matlab基本操作练习一、实验目的(1)了解和学会使用matlab平台的命令窗口、帮助窗口、编辑窗口、工作空间。

(2)学会使用matlab的.m文件、.mat文件(3)学会基本的矩阵赋值、运算和查找等操作(4)了解for循环、while循环的执行过程(5)掌握函数的定义和调用的基本方法二、实验内容1、了解save命令和load命令的使用。

操作步骤:(1)在命令窗口输入如下命令:clear ;savefile = 'TestFile.mat';p = rand(1, 4);q = ones(10);r = ones(10,2);save(savefile, 'p', 'q', 'r')(2)观察并记录下当前工作空间中的变量;(3)输入如下命令:clear;(4)观察当前工作空间中的变量;(5)在命令窗口输入如下命令:load TestFile(6)观察当前工作空间中的变量;2、练习基本的数学运算(1)逐句输入并运行以下命令,观察每一步的运行结果,弄明白每一条语句的含义。

(2)计算A*inv(C),将结果与divrAC比较计算A*inv(C),将结果与divrAC比较3、练习矩阵定位函数find的使用逐句输入并运行以下命令,观察每一步的运行结果,弄明白每一条语句的含义。

clear;X = [1 0 4 -3 0 0 0 8 6]Indices1 = find(X)indices2=find(X>=6)clear;A=[3 2 0; -5 0 1]Indices3=find(A)[row,col,value]=find(A)4、练习for循环和while循环的使用操作步骤:(1)在命令窗口输入如下命令clear ;clc;(2)在命令窗口输入如下命令,并观察s1的值:a=1:100;s1=0;for k=1:100s1=s1+k;end(3)在命令窗口输入如下命令,并观察s2的值:s2=0;k=1;while k<=100s2=s2+k;k=k+1;end(4)在命令窗口输入如下命令,并观察s3的值:s3=sum(a);[s1 s2 s3]5、练习函数的定义和调用;定义和调用一个连续求和的函数SumOfN,能实现功能:给一个参数n,求出从1到n连续求和的结果。

MATLAB Char03-数据可视化与绘图作业20120412

MATLAB     Char03-数据可视化与绘图作业20120412
数据可视化与绘图作业
【作业1】绘制函数 y xe 和 y2=exsin(x) 在0 x 1 时的曲线。两条曲线分别用红色实 线和绿色虚线表示,并用legend函数进行标识。
x
【作业2】使用axis equal语句画出球面正弦波:
a 10.0, b 1.0, c 0.3, 0 t 2
绘出下述级数的图形。除非特别指明,所有级数仅求 2n n 1,3,5,...
1 1 2 2
4
【作业6】请绘制如下分段函数的图形,其中x的取值范围为 [-10,10],并为图形的横坐标加上标签“x”,为图形的纵坐 标加上标签“f(x)”。
x 1 3 x 2, f x x, 1 x 1 2 x 3, x 1
【作业7】标准条件下钢管中流动的空气压降可由下式给出:
x cos(t ) b2 c 2 cos 2 (at ) y sin(t ) b2 c 2 cos 2 (at ) z c cos(at )
【作业3】用surf函数画出正螺旋面:
(c 1/ 2 , 0.5 u 0.5, 2 v 2 )
x u cos(v ) y u sin(v) z cv
【作业4】给定如下8点的x和y坐标向量,请由此7 点拟合成一条4次曲线方程,并在一图形窗口绘出 点和拟合曲线的图形。 x=[2 2.5 3 4 5 6 7 10] y=[4 3 5 6 8 5.6 9.8 12]
【作业5】从球面坐标到迪卡尔坐标的转换公式为: x=b sin a cos c y=b sin a sin c z=b cos a a 在[0 90]之间的范围内分10等份,c在[0 360]的范围内分24等 份。令b=2 ,计算x,y,z,并利用mesh(x,y,z)绘出这个半球形。

2012_MATLAB基础题

2012_MATLAB基础题

第一章一、选择题1.MATLAB的图像处理功能属于(D)A.开发环境的组成部分B.数学函数库的组成部分C.MATLAB语言的组成部分 D. MATLAB图形系统的组成部分2.clc命令用于(C )A.删除工作空间变量B.创建图形窗口C.清除命令窗口显示内容D.关闭图形窗口3.要使科学计数法的数据精度为小数点后四位,应采用的命令是(B)A. format shortB. format short eC. format longD. format long e4.使用format rat命令后,计算5/3+6/3的结果为(D )A. 3.6667e+000B. 3C. 3.6667D. 11/35.使用format rat命令后,计算2/3+8/3的结果为(D )A. 3.3333e+000B. 3C. 3.3333D. 10/36.和程序调试有关的是(D)A.添加书签B.添加注释C.指定行号D.设置断点7.单步运行对应的命令为(D)A. Go until cursorB. Set BreakpointC. Clear BreakpointD. step8.要仅列出所有以plot为前缀的命令,应使用的命令是( D )A. helpB. help plotC. lookfor plotD. 输入plot后按tab键二、填空题1.执行format short e后,4/3的计算结果为1.3333e+000 。

P10 表1-32.查看MATLAB工作空间的变量名、大小、尺寸和类型的命令为whos 。

P143.如果MATLAB的搜索路径定义的目录中存在多个同名的函数,则只执行搜索路径中的第一个函数。

P17三、名词解释1.MATLAB开发环境: MATLAB开发环境包括命令窗口、工作空间窗口、命令历史窗口和当前路径窗口。

P52.MATLAB当前路径窗口: 可以切换当前路径并提供了当前路径下的文件操作。

P153. MATLAB工作空间: 工作空间是MATLAB的变量管理中心,可以显示变量的名称、尺寸、大小和类型等信息。

(仅供参考)MATLAB练习作业(已做)2012

(仅供参考)MATLAB练习作业(已做)2012

说明:如在测试时请将程序中的中文字符改为西文(部分程序为手写,并未经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.5days,将此时间用秒表示,赋给变量tau●假设课程持续时间为5days.将这个时间单位转换为秒,保存在变量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 MATLAB');start=clock;[startx,starty]=size(start);if startx>startydisp('一个行向量')elsedisp('一个列向量');endstartString=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:100waitbar(i/100,h,['已暂停时间百分比'num2str(i)'%']);pause(waittime/100);if statebreakendendif exist('h')==1delete(h);endload startTimedisp('I started learning MATLAB on*start date and time*');tau=1.5*24*3600;endofClass=5*24*3600;knowledgeAtEnd=1-exp(-tau/endofClass);disp(['At the end of the MATLAB class,I will know',num2str(knowledgeAtEnd*100),'%of MATLAB']);secPerMin=60;secPerHour=3600;secPerDay=24*secPerHour;secPerMonth=30.5*secPerDay;secPerYear=12*secPerMonth;secondConversion=[secPerYear,secPerMonth,secPerDay,secPerHour,secPerMin,1]; currentTime=clock;elapsedTime=currentTime-start;elapsedTime=elapsedTime.*secondConversion;currentknowledge=1-exp(-elapsedTime/endofClass);disp(['At this time,I know',num2str(sum(currentknowledge)*100),'%of MATLAB']);tVec=linspace(0,endofClass,1000);knowledgeVec=1-exp(-tVec./endofClass);halfTimeindex=find(abs(knowledgeVec-0.5)<1e-3);halfTime=sum(tVec(halfTimeindex))/length(halfTimeindex)/secPerDay;disp(['I will know half of MATLAB after',num2str(halfTime),'days']);plot(tVec/secPerDay,knowledgeVec);xlabel('Day');2012年春《MATLAB基础》第二次上机练习与作业练习1:函数文件建立一个文件名为plotSin的函数文件,要求:●函数声明为:functon plotSin(f1)●该函数用于画出频率为的正弦波在区间上的图像.●每个周期含有16个数据点function plotsin(f1)xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x));练习2:条件语句●修改函数plotSin(f1)使之有两个输入变量,形式为plotSin(f1,f2)●如果输入的变量个数为1,执行以前写的绘图命令.否则显示文字'Two inputs were given'●提示:输入变量的数目用内置变量名:narginfunction plotsin(f1,f2)if nargin==1xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x));elseerror('Two inputs were given');end练习3:绘图命令●修改PlotSin中的绘图命令,将数据点类型改为正方形,线形改为红色虚线,线宽为2.设置数据点填充色为黑色(属性名为:LineWidth,MarkerFaceColor)●如果有2个输入变量,新开一个绘图窗口,上下排列,并且激活上面图形窗口plotSin(6)plotSin(2,3)function plotsin(f1,f2)if nargin==1h1=figure(1);xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x),'--rs','MarkerFaceColor','k','LineWidth',2); elseh2=figure(2);h1=figure(1);xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x),'--rs','MarkerFaceColor','k','LineWidth',2); end练习4:半对数图在过去5年里,某课程学生人数分别为:15,25,55,115,144.班级规模似乎呈指数增长趋势,用半对数图来验证.要求绘制的图形效果如下●相关函数:semilogy,xlabel,ylabel,axis,title●数据点为玫红,正方形,没有折线相连.点的大小为10,点边线的宽度为4.x=1:5;y=[15,25,55,115,144];h=semilogy(x,y,'sr','MarkerSize',10,'Linewidth',4);xlabel('x');ylabel('y');title('My Semilogy plot');axis([0,6,10,300])set(h,'Color',[10.30.6]);练习5:条形图生成一个有5个随机数构成的向量,画出一幅条形图,条形块为红色.效果如下:bar(1:5,rand(5,1),'r')练习6:圆的绘制●建立一个画圆的函数文件.function[x y]=getCircle(center,r)运行程序得到的是圆上点的坐标●调用程序画出同心圆及五环图,效果如下col=['b','k','r','y','g'];subplot 121r1=1:5;center1=[0,0];for i=1:5[x,y]=getCircle(center1,r1(i));plot(x,y,col(i),'Linewidth',2);hold onend axis equal axis([-55-55])subplot 122r2=0.5;center2=[-10;00;10;-0.5-0.5;0.5-0.5];for i=1:5[x,y]=getCircle(center2(i,:),r2);plot(x,y,col(i),'Linewidth',2);hold onend axis equal axis([-1.51.5-1.51])-505-505-1012012年春《MATLAB 基础》第三次上机练习与作业练习1:演示文件命令窗口中,键入:demo,出现MATLAB的demo演示窗口,然后选择:MATLAB下的Matrices,依次选取其中的Basic Matrix operation、Matrix manipulation两个示例,进行MATLAB矩阵运算的学习。

MATLAB课程作业练习题

MATLAB课程作业练习题

内蒙古工业大学电力学院《MATLAB在电力系统中的应用》练习题汇总编者:顾秀芳单位:电力学院电力工程系时间:2012年8月实验一:《MATLAB操作环境及基本操作》实验指导书1、实验目的:了解MATLAB的运行环境,界面功能;熟悉MATLAB编程的基本方法;掌握MATLAB的基本画图功能;熟悉Simulink模块的基本操作及子系统的封装方法。

2、实验内容:操作MATLAB界面的主要菜单并了解其中的功能;练习矩阵的运算;编写或读懂并运行MATLAB程序;练习并实践MATLAB的画图功能的实现方法。

练习Simulink模块的基本操作;熟悉并练习子系统的封装方法;3、实验要求:通过预习,了解MATLAB的界面的组成,各界面实现的主要功能;了解MATLAB实现运算、逻辑判断的基本语法、函数的含义等;掌握MATLAB基本绘图功能,并实现简单的绘图;熟悉Simulink的及子系统封装的主要功能及基本操作。

4、实验步骤:(1)熟悉MATLAB界面的基本功能;(2)熟悉编程基础,并读通指定程序的含义,运行结果,并分析;(3)熟悉MATLAB的基本绘图语句,读通指定并读通指定程序的含义,运行结果并分析;实现给定的绘图任务;(4)熟悉Simulink模块的操作,并完成给定模型的搭建;(5)熟悉Simulink子系统模型搭建的步骤,并完成给定子系统的搭建及参数设置。

6 、实验题目:1)MATLAB环境的了解包括:窗口菜单的主要功能;各窗口实现的功能,包括:命令窗口,workspace/history,command history三个窗口的应用。

2)MATLAB编程基础内容包括:矩阵的形成及运算(矩阵相乘、点乘);逻辑运算;函数的应用。

练习内容一:矩阵的形成及操作;1:形成矩阵2:从矩阵中提取子矩阵:3:矩阵A中元素A41的值;4:修改矩阵A的元素,使A41=3;5:矩阵A中最后2行和最后3行交汇的子矩阵的值;练习内容二:矩阵的运算1:矩阵定义为:求出下列矩阵运算的结果,并解释部分操作无法实现的原因:(1) R=A+B;(2) R=A*D;(3) R=A.*D;(4) R=A*C;(5) R=A.*C;(6) R=A\B;(7) R=A.\B;(8) R=A.^B.1.网络如图,图中标注为支路导纳yij.试通过程序完成Y导纳矩阵的形成,j含对地支路练习内容三:编程语句的理解1:运行书P20中例题,比较标量循环和矩阵运算的差异;比较程序:1.一个窗口画一个图t=0:0.1:2*pi;y1=sin(t);plot(t,y1,'r:')axis([0,2*pi,-2,2]);xlabel('huduzhi');ylabel('hanshuzhi');title('正弦函数和余弦函数');grid ongtext({'y1=sin(t)'});2.一个窗口绘两个图(1)一条plot语句画t=0:0.1:2*pi;y1=sin(t); y2=cos(t);plot(t,y1,'r:', t,y2,'b-.')axis([0,2*pi,-2,2]);xlabel('t');ylabel('y1,y2');title('正弦函数和余弦函数');grid ongtext({'y1=sin(t)'; 'y2=cos(t)'});(1)分多条plot语句画t=0:0.1:2*pi;y1=sin(t); y2=cos(t); y3=tan(t) plot(t,y1,'r-')holdplot(t,y2,'b--')plot(t,y3,'k-.')axis([0,2*pi,-2,2]);xlabel('t');ylabel('y1,y2,y3');grid ongtext({'y1=sin(t)'; 'y2=sin(t)';'y3=sin(t)'}); legend('y1','y2','y3')3、一个窗口分割成三个小窗口t=0:0.1:2*pi;y1=sin(t);subplot(3,1,1)plot(t,y1,'r:')axis([0,2*pi,-2,2]);xlabel('t');ylabel('y1');title('正弦函数');grid ongtext('y1=sin(t)');subplot(3,1,2)plot(t,cos(t),'r:')axis([0,2*pi,-2,2]);xlabel('t');ylabel('cost');title('余弦函数');grid ongtext('y2=sin(t)');subplot(3,1,3)plot(t,tan(t),'r:')axis([0,2*pi,-2,2]);xlabel('t');ylabel('tant');title('正切函数');grid ongtext('y3=sin(t)');作业:t=0:0.1:2*pi;%y1=sin(t); y2=cos(t); y3=tan(t);y4=cot(t) subplot(2,2,1)plot(t,y1,'r-')axis([0,2*pi,-2,2]);xlabel('t');ylabel('y1'); subplot(2,2,2)plot(t,y2,'b--*')axis([0,2*pi,-2,2]);xlabel('t');ylabel('y2'); subplot(2,2,3)plot(t,y3,'k:')axis([0,2*pi,-2,2]);xlabel('t');ylabel('y3'); subplot(2,2,4)plot(t,y4,'m-.',t,y1.*y4,'m-.+') axis([0,2*pi,-2,2]);xlabel('t');ylabel('y4');grid ongtext({'y4=cot(t)'; 'y1*y4'});legend('y4','y1*y4')2、编制程序或其它途径实现下列绘图功能结合上面矩阵的运算及绘图命令读书中P149\152\154程序第2章:了解Simulink的基本操作;熟悉simulink及SPS库中模块,练习搭建:1)P45图2-22a)2)P102图5-3,课后完成P5-29, P111图5-13,3)搭建下下题表达的模型3-5、考虑如图所示感应电机的等效电路,输入的交流电压源为220V、50Hz,其它参数为。

Matlab上机作业部分参考答案

Matlab上机作业部分参考答案

3. 设A为 数组,B为一个行数大于3的数组,请给出 (1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令; (3)求符号极限 (4)求 的3阶导数
lim tan( mx ) 的命令集; x 0 nx x3 y arctan ln(1 e 2 x ) 的命令集; x2
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
2
4
6
8
10
12
14
某校60名学生的一次考试成绩如下: 93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55 1)计算均值、标准差、极差、偏度、峰度,画出直方图; 2)检验分布的正态性; 3)若检验符合正态分布,估计正态分布的参数并检验参数。 解答: x=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55]; mean(x) std(x) range(x) skewness(x) kurtosis(x) hist(x) h=normplot(x) [muhat,sigmahat,muci,sigmaci]=normfit(x) [H,sig,ci]=ttest(x,80.1)

matlab r2012a习题答案

matlab r2012a习题答案

matlab r2012a习题答案Matlab R2012a习题答案Matlab是一种强大的数学软件,广泛应用于科学计算和工程领域。

对于初学者来说,掌握Matlab的使用技巧是非常重要的。

本文将提供Matlab R2012a版本的一些习题答案,帮助读者更好地理解和应用Matlab。

1. 习题一:编写一个Matlab程序,计算并输出1到100之间所有奇数的和。

解答:```sum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```该程序使用for循环遍历1到100之间的奇数,并将其累加到变量sum中。

最后使用disp函数输出结果。

2. 习题二:编写一个Matlab程序,求解一个二次方程的根。

解答:```a = input('请输入二次方程的系数a:');b = input('请输入二次方程的系数b:');c = input('请输入二次方程的系数c:');delta = b^2 - 4*a*c;if delta > 0x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);disp(['方程的两个实根分别为:', num2str(x1), '和', num2str(x2)]);elseif delta == 0x = -b/(2*a);disp(['方程有一个实根:', num2str(x)]);elsedisp('方程无实根');end```该程序通过用户输入二次方程的系数a、b和c,计算并输出方程的根。

使用if-else语句来处理不同的情况,包括判别式delta的值大于0、等于0和小于0的情况。

3. 习题三:编写一个Matlab程序,生成一个5×5的随机矩阵,并计算矩阵的行列式。

MATLAB教程2012a模拟题解答1-7章完整版-张志涌-北航

MATLAB教程2012a模拟题解答1-7章完整版-张志涌-北航

〖目的〗
符号变量的限定性定义的作用。
〖解答〗
syms k。
x=sym('x','positive')。
f_k=2/(2*k+1)*((x-1)/(x+1))^(2*k+1)。
s=simple(symsum(f_k,k,0,inf))%结果与理论值lnx相符!
s =
piecewise([abs(x - 1) < x + 1, log(x)])%abs绝对值
for k=1:m%m决定循环次数
sa(k)=(aa+2*pi*(k-1))*n/m。%计算各根的相角
end
result=(ma^(2/3)).*exp(j*sa)%计算各根
result =
-2.0000 + 3.4641i 4.0000 - 0.0000i -2.0000 - 3.4641i
(B)利用多项式 求根
v2 =
0.00000000000000026601114166290944374842393221638
v3 =
0.0000000000000002660111416629094726767991785515
〖目的〗
理解subexpr指令。
〖解答〗
A=sym('[a11 a12 a13。a21 a22 a23。a31 a32 a33]')
p=[1,0,0,-a^2]。
r=roots(p)
r =
-2.0000 + 3.4641i
-2.0000 - 3.4641i
4.0000
〖解答〗
clear清除工作空间中所有的变量。

哈工大 2012 matlab大作业 部分答案

哈工大 2012 matlab大作业 部分答案

a=[6,9,3;2,7,5];b=[2,4;4,6;1,8];a*bans =51 10237 9014.A=[4,9,2;7,6,4;3,5,7];B=[37;26;28];X=inv(A)*BX =-0.51184.04271.331815.syms xsolve('x^3-7*x^2+2*x+4=0') 15.syms xsolve('x^3-7*x^2+2*x+40=0') ans =-24516.x=8;y=(x-1)*(x-2)*(x-3)*(x-4)y =84017.syms xy=3*x^3+13*x^2+6*x+8;A=factor(y);B=A/(x+4)B =3*x^2 + x + 218.18.syms xy=sqrt(4*x^4-12*x^3-14*x^2+5*x+9);df=diff(y)df =-(- 16*x^3 + 36*x^2 + 28*x - 5)/(2*(4*x^4 - 12*x^3 - 14*x^2 + 5*x + 9)^(1/2)) syms xf=4*x^4-12*x^3-14*x^2+5*x+9;nf=int(f)nf =(4*x^5)/5 - 3*x^4 - (14*x^3)/3 + (5*x^2)/2 + 9*x19.20.t=0.1:0.1^5*pi:2*pi;x=sin(3*t)*cos(t);y=xin(3*t)*sin(t);plot(x,y)21.x=0:0.01:10;y1=exp(-0.1*x);y2=exp(-0.2*x);y3=exp(-0.5*x);plot(x,y1,'b',x,y2,'R',x,y3,'k')xlabel('x')ylabel('y')title('Sine and Cosine Curve')gtext('y=exp(-0.1*x)')gtext('y=exp(-0.2*x)')gtext('y=exp(-0.5*x)')22.t=-2:0.1^3:2;y1=2*sin(t*pi);y2=2*sin(t*pi)+0.1*sin(t*pi); plot(t,y1,'r',t,y2,'k')title('Sine and Cosine Curve') gtext('y=2*sin(t*pi)')gtext('y=2*sin(t*pi)+0.1*sin(t*pi)'23.(你找别人的看下,这个可能有点问题) A=rand(1,1);a=A(1,1);fprintf('a=%.0f\n ',a);t=1;while t==1if mod(a,2)==0;a=a/2;fprintf('a=%.0f\n ',a);elsea=a*3+1;fprintf('a=%.0f\n ',a);endif a==1t=0;fprintf('a=%.0f\n ',a); elset=1;endend24.a=[4,2,-6;7,5,4;3,4,9];det(a)inv(a)ans =-64ans =-0.4531 0.6562 -0.59370.7969 -0.8437 0.9062-0.2031 0.1562 -0.0937 25.syms tsolve('a*t^2+b*t+c=0')ans =-(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a) 二.2.syms xf='[a,x^2,1/x;exp(a*x),log(x),sin(x)]'; diff(f,x)ans =[ 0, 2*x, -1/x^2][ a*exp(a*x), 1/x, cos(x)]3.x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y); subplot(2,2,1)z=x*exp(-x^2-y^2);plot3(x,y,z)subplot(2,2,2)mesh(x,y,z)subplot(2,2,3)surf(x,y,z)4.x=0:pi/10:2*pi;y1=sin(x);subplot(1,2,1); plot(x,y1,'b') x=-5:0.2:5; y=x;[x,y]=meshgrid(x,y);subplot(2,2,2);mesh(x,y,z)x=[15,32,58,20,10];subplot(2,2,4)explode=[0,0,0,0,1];pie(x,explode)6.a=rand(1,5); b=5*a; c=[a;b] c =0.8147 0.9058 0.1270 0.9134 0.6324 4.0736 4.5290 0.6349 4.5669 3.1618 7.某工厂利用甲乙两种原料生产A1,A2,A3三种产品。

MatLab练习题-基本计算ZUOYE

MatLab练习题-基本计算ZUOYE

MatLab 练习册(1) 班级: 学号: 姓名:注意: 1,请按要求作题,直接输入答案,并保存文件.2,仔细填写 “学生信息”.3,把此word 文档的文件名更名为你的 “学号第*次”。

上传到http://10.1.9.91 例: “MatLab 练习册.doc ” ——-> “学号第1次.doc ” )1, (5*2+1.3-0.8)*10^2/25答案:>> (5*2+1.3-0.8)*10^2/25ans =422,y =23log )10sin(4)43.0(2+⋅+-e π答案:>>sin(10*pi)*exp(-0.3+4^2)+log(23)/log(4)ans =2.26183,z = 10sin(π/3) ...cos(π/3)答案:>> 10*sin(pi /3) ...*cos( pi/3)ans =4.33014,x = sin(223/3), y = x^2,z = y*10 ;求x+2y-5z答案:>> sin(223/3)+2*sin(223/3)^2-5*sin(223/3)^2*10ans =-37.60255,i e z i z i z ⋅==+=π23215,2,72,计算3221z z z z z += 答案:>> z1=2+7i;>> z2=2i;>> z3=5*exp(2*pi-i);>> z=(z1*z2)/(z2+z3);>> zz =-0.0041 - 0.0036i6, 建立起始值=3,增量值=5.5,终止值=44的一维数组x(填写程序语句)答案:x=(3:5.5:44)x =3.0000 8.5000 14.0000 19.5000 25.0000 30.500036.0000 41.5000>>7, 建立等差一维数组x :首项为0,末项为π,项数为15 (填写程序语句) > x=[0:pi/14:pi]x =Columns 1 through 90 0.2244 0.4488 0.6732 0.8976 1.12201.3464 1.5708 1.7952Columns 10 through 152.0196 2.2440 2.4684 2.6928 2.91723.1416>>答案: 8, 计算行列式的值187624323=A答案:>> A=[3 2 34 2 67 8 1]A =3 2 34 2 67 8 1>> det(A)ans =-8.00009, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=187624323A ,矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333222111B ;分别求出A x B 及A 与B 中对应元素之间的乘积的程序语句。

MATLAB上机实验练习题答案2012

MATLAB上机实验练习题答案2012

11级MATLAB上机实验练习题1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。

2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]’y=[0.82 0.72 0.63 0.60 0.55 0.50]’,我们可以简单的认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。

3、解线性方程4、通过测量得到一组数据:5、已知一组测量值6、从某一个过程中通过测量得到:分别采用多项式和指数函数进行曲线拟合。

7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近插值法,双线性插值法,二重三次方插值法)8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。

分别使用不同的颜色,线形和标识符。

9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额占总销售额的比例,并分离第三种产品的切片。

X= 19.3 22.1 51.634.2 70.3 82.4 61.4 82.9 90.8 50.5 54.9 59.1 29.4 36.3 47.010、对应时间矢量t ,测得一组矢量y采用一个带有线性参数的指数函数进行拟合,y=a 0+a 1e -t +a 2te -t ,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。

11、请创建如图所示的结构数组(9分)12、创建如图所示的元胞数组。

(9分)13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。

要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。

14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。

2012年暑假 数学建模MATLAB练习题(答案解析)

2012年暑假 数学建模MATLAB练习题(答案解析)

MATLAB 练习题1、 定义符号变量x ,y ,z ,并写出表达式zy xyzxy e f sin cos +=。

x=sym('x'); y=sym('y'); z=sym('z');f=exp(x*y*z)*cos(y)+x^(y*sin(z))2、 解方程0334=+-x x x 。

p=[1,-1,0,3,0]; roots(p)ans =0 1.0873 + 1.1713i 1.0873 - 1.1713i -1.1746solve(x^4-x^3+3*x) ans =1/3 - (79/54 - 77^(1/2)/6)^(1/3) - 1/(9*(79/54 - 77^(1/2)/6)^(1/3))1/(18*(79/54 - 77^(1/2)/6)^(1/3)) + (79/54 - 77^(1/2)/6)^(1/3)/2 + 1/3 - (3^(1/2)*(1/(9*(79/54 - 77^(1/2)/6)^(1/3)) - (79/54 - 77^(1/2)/6)^(1/3))*i)/21/(18*(79/54 - 77^(1/2)/6)^(1/3)) + (79/54 - 77^(1/2)/6)^(1/3)/2 + 1/3 + (3^(1/2)*(1/(9*(79/54 - 77^(1/2)/6)^(1/3)) - (79/54 - 77^(1/2)/6)^(1/3))*i)/2>>double(solve(x^4-x^3+3*x))ans =0 -1.1746 1.0873 - 1.1713i 1.0873 + 1.1713i3、 将π显示到小数点后十位。

最简单的当然是vpa 函数了vpa (S,D ),显示s 在精度d 下的值 vpa(pi,10)显示pi 的前十位4、 用MA TLAB 语句生成下列矩阵。

A=⎪⎪⎪⎪⎪⎭⎫⎝⎛++--++++-++i iii i i i i i i i i i i i 411442345234723145304243+5i5、用MA TLAB 语句生成以1起点,不超过π ,以0.05为步距的等差数组;用MATLAB 语句生成以0^10为起点,以102∧为终点,包含50个数据的等比数组。

  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>startydisp('一个行向量')elsedisp('一个列向量');endstartString=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 : 100waitbar(i/100, h, ['已暂停时间百分比' num2str(i) '%']);pause(waittime/100);if statebreakendendif exist('h') == 1delete(h);endload startTimedisp('I started learning MATLAB on * start date and time*');tau=1.5*24*3600;endofClass=5*24*3600;knowledgeAtEnd=1-exp(-tau/endofClass);disp(['At the end of the MATLAB class, I will know ',num2str(knowledgeAtEnd*100),' % of MATLAB']);secPerMin=60;secPerHour=3600;secPerDay=24*secPerHour;secPerMonth=30.5*secPerDay;secPerYear=12*secPerMonth;secondConversion=[secPerYear,secPerMonth, secPerDay,secPerHour, secPerMin,1]; currentTime=clock;elapsedTime=currentTime-start;elapsedTime=elapsedTime.*secondConversion;currentknowledge=1-exp(-elapsedTime/endofClass);disp(['At this time, I know ',num2str(sum(currentknowledge)*100),'% of MATLAB']);tVec=linspace(0,endofClass,1000);knowledgeVec=1-exp(-tVec./endofClass);halfTimeindex=find(abs(knowledgeVec-0.5)<1e-3);halfTime=sum(tVec(halfTimeindex))/length(halfTimeindex)/secPerDay;disp(['I will know half of MATLAB after ',num2str(halfTime),' days']);plot(tVec/secPerDay,knowledgeVec);xlabel('Day');2012年春《MATLAB基础》第二次上机练习与作业练习1:函数文件建立一个文件名为plotSin的函数文件,要求:●函数声明为:functon plotSin(f1)●该函数用于画出频率为的正弦波在区间上的图像.●每个周期含有16个数据点function plotsin(f1)xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x));练习2:条件语句●修改函数plotSin(f1)使之有两个输入变量,形式为plotSin(f1,f2)●如果输入的变量个数为1,执行以前写的绘图命令.否则显示文字'Two inputs were given'●提示:输入变量的数目用内置变量名:narginfunction plotsin(f1,f2)if nargin==1xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x));elseerror('Two inputs were given');end练习3:绘图命令●修改PlotSin中的绘图命令,将数据点类型改为正方形,线形改为红色虚线,线宽为2.设置数据点填充色为黑色(属性名为:LineWidth, MarkerFaceColor)●如果有2个输入变量,新开一个绘图窗口,上下排列,并且激活上面图形窗口plotSin(6)plotSin(2,3)function plotsin(f1,f2)if nargin==1h1=figure(1);xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x),'--rs','MarkerFaceColor','k','LineWidth',2);elseh2=figure(2);h1=figure(1);xnum=16*f1;x=linspace(0,2*pi,xnum);plot(x,sin(f1*x),'--rs','MarkerFaceColor','k','LineWidth',2);end练习4:半对数图在过去5年里,某课程学生人数分别为:15,25,55,115,144.班级规模似乎呈指数增长趋势,用半对数图来验证.要求绘制的图形效果如下●相关函数:semilogy,xlabel,ylabel,axis,title●数据点为玫红,正方形,没有折线相连.点的大小为10,点边线的宽度为4.x=1:5;y=[15,25,55,115,144];h=semilogy(x,y,' sr','MarkerSize',10,'Linewidth',4);xlabel('x');ylabel('y');title('My Semilogy plot');axis([0,6,10,300])set(h,'Color',[1 0.3 0.6]);练习5:条形图生成一个有5个随机数构成的向量,画出一幅条形图,条形块为红色.效果如下:bar(1:5,rand(5,1),'r')练习6:圆的绘制●建立一个画圆的函数文件.function [x y]=getCircle(center,r)运行程序得到的是圆上点的坐标●调用程序画出同心圆及五环图,效果如下col=['b','k','r','y','g'];subplot 121r1=1:5;center1=[0,0];for i=1:5[x,y]=getCircle(center1,r1(i));plot(x,y,col(i),'Linewidth',2);hold onendaxis equalaxis([-5 5 -5 5])subplot 122r2=0.5;center2=[-1 0;0 0;1 0;-0.5 -0.5;0.5 -0.5];for i=1:5[x,y]=getCircle(center2(i,:),r2);plot(x,y,col(i),'Linewidth',2);hold onendaxis equalaxis([-1.5 1.5 -1.5 1])-505-101-1.5-1-0.50.512012年春《MATLAB 基础》第三次上机练习与作业练习1:演示文件命令窗口中,键入:demo,出现MATLAB的demo演示窗口,然后选择:MATLAB下的Matrices,依次选取其中的Basic Matrix operation 、Matrix manipulation两个示例,进行MATLAB矩阵运算的学习。

相关文档
最新文档