第一章
第7题
| 命令 | 作用 |
|---|---|
| clear | 清除MATLAB工作空间中保存的变量;清除内存变量的操作 |
| clf | 清除图形窗 |
| clc | 清除指令窗中显示内容 |
第11题
在当前MATLAB过程中重新调回被执行过指令的方法有两种:
第一种方法:使用历史指令窗,对历史指令进行复制、编辑和再运行;并使用该窗口中的历史指令进行操作。
第二种方法:使用指令行编辑的常用操作键:
| 键名 | 作用 | 键名 | 作用 |
|---|---|---|---|
| ↑ | 前寻式调回输入过的指令行 | Home | 使光标移到当前行的首端 |
| ↓ | 后寻式调回输入过的指令行 | End | 使光标移到当前行的尾端 |
| ← | 在当前行中左移光标 | Delete | 删去光标右边的字符 |
| → | 在当前行中右移光标 | Backspace | 删去光标左边的字符 |
| PageUp | 前寻式翻阅当前窗中的内容 | Esc | 清除当前行的全部内容 |
| PageDown | 后寻式翻阅当前窗中的内容 | — | — |
注:以前的MATLAB过程中重新调回被执行过指令的方法只有一种,即上面的第二种方法。
第12题
历史指令窗:记录着用户在MATLAB指令窗中输入过的所有指令行,包括:
-
每次开启MATLAB的时间
-
每次开启MATLAB后在指令窗中运行的所有指令行
主要应用功能:
-
单行或多行指令复制和运行
-
生成M文件
diary指令:能产生"日志"文件,即把当前指令窗中的所有内容(包括指令、计算结果等)如实地记录为ASCII文件加以保存。
与历史指令窗的区别:
-
生成的"日志"文件不能在MATLAB中运行
-
不带扩展名的"日志"文件可以用MATLAB的M文件编制器或其他文本读写软件打开阅读和编辑
第二章
第1题
生成从 0 到 2π 的50个等分点向量的两种方法:
第一种方法:
x = linspace(0, 2*pi, 50)
第二种方法:
x = 0 : 2*pi/50 : 2*pi
第2题
>> rand('state', 0) >> A = rand(3, 5) A = 0.9501 0.4860 0.4565 0.4447 0.9218 0.2311 0.8913 0.0185 0.6154 0.7382 0.6068 0.7621 0.8214 0.7919 0.1763 >> [ii, jj] = find(abs(A) > 0.5); >> disp(ii'), disp(jj') 1 3 2 3 3 2 3 1 2 1 1 2 2 3 4 4 5 5
第三章
第3题
>> C_str = char('在英式用法中,引号通常是单引号,如''Fire!''。'); >> D_str = char('In GB usage quotation marks are usually single:''Fire!''。'); >> a{1,1} = C_str; >> a{2,1} = D_str a = '在英式用法中,引号通常是单引号,如'Fire!'' 'In GB usage bquotation marks are usually single:'Fire!''
第四章
第10题
>> p1 = conv([3,0,1,0], [1,0,0,0.5]); >> p2 = conv([1,2,-2], [5,2,0,1]); >> [q, r] = deconv(p1, p2); >> cq = '商多项式为'; cr = '余多项式为'; >> disp([cq, poly2str(q, 's')]), disp([cr, poly2str(r, 's')]) 商多项式为 0.6 s - 1.44 余多项式为 -4.4409e-016 s^6 + 8.8818e-016 s^5 + 21.88 s^4 - 5.34 s^3 - 5.52 s^2 + 4.58 s - 2.88
第28题
见 4-28 的文件夹。
第五章
第17题
>> syms t s; >> Fs = (s+3)/(s^3 + 3*s^2 + 6*s + 4); >> Fs_t = ilaplace(Fs, s, t) Fs_t = 2/3*exp(-t) - 2/3*exp(-t)*cos(3^(1/2)*t) + 1/3*exp(-t)*3^(1/2)*sin(3^(1/2)*t)
第21题
>> S = solve('x^2+y^2=1', 'x*y=2', 'x', 'y'); >> disp('S.x'), disp(S.x), disp('S.y'), disp(S.y) S.x [ -1/2*(1/2*5^(1/2)+1/2*i*3^(1/2))^3+1/4*5^(1/2)+1/4*i*3^(1/2)] [ -1/2*(1/2*5^(1/2)-1/2*i*3^(1/2))^3+1/4*5^(1/2)-1/4*i*3^(1/2)] [ -1/2*(-1/2*5^(1/2)+1/2*i*3^(1/2))^3-1/4*5^(1/2)+1/4*i*3^(1/2)] [ -1/2*(-1/2*5^(1/2)-1/2*i*3^(1/2))^3-1/4*5^(1/2)-1/4*i*3^(1/2)] S.y [ 1/2*5^(1/2)+1/2*i*3^(1/2)] [ 1/2*5^(1/2)-1/2*i*3^(1/2)] [ -1/2*5^(1/2)+1/2*i*3^(1/2)] [ -1/2*5^(1/2)-1/2*i*3^(1/2)]
第六章
-
第6题:见 6-6 文件夹
-
第18题:见 6-18 文件夹
第七章
第1题
典型M函数文件的结构如下:
| 组成部分 | 说明 |
|---|---|
| 函数申明行 |
位于函数文件的首行,以MATLAB关键字function开头,函数名及输入输出宗量都在此定义 |
| H1行 |
紧随函数申明行之后以%开头的第一注释行。包含:大写体的函数文件名;运用关键词简要描述的函数功能。供lookfor关键词查询和help在线帮助使用 |
| 在线帮助文本区 |
H1行及其之后连续以%开头的所有注释行。通常包括:函数输入输出宗量的含义,调用格式说明 |
| 编写和修改记录 |
与在线帮助文本区相隔一个"空"行,也以%开头,标志编写及修改该M文件的作者和日期、版本记录,用于软件档案管理 |
| 函数体 | 与前面注释以"空"行相隔。由实现该M函数文件功能的MATLAB指令组成。接收输入宗量,进行程序流控制,得到输出宗量 |
注意:从运算角度看,唯有"函数申明行"和"函数体"两部分是构成M函数文件所必不可少的。
其他要点:
-
M脚本文件仅比M函数文件少一个"函数申明行"
-
函数定义和保存文件名必须一致;不一致时,MATLAB以保存文件名为准
-
函数文件的名字必须以字母开头,后面可以是字母、下划线及数字的任意组合,但不得超过31个字符
第2题
脚本文件特点:
| 特点 | 说明 |
|---|---|
| 构成 | 只是一串按用户意图排列而成的MATLAB指令集合 |
| 变量驻留 | 运行后所产生的所有变量都驻留在MATLAB基本工作空间中 |
| 变量清除 |
只有使用clear指令清除,或关闭MATLAB,这些变量才会被清除 |
函数文件特点:
| 特点 | 说明 |
|---|---|
| 形式特征 |
第一行总是以function引导的"函数申明行",罗列与外界联系的"标称"输入输出宗量 |
| 调用灵活性 | 允许使用比"标称数目"较少的输入输出宗量 |
| 工作空间 | 每次运行时,MATLAB会专门开辟一个临时的函数工作空间,所有中间变量都存放在其中 |
| 空间清除 |
执行完最后一条指令或遇到return时,函数运行结束,临时函数空间及其所有中间变量立即被清除 |
| 空间特性 | 相对基本空间独立、临时。整个MATLAB运行期间可产生任意多个临时函数空间 |
| 脚本调用 | 如果在函数文件中调用某脚本文件,该脚本文件运行产生的所有变量都存放于该函数空间,而非基本空间 |