第一章
1. Matlab的文件有那些类型,各类型
文件的作用是什么?
答:
M文件——在MATLAB命令窗口中键入文件名,可以执行M文件中的规定的计算任务或某种功能;
MAT文件 ——是MATLAB的二进制数据文件,用于保存所使用的数据,是MATLAB特有的数据存储格式 ;
MEX文件——是经过MATLAB编译系统编译的二进制文件,可以被直接调入MATLAB系统中运行;
图形文件——用来存储由MATLAB得到的图形文件。
2. 说明两种M文件的异同
答:共同点:在MATLAB命令窗口中键入文件名,可以执行M文件中的规定的计算任务或某种功能。
区别一:程序M文件中创建的变量都是MATLAB工作空间中的变量,工作空间的其他程序或函数可以共享;而函数M文件中创建的所有变量除了全程变量外,均为局限于函数运行空间内的局部变量;——类似于主程序
区别二:函数M文件可以使用传递参数,所以函数M文件的调用式中可以有输入参数和输出参数,而程序M文件则没有这种功能。 ——类似于函数
3. 如何查看Matlab的帮助
答: (1) 单击MATLAB主窗口工具栏中的
Help按钮。
(2) 在命令窗口中输入helpwin、helpdesk或doc。
(3) 选择Help菜单中的“MATLAB Help”选项。
MATLAB帮助命令包括help、lookfor以及
模糊查询
获得帮助: 1、help 显示所有的帮助目录 2、help 目录名 (3) help命令名或函数名或符号
第二章
1矩阵元素的输入有那些方法?
在MATLAB语言中,矩阵可以用几种不同的方式输入:
(1) 以直接列出元素的形式输入; (2) 通过语句和函数产生; (3) 建立在M文件中;
(4) 从外部的数据文件中装入; 2掌握格式化输入数据的方法
3总结MATLAB中用到的各种符号的含义及其用法。
矩阵转置 : 用符号 ' 来表示, 对复数矩阵,符号 ' 完成共扼转置。要完成非共扼转置,则应使用“.'”或conj(z')
矩阵加减 :符号+和-是加减运算符。矩阵加减运算的前提是维数相同或其中之一为1*1矩阵(单一标量)。
矩阵乘法 :符号*是矩阵乘法的运算符。当前一矩阵的列数等于后一矩阵的行数时可以进行矩阵乘法运算
矩阵除法 :左除(\)和右除(/) 。x=a\b是方程a*x=b的解, 而x=b/a是方程x*a=b的解
矩阵乘方 :运算符为^
冒号 “:” :1、用来产生一个向量。2、用来表示一个矩阵的一行或一列
分号“ ; ”:通常用在一行命令的后面,表示不将该行命令执行的结果显示出来
关系运算 : < =< > >= == ~=
逻辑运算 : & | ~
4、程序如下,写出矩阵C的运行结果 A=[1+2j 3+4j 9+10j; 5+6j 7+8j 11+12j] A=A'
C=[A;[10 11]]; C(5)=0;
C =[ 1-2i 0 ; 3-4i 7-8i; 9-10i 11-12i ;10 11 ]
5求解三元一次方程组 x1+5x2+3x3=7 8x1-5x2+6x3=4 4x1+8x2+2x3=9
a=[1 5 3;8 -5 6;4 8 2]; b=[7 4 9]'; a\\b
inv(a)*b
ans =
0.2350 0.7607 0.9872
第三章
1、编写程序利用泰勒级数计算exp(x),使计算精度为10-5
3ex?1?x?x22!?x3!????
clear all
x=input('输入变量') error=1;result=0;i=0; While (error>1e-5) result1=result; result= result+x^i/factorial(i);
i=i+1; error=abs(result1-result); end result 2、编写程序求解:鸡兔同笼,头36,脚100,求鸡兔各多少? clear all cock=0; hare=0; for ii=0:1:36
cock=ii; hare=36-ii; foot=2*cock+4*hare; if(foot==100), [cock hare], end end
3、编写程序计算下面的积分值
5xex?1x?1dx
建立函数文件 exe3.m function result=exe3(x) result=x.*exp(x)./(x+1); 在命令窗口输入 quad(‘exe3’,1,5)
4、编写一个函数实现下面的功能 输入一个变量。当变量小于0时,计算变量的平方,当变量大于等于0时,返回变量本身
function result=exe4(x) If (x<0)
result=x.*x; else
result=x; end
第四章
1、求 f(x)=6x5+24x4+60x3+96x2+102x+72 的根
>>f=[6 24 60 96 102 72] >>roots(f)
2、 计算衰减振荡曲线 t 的区间为 [0 4 ]内的值y ? ?t e 3 sin 3 t 在>>t=0:pi/50:4*pi;
>>y=exp(-t/3).*sin(3*t) 掌握M文件的编程技巧
? 两种M文件:程序M文件(底稿
文件)、函数M文件。
? M文件中可以相互调用,甚至可以
调用自己 。
? 用户可以通过文本编辑器或字处理
器生成M文件。
? 调用一个程序文件时,自动执行文
件中的一系列语句,并不交互地等待键盘的输入,可使用工作空间中的全局数据。
MATLAB程序结构
? 1)合法语句的集合,包括
MATLAB内部的功能和用户自己编写的命令。
? 2)语句结束标志:分号“;”
或分行符(return键)
? 分号结束时,计算结果不显
示,回车键结束显示计算结果。 ? 3)续行符:?
? 4)注释行符号:%
复习思考
1. MATLAB环境下,执行所编写的M
文件需注意那些事情?
2. 写出执行外部程序
“C:/test/test.exe”的MATLAB命令格式。
!C:\\test\\test.exe
3、MATLAB的主要特色有哪些? 面向对象特性,图形、窗口等都是对象 单一的数据结构:矩阵 矩阵自动动态伸缩;
矩阵的大小几乎可以是任意大(只与虚拟内存有关) 编程简单 变量不用定义
功能强大的图形处理与数值计算功能 系统扩充方便 先进的帮助系统
与Microsoft word的无缝结合,word里可以直接使用MATLAB功能 与C、C++等语言的接口
符号推导、数理统计、自动控制等扩充工具库
MATLAB简单易学
MATLAB不仅提供了编程环境,又提供了设计语言规则,与C语言具有很多的共性 4、变量或函数名称有哪些限制?
变量或函数名:以字母开始,由字母、数字和下划线组成,超过后系统不再识别。 变量一般无需事先定义,但是区别大小写。当变量第一次在操作语句中出现时,也就同时定义了这个变量。
5、提高MATLAB程序运行速度有哪些方法?
1、将M文件中的算法尽量向量化。尽可能将for和while循环语句改为矢量或矩阵操作
2、当不能对一组代码向量化时,采用预分配输出向量的方法,可以提高for循环的执行速度
5、Matlab常用的文件操作命令有那些?
第五章
1、复向量式plot(z) :等效于plot(real(z),imag(z)) : >> a=0:0.1:2*pi; >> figure(4)
>> plot(sin(a)+i*cos(a)) >> xlabel('sin(x)') >> ylabel('cos(x)') 混合式plot(X,Y)
X和Y是长度相等的向量,即参数式
X是向量,Y是矩阵,X的长度与矩阵Y的列或行数相等,将向量X与矩阵Y的每列或每行的向量相对应作曲线 (优先选列)X是矩阵,Y是向量,Y的长度等于X的列数或行数,则将X的每列或每行的向量与Y相对应作曲线(优先选列) X和Y都是矩阵,维数相同,按列与列的对应方式来作图 2、
黄色 y 洋红色 m 蛋青色 c 红色 r 绿色 g 蓝色 b 白色 w 黑色 k
3、绘制函数peaks并且将它绕z轴旋转 clear all
[X,Y,Z]=peaks(30); surfl(X,Y,Z);
axis([-3 3 -3 3 -10 10]); % axis off shading interp colormap(hot); m=moviein(15); for ii=1:1:15
view(-37.5+24*(ii-1),30); m(:,ii)=getframe; end
movie(m,20,5) Z = peaks; surf(Z); axis tight
set(gca,'nextplot','replacechildren'); % Record the movie for j = 1:20
surf(sin(2*pi*j/20)*Z,Z) F(j) = getframe; end
% Play the movie twenty times movie(F,20)
第六章 1、 GUI设计方法
大部分例子中的callBack属性值是由多条语
句组成的字符串。当callBack要完成的工作很复杂时,这种方法是不适应的。 有效的改进的办法: 根据某些规则,单独编写图形界面的应用程序,将用户界面的设计局限在一个函数内,在这个函数中按不同的选择来创建用户界面对象和定义有关的CallBack。 具有一些设计优点:
(a)由于clear命令会清除工作空间中的有关变量,使用函数技巧可以保护图形界面中的有关变量不会被清除;
(b)由于callBack与对象创建函数分开,更易于编写和修改,故对callback函数进行debug时并不要求同时生成使用它的有关图形对象元;
(c)执行速度更快,因为MATLAB只需要编译函数,而无需将callback的值传送解释。
相关推荐: