rrr=R*exp(i*Theta)
rrr=
1.0000+1.7321i-2.0000+0.0000i1.0000-1.7321i
(3)
t=0:
pi/20:
2*pi;x=R*sin(t);y=R*cos(t);
plot(x,y,'b:
'),grid%画一个半径为R的圆
holdon
plot(rrr
(1),'.','MarkerSize',50,'Color','r')%画第一象限的方根
plot(rrr([2,3]),'o','MarkerSize',15,'Color','b')%画另两个根
axis([-3,3,-3,3]),axissquare%保证屏幕显示呈真圆
holdoff
图1.3-2
.3.4计算结果的图形表示
【例1.3.4-1】画出衰减振荡曲线
及其它的包络线
。
的取值范围是
。
(图1.3-3)
t=0:
pi/50:
4*pi;%定义自变量取值数组
y0=exp(-t/3);%计算与自变量相应的y0数组
y=exp(-t/3).*sin(3*t);%计算与自变量相应的y数组
plot(t,y,'-r',t,y0,':
b',t,-y0,':
b')%用不同颜色、线型绘制曲线
grid%画坐标分格线
图1.3-3
【例1.3.4-2】画出
所表示的三维曲面(图1.3-4)。
的取值范围是
。
clear;x=-8:
0.5:
8;%定义自变量x的一维刻度向量
y=x';%定义自变量x的一维刻度向量
X=ones(size(y))*x;%计算自变量平面上取值点x坐标的二维数组
Y=y*ones(size(x));%计算自变量平面上取值点y坐标的二维数组
R=sqrt(X.^2+Y.^2)+eps;%计算中间变量
<5>
Z=sin(R)./R;%计算与自变量二维数组相应的函数值
<6>
surf(X,Y,Z);%绘制三维网格图
colormap(cool)%指定网格图用hot色图绘制
xlabel('x'),ylabel('y'),zlabel('z')
说明:
①本例中第5条指令中引入eps的目的是:
一是避免第6条指令进行除法运算时产生
现象;二是在R=0处获得
的计算结果。
②第5条指令中的“.^”称为“数组幂”,第6条指令的“./”称为“数组除”
。
这两种运算都是对参与运算的数组的元素逐个进行的。
图1.3-4
.4CommandWindow操作要旨
.4.1指令窗显示方式的操作
10一缺省显示方式
在缺省的情况下,像if、for等关键词采用蓝色字体;输入的指令、表达式以及计算结果等采用黑色字体;字符串采用赭(zhe)红色字体。
在指令窗中,数值计算结果都以简洁的“短(Short)”格式显示。
注意:
用户不要把数值的显示精度错误的理解为数值在MATLAB中的表示精度。
MATLAB仅仅是为了显示简洁才采用较少的数位显示,实际存储和运作时都以双精度进行。
10二显示方式的设置
用户根据需要,可以对指令窗的字体风格、大小、颜色和数值计算结果显示格式进行设置。
设置方法是:
选中桌面或指令窗的[File:
preferences]下拉菜单项,引出一个参数设置对话框;在此弹出的对话框的左栏中选中“CommandWindow”项或其展开项“Font&Colors”,对话框的右边就出现相应的选择内容;用户根据需要和对话框提示对数据显示格式,或字体等进行选择;最后,点击[ok]健完成设置。
注意:
该设置将立即生效,并且将被永久保留,即这种设置不因MATLAB关闭和开启而改变,除非用户进行重新设置。
.4.2数值计算结果的显示格式
指令
含义
举例说明
format
formatshort
通常保证小数点后4位有效数字,最多不超过7位;
对于大于1000的实数用5位有效数字的
科学记数形式显示
314.159被显示为314.1590;
用5位有效数字的科学记数形式显示
3141.59被显示为3.1416e+003
formatlong
15位数字表示
3.14159265358979
formatshorte
5位科学记数表示
3.1416e+00
formatlonge
15位科学记数表示
3.14159265358979e+00
formatshortg
从formatshort和formatshorte中
自动选择最佳记述方式
(缺省设置)
3.1416
formatlongg
从formatlong和formatlonge中
自动选择最佳记述方式
(缺省设置)
3.14159265358979
formatrat
近似有理数表示
355/113
formathex
十六进制表示
400921fb54442d18
format+
显示大矩阵用;正数、负数、零分别用+,—,
空格表示
+
formatbank
(金融)元、角、分表示
3.14
formatcompact
显示变量之间没有空行
formatloose
显示变量之间有空行
见上表。
.4.3指令行中的标点符号
MATLAB中用“%”实现注释功能,可以利用这一特性对所做工作进行文档注释。
可以把多条命令放在同一行,只需在中间用逗号或者分号隔开。
>>total=500,apple=300;orange=200↙
total=
500
orange=
200
逗号告诉MATLAB显示结果;分号说明除这一条命令以外还有下一条命令等候输入,MATLAB这时不会显示中间结果。
如果想在下一行继续注释,必须在行头再加“%”,否则会报错。
注:
为确保指令正确执行,以上符号一定要在英文状态下输入。
因为MATLAB不能识别中文标点。
.4.4指令窗的常用控制指令
.4.5指令窗中指令行的编辑
操作方便,MATLAB不但允许用户在命令窗口中对输入命令进行各种编辑和运行操作,而且允许用户对过去已经输入的命令进行回调、编辑和重新运行。
MATLAB可以使用方向键来调用前面的命令。
例如:
①按一下[↑]键会在提示符处调用上一次的命令,重复按[↑]键则遍历前面所有的命令;②以相同的方式按[↓]键则向后遍历所有的命令。
在任何时刻都可以用[←]键和[→]键在命令行移动光标,这样可以编辑命令。
按[PageUp]键可以前寻式翻阅当前窗口中的内容;按[PageDown]键可以后寻式翻阅当前窗口中的内容;按[Home]键能将光标移到当前行的最前面;按[End]键能将光标移到当前行的末尾;按[Delete]键会删除光标右边的字符;按[Backspace]键会删去光标左边的字符;按[Esc]键会清除当前行的全部内容。
注:
MATLAB命令窗口中输入的所有命令都被记录在内存中专门开辟的“命令历史窗口”中,只要用户对它们不进行专门的删除操作,它们将不会因为用户对命令窗口的清屏操作(即运行clc指令)而消失,也不会因为用户对“workspace”进行“清除内存变量”(即运行clear指令)而消失。
【例1.4.5-1】指令行操作过程示例。
计算的值。
>>y1=2*sin(0.5*pi)/(1+sqrt(3))↙
y1=
0.7321
利用命令回调,进行新的计算。
方法:
先用[↑]键调回已输入过的命令
y1=2*sin(0.5*pi)/(1+sqrt(3));然后移动光标,把y1换成y2;把sin换成cos;再按[Enter]键,就可以得到一下结果。
>>y2=2*cos(0.5*pi)/(1+sqrt(3))↙
y2=
4.4825e-017
.5CommandHistory和实录指令diary
.5.1CommandHistory历史指令窗简介
通常历史指令窗口位于MATLAB操作作=桌面的左下侧前台,此窗口属性为可浮动窗口,只要单击该指令窗口右上角的↗按钮,就可以获得浮动窗口。
单击浮动窗口右上角的↘按钮,使独立的浮动窗口复原。
图1.5-1
.5.2历史指令行的再运行
用户通过历史指令窗口执行历史指令的方法有以下两种:
①用鼠标双击一条指令,即可发送到指令窗口立即执行;
②选中指令,单击鼠标右键选择[Copy]菜单,在指令窗口单击[Paste]按钮即可。
对于选择执行多条历史指令,可先利用组合操作[Ctrl+鼠标左键]选择浮动菜单中多条指令,当鼠标光标停在高亮度区时,单击鼠标右键,弹出浮动菜单,选中浮动菜单,选中浮动菜单中“EvaluateSelection”选项,计算结果就会出现在指令窗口中。
【例1.5.2-1】再运行图1.5-2所示历史指令窗中的三行指令。
具体操作过程:
先利用组合操作[Ctrl+鼠标左键]分别点亮如图所示历史指令窗中的那3行指命令;当鼠标光标在点亮区时,点击鼠标右键,引出现场菜单;选中现场菜单项[EvaluateSelection],计算结果就出现在指令窗中。
图1.5-2
.5.3指令窗实录指令diary
diary指令能产生“日志”文件,即把当前指令窗口中所有内容(包括指令、计算结果等)如实地记录为ASCII文件加以保存。
.6CurrentDirectory、路径设置器和文件管理
.6.1CurrentDirectory当前目录浏览器简介
在缺省情况下,当前当前目录浏览器位于MATLAB桌面的左下方后台。
点击窗标“CurrentDirectory”可使目录浏览器在前台展现。
再点击该窗口的键“↗”,可以引出如图1.6.1所示脱离操作桌面的几何独立的当前目录浏览器。
图1.6-1
10一用户目录和当前目录设置
应尽量为自己建立一个专门的工作目录,即“用户目录”用来存放自己创建的文件。
尽管,matlab\work允许用户存放文件,但用户最好把它仅作为临时工作目录使用。
在MATLAB开始工作时,就应该把用户自己的“用户目录”设置为当前目录。
用户目录设置成当前目录的方式有两种。
1.交互式界面设置法
在MATLAB操作界面的右上方,或者当前目录浏览器的左上方,都有一个当前目录设置区。
它包括:
目录设置栏和浏览建。
用户或者在目录设置栏中直接填写待设置的目录名,或者借租浏览键和鼠标选择待设置目录。
2.命令设置法
通过指令设置当前目录是各种MATLAB版本都适用的基本方法。
它不仅能在命令窗口执行,而且可以在M文件中使用。
假设待设置的用户目录是D:
\mat_dir,那么把它设置成当前目录的命令是cdD:
\mat_dir.
10二借助当前目录浏览器获取M和MAT文件信息
【例1.6.1-1】从图1.2-1所示MATLAB缺省桌面开始,叙述引出图1.6-1所示面貌的当前目录浏览器的操作过程。
Matlab6p5\toolbox\matlab\elmat
.6.2MATLAB的搜索路径
.6.3MATLAB搜索路径的扩展和修改
10一何时需要修改搜索路径
10二利用设置路径对话框修改搜索路径
图1.6-2
10三利用指令path设置路径
.7WorkspaceBrowser和ArrayEditor
.7.1WorkspaceBrowser工作空间浏览器简介
图1.7-1
.7.2现场菜单用于内存变量的查阅和删除
10一内存变量查阅、删除的指令操作法
【例1.7.2-1】在指令窗中运用who,whos查阅MATLAB内存变量。
who
Yourvariablesare:
ABnumberDRXYZZy
BCDDXYx
whos
NameSizeBytesClass
A2x2230cellarray
B1x1264structarray
Bnumber1x18doublearray
C2x2408symobject
D1x24chararray
DD2x28chararray
R33x338712doublearray
X33x338712doublearray
XYZ33x33x326136doublearray
Y33x338712doublearray
Z33x338712doublearray
x1x33264doublearray
y33x1264doublearray
Grandtotalis7722elementsusing62434bytes
注:
①who,whos指令操作对MATLAB的所有版本都使用。
②本例两条指令的差别仅在于获取内存变量信息的简单和详细程度不同。
③读者运行who,whos指令后的变量列表随具体情况不同。
本例的变量列表是在本书作者进行特定操作后产生的。
【例1.7.2-2】在指令窗中运用clear指令可以删除内存中的变量。
clearBnumber
who
Yourvariablesare:
ABCDDDRXXYZYZxy
10二内存变量查阅和删除的现场菜单操作法
图1.7-2
【例1.7.2-3】通过“工作空间浏览器”的运作,采用图形显示内存变量Z。
图1.7-3
【例1.7.2-4】通过“工作空间浏览器”删除内存变量。
.7.3ArrayEditor数组编辑器和大数组的输入
在指令窗中输入较大规模数组的操作方