《概率统计数学实验与应用案例分析》 附录A、B MATLAB 用法简介;GeoGebra 软件用法简介_第1页
《概率统计数学实验与应用案例分析》 附录A、B MATLAB 用法简介;GeoGebra 软件用法简介_第2页
《概率统计数学实验与应用案例分析》 附录A、B MATLAB 用法简介;GeoGebra 软件用法简介_第3页
《概率统计数学实验与应用案例分析》 附录A、B MATLAB 用法简介;GeoGebra 软件用法简介_第4页
《概率统计数学实验与应用案例分析》 附录A、B MATLAB 用法简介;GeoGebra 软件用法简介_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录 附录附录PAGEPAGE2PAGEPAGE3MATLAB

附录AMATLAB用法简介A.1MATLAB简介是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂矩阵实验室语言如C、MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MAT⁃LAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。编程环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。简单易用MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序)后再一起运行。新版本的MAT⁃LAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。强大处理MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。图形处理MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功例如二维曲线和三维曲面的绘制和处理等)件所没有的功能例如图形的光照处理、色度处理以及四维数据的表现等同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MAT⁃LAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。模块工具MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等领域,都在工具箱(Toolbox)家族中有了自己的一席之地。程序接口新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。软件开发在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。应用方面MATLAB产品族可以用来进行以下各种工作:数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理技术数字信号处理技术通讯系统设计与仿真财务与金融工程管理与调度优化计算)MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱单独提供的专用MATLAB函数集)MATLAB环境,以解决这些应用领域内特定类型的问题。A.2MATLAB的工作界面这里主要介绍初学者在使用MATLAB时需要经常打交道的几个界面窗口。主窗口(MATLAB)MATLAB2018a的默认工作界面(见图1)上方有“主页”、“绘图”和“APP”三个标签页,每个标签页下方由多个快捷按钮组成。下方有3个窗口,分别是“当前文件夹”、“命令行窗口”、“工作区”。它们是主窗口、命令窗口、命令历史记录窗口、当前目录窗口、工作窗口、帮助窗口和评述器窗口。以下简要说明各主要窗口的功能。图1MATLAB的工作界面MATLAB2018a命令窗口是主要工作窗口之一。当MATLAB启动完成,命令窗口显示以后,窗口处于准备编辑状态。符号“>>”为运算提示符,说明系统处于准备状态。当用户在提示符后输入表达式按回车键之后,系统将给出运算结果,然后继续处于系统准备状态。在命令窗口内单击鼠标右键,可以弹出对命令窗口内容进行各种操作的命令菜单。图2MATLAB命令窗口命令历史记录窗口见图。在默认情况下,命令历史记录窗口会保留自安装以来所有用过的命令的历史记录,并详细记录了命令使用的日期和时间,为用户提供了所使用的命令的详细查询,所有保留的命令都可以单击后执行。调出历史命令窗口的方法是在命令窗口输入状态下,单击键盘上向上的箭头键“△”调出,从中选择所需命令后按回车键或者双击鼠标左键执行。图3命令历史记录窗口当前目录窗口(见图4)的主要功能是显示或改变当前目录,可以显示当前目录下的文件,通过上面的目录选择下拉菜单,用户可以轻松地选择目标目录,还可以提供搜索。单击右侧的按钮,可以打开路径选择对话框,在这里用户可以设置和添加路径。也可以通过上面一行超链接来改变路径。图4当前目录窗口工作空间窗口图是MATLAB的一个重要组成部分。该窗口的显示功能有显示目前内存中存放的变量名、变量存储数据的维数、变量存储的字节数、变量类型说明等。双击工作空间内某个变量,可以打开变量内容,以表格形式显示。在工作空间内单击鼠标右键,可以弹出对工作空间进行操作的命令菜单。实时脚本窗口

图5工作空间窗口实时脚本窗口是MATLAB见图。在MATLAB主页标签下面,单击“新建实时脚本”快捷按钮,打开实时脚本编辑窗口,可在窗口编辑顺序命令语句流形)按钮执行程序代码。在实时脚本编辑器代码右侧区域可以显示程序执行结果。在实时编辑器窗口内单击鼠标右键,可以弹出编辑相关操作的命令菜单。实时编辑器窗口的程序可以以“mlx”后缀名保存为程序文件。编辑器窗口

图6实时编辑器窗口在MATLAB主页标签下面,单击“新建脚本”快捷按钮,打开脚本程序编辑窗口见图,可在窗口编辑顺序命令语句流,编辑完成后,可在上方“编辑器”标签下,单击绿色三角形运行按钮执行程序代码,执行结果在命令窗口显示,绘制的图形在弹出的图形窗口呈现。在编辑器窗口内单击鼠标右键,可以弹出对编辑操作相关的命令菜单。脚本编辑器窗口的程序可以以“m”后缀名保存为程序文件。图形显示与控制窗口

图7编辑器窗口命令窗口或脚本编辑器内的程序如果有绘图指令,则程序执行后会弹出图形显示与控制窗口见图,在其中显示程序所绘制的图形,并可通过菜单项或者快捷工具对图形进行操作和控制。

图8图形显示与控制窗口MATLAB2018a见图中心。MATLAB的帮助系统主要包括三大系统:联机帮助系统、联机演示系统、远程帮助系统和命令查询系统,用户可根据需要选择任何一个帮助系统寻求帮助。PAGEPAGE10PAGEPAGE11图9帮助窗A.3MATLAB的基本命令与基本函数基本的系统命令typeMATLAB基本的系统命令不多,常用的有exit/quit、load、save、diary、type/db⁃type、what/dir/ls、cd、pwd、path等,各命令功能如表1。表1MATLAB系统基本命令表命令字功能exit/quit退出MATLABcd改变当前目录pwd显示当前目录path显示并设置当前路径what/dir/ls列出当前目录中文件清单type/dbtype显示文件内容load在文件中装载工作区save将工作区保存到文件中diary文本记录命令!后面跟操作系统命令iskeyword显示MATLAB中的关键字工作区和变量的基本命令MATLAB工作区和变量的基本命令及功能见表2。表2MATLAB工作区和变量命令命令或符号功能或意义clear清除所有变量并恢复除eps外的所有预定义变量。sym/syms定义符号变量,sym一次只能定义一个变量,syms一次可以定义一个或多个变量。who显示当前内存变量列表,只显示内存变量名。whos显示当前内存变量详细信息,包括变量名、大小、所占用二进制位数whos显示当前内存变量详细信息,包括变量名、大小、所占用二进制位数size/length显示矩阵或向量的大小命令。pack重构工作区命令。format输出格式命令casesen切换字母大小写命令which+<函数名>查询给定函数的路径。exist(‘变量名/函数名’)查询变量或函数,返回0,表示查询内容不存在;返回1,表示查询内容在当前工作空间;返回2,表示查询内容在MATLAB搜索路径中的M文件;返回3,表示查询内容在MATLAB搜索路径中的MEX文件;返回4,表示查询内容在MATLAB搜索路径的MDL文件;返回5,表示查询内容是MATLAB的内部函数;返回6,表示查询内容在MATLAB搜索路径中的P文件;返回7,表示查询内容是一个目录;返回8,表示查询内容是一个Java类。MATLAB中的预定义变量MATLAB中有很多预定义变量,这些变量都是在MATLAB启动以后就已经定义好了的,它们都具有特定的意义。详细情况见表3。表3MATLAB预定义变量表变量名预定义ans分配最新计算的而又没有给定名称的表达式的值。当在命令窗口中输入表达式而不赋值给任何变量时,在命令窗口中会自动创建变量ans,并将表达式的运算结果赋给该变量。但是变量ans仅保留最近一次的计算结果。续表变量名预定义eps返回机器精度,定义了1与最接近可代表的浮点数之间的差,为2.2204e-016。在一些命令中也用作偏差。可重新定义,但不能由clear命令恢复。realmax返回计算机能处理的最大浮点数为1.7977e+308。realmin返回计算机能处理的最小的非零浮点数为2.2251e-308pi即π,若eps足够小,则用16位十进制数表达其精度。inf1定义为0,即当分母或除数为0时返回inf,不中断执行而继续运算。nan0 定义为“notanumber0或i/j定义为虚数单位 1。可以为I和j定义其它值但不再是预定义常数。nargin给出一个函数调用过程中输入自变量的个数。nargout给出一个函数调用过程中输入自变量的个数。computer给出本台计算机的基本信息,如pcwin。version给出MATLAB的版本信息。算术表达式和基本数学函数MATLAB的算术表达式由字母或数字用运算符号联结而成,十进制数字有时也可以使用科学记数法来书写,如2.71E+3表示2.71×103,3.86E-6表示3.86×10-6。MATLAB的四则运算符有:+加 - 减* 乘 .* 两矩阵的点乘元素对元素乘)/ 右除正常除) \ 左除./点右除矩阵元素对元素的除).\ 点左除矩阵元素对元素左除)^乘方 .^ 点幂矩阵中每个元素取幂运)a例如:a^3/b+c表示a3÷b+c或,a^2\(b-c)÷a2bc,A.*B表示矩阵aA与B的点乘(条件是A与B必须具有相同的维数),即A与B2素相乘。A*B表示元矩阵A与B的正常乘法条件是A的列数必须等于B。a3cb==

MATLAB的关系运算符有六个:< 小于 <= 小于等于> 大于 >= 大于等于等于 ~= 不等于>=3ab3,a~=2a2。MATLAB的逻辑运算符有:&、|、~、&&、||)注意,标量和标量之间的“与”用“&&||MATLAB的数学函数很多,可以说涵盖了几乎所有的数学领域。下表列出的仅是最简单最常用的见表。表4MATLAB常用数学函数函数数学含义函数数学含义abs(x)求x的绝对值,即|x|,若x是复数,即求x的模csc(x)求x的余割函数,x为弧度sign(x)求x的符号,x为正得1,x为负得-1,x为零得0asin(x)求x的反正弦函数sin-1xsqrt(x)求x的平方根xacos(x)求x的反余弦函数cos-1xexp(x)求x的指数函数exatan(x)求x的反正切函数tan-1xlog(x)求x的自然对数lnxacot(x)求x的反余切函数cot-1xlog10(x)求x的常用对数lgxasec(x)求x的反正割函数sec-1xlog2(x)求x的以2为底的对数log2xacsc(x)求x的反余割函数csc-1xsin(x)求x的正弦函数,x为弧度round(x)求最接近x的整数。cos(x)求x的余弦函数,x为弧度rem(x,y)求整除x/y的余数。tan(x)求x的正切函数,x为弧度real(z)求复数z的实部。cot(x)求x的余切函数,x为弧度imag(z)求复数z的虚部。iec(x)求x的正割函数,x为弧度conj(z)求复数z的共轭,即求z数值的输出格式在MATLAB中,数值的屏幕输出通常以不带小数的整数格式或带4位小数的浮点格式输出结果。如果输出结果中所有数值都是整数,则以整数格式输出;如果结果中有一个或多个元素是非整数,则以浮点数格式输出结果。MATLAB的运算总是以所能达到的最高精度计算,输出格式不会影响计算的精度,一般为32位小数。使用命令format可以改变屏幕输出的格式,也可以通过命令窗口的下拉菜单来改变。有关format命令格式及其它有关的屏幕输出命令列于表5。表5数值输出格式命令命令及格式说明formatshot以4位小数的浮点格式输出。formatlong以14位小数的浮点格式输出。formatshorte以4位小数加e+000的浮点格式输出。formatlonge以15位小数加e+000的浮点格式输出。formathex以16进制格式输出。format+提取数值的符号。formatbank以银行格式输出,即只保留2位小数。formatrat以有理数格式输出。moreon/off屏幕显示控制。moreon表示满屏停止,等待键盘输入;moreoff表示不考虑窗口一次性输出。more(n)如果输出多于n行,则只显示n行。时间和日期格式MATLAB可以告诉你有关时间和日期的有关信息,不仅可以显示当前的日期和时间,而且可以计算时间间隔,与flops一起使用,可以分析一种算法的是否迅速有效。有关时间和日期的操作命令和函数列于表6。表6时间和日期操作命令与函数说明tic启动一个记时器。toc显示记时以来的时间。如果计时器没有启动则显示0。clock显示表示日期和时间的具有6个元素的向量,依次为yyyy00mm00dd00hh00mm00ss,前五个元素是整数,第六个元素是小数。etime(t1,t2)计算从t1到t2时间间隔所经过的时间,以秒计。t1、t2分别是表过日期和时间的向量。cputime显示自MATLAB启动以来CPU运行的时间。date显示以dd-mm-yyyy格式的当前日期。calendar(yyyy,mm)显示当年当月按6×7矩阵排列的日历。datenum(yyyy,mm,dd)显示当年当月当日的序列数,从公元0000年1月1日起算。datestr(d,form)显示序列数d表示的form表示形式的日期。form参数从0-18共19个整数,各代表0:dd-mmm-yyyy,1:dd-mmm-yyyy,2:mm/dd/yy,3:mmm(月的前三个字母),4:m(月的首写字母),5:m#(月分的阿拉伯数字),6:mm/dd,7:dd,8:ddd(显示星期),9:d(显示星期的大写),10:yyyy,11:yy,12:mmmyy,13:HH:MM:SS,14:HH:MM:SSPM,15:HH:MM,16:HH:MMPM,17:QQ-YY,18:QQ(几刻钟)datetick(axis,form)用于在坐标轴上写数据。datevec(d)将日期序列数d显示为日期yyyymmdd形式。续表命令与函数说明eomday(yyyy,mm)显示当年当月的天数。now显示当天当时的序列数。[daynr,dayname]=weekday(day)显示参数day的星期数。daynr表示星期的数字,dayname表示星期的前三个字母。参数day是字符型或序列型日期。2022101日的序列数和当月的月历。【解】输入以下MATLAB指令:clock %显示当前日期和时间向量datenum(2022,08,22) %显示2022,08,22的序列数calendar(2022,10) %显示2022年10月的月历【例2】显示日期序列数为738755的日期。】输入以下MATLAB指令:datestr(738755,1) %使用datestr函数datevec(738755) %使用datevec函数[daynr,dayname]=weekday(738755)%使用weekday函数取整命令及相关命令MATLAB中有多种取整命令,连同相关命令列于表7。表7取整命令及相关命令命令格式说明round(x)求最接近x的整数。如果x是向量,用于所有分量。fix(x)求最接近0的x的整数。floor(x)求小于或等于x的最接近的整数。ceil(x)求大于或等于x的最接近的整数。rem(x,y)求整除x/y的余数。gcd(x,y)求整数x和y的最大公因子。[g,c,d]=gcd(x,y)求g,c,d使之满足g=xc+yd.lcm(x,y)求正整数x和y最小公倍数。[t,n]=rat(x)求由有理数t/n确定的x的近似值。这里t和n都是整数,相对误差小于10-6。[t,n]=rat(x,tol)求由有理数t/n确定的x的近似值。这里t和n都是整数,相对误差小于tol。rat(x)求x的连续的分数表达式。rat(x,tol)求带相对误差tol的x的连续的分数表达式。【例3】采用不同的命令求常数3.9801的整数。【解】输入以下MATLAB指令,x=3.9801; %输入x的数值round(x) %使用round函数fix(x) %使用fix函数floor(x) %使用floor函数ceil(x) %使用ceil函数x=36,y=4求x、y的最大公因子和最小公倍数。【解】输入以下MATLAB指令,x=36;y=4; %输入数值x、yrem(x,y) %求x/y整除后的余数gcd(x,y) %求x、y的最大公因子lcm(x,y) %求x、y的最小公倍数m文件像其他一些高级计算机语言一样,MATLAB也可以通过编程来完成特定的工作。MATLAB的程序总是保存成后缀名为.m的文件,通常称为m文件。依照m文件的内容可把m文件分为两类:一类是命令流m文件,另一类是函数m文件。第一类:命令流m文件,没有特定的程序格式,只是把完成工作所需要的一系列MATLAB命令依次编辑到m文件中,运行该文件从而使文件中的MATLAB命令序列得到执行。第二类:函数m文件,由于MATLAB的内部函数是有限的,是为了计算某个函数或研究函数各种性态而编写的具有特定格式的用户自定义函数文件。注意:函数m文件必须是保存成与函数名同名且后缀名为.m的文件,这类文件的第一行必须是一以标识符function开始,格式为:function因变量名=函数名(自变量名)%这里可以写有关于该函数的注释说明文字%接下来编写实现函数功能的MATLAB语句函数值必须通过函数中设定的具体的运算完成,最后把计算结果赋值给因变量。函数m文件一经建立,就可像使用MATLAB系统定义的函数一样使用它。m文件建立方法:在MATLAB在编辑窗口中输入程序内容;点击保存按钮,保存文件到MATLAB可以搜索到的某一路径中,函数m文件名必须与函数名一致,命令流m文件可以自由取名。但要注意不要以数字开头,也不能用汉字和中文标点符号,不要与系统函数或保留字同名,并且符合Windows的文件名要求。例如:定义函数f(x1x2)=100(x2-x1)2+(1-x1)2,步骤:在编辑窗口建立m文件:fun.mfunctionf=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;可以直接使用函数fun.m例如,现在需要计算f(1,2),只需在MATLAB命令窗口键入命令:x=[12]fun(x)基本赋值与运算利用MATLAB可以做任何简单运算和复杂运算,可以直接进行算术运算,也可以利用MATLAB定义的函数进行运算;可以进行向量运算,也可以进行矩阵或张量运算。这里只介绍最简单的算术运算、基本的赋值与运算。简单数学计算一般的简单数学运算可以在实时编辑器或者命令窗口直接键入后运行。以命令窗口方式为例说明如下。在命令窗口或实时脚本编辑窗口键入:3721+7428/24 %直接进行表达式计算abs(-27) %求-27的绝对值sin(29) %求29的正弦值在同一行上可以有多条命令,中间必须用逗号分开,例如:3^46^3*(3+2) %一行输入多个表达式简单赋值运算MATLAB中的变量用于存放所赋的值和运算结果,有全局变量与局部变量之分。一个变量如果没有被赋值,MATLAB将结果存放到预定义变量ans之中。x=18 %将18赋值给变量xy=3*x^2-78 %将3*x^2-78赋值给变量yu=x+y; %将x+y赋值给变量uv=x-y; %将x-y赋值给变量vtan(2*u/3*v) %求tan(2*u/3*v)的值这里命令行尾的分号的作用是MATLAB的执行赋值命令后在命令窗口或者实时编辑器窗口上不显示计算结果。当用户不需要计算机回显信息时,常在命令行结尾加上分号。向量或矩阵的赋值和运算一般MATLAB的变量多指向量或矩阵,向量或矩阵的赋值方式是:变量名=[变量值]如果变量值是一个向量,数字与数字之间用空格隔开;如果变量值是一个矩阵,同一行的数字间用空格或者逗号隔开,行与行之间用分号隔开。例如一个行向量A=(1,2,3,4,5)的输入方法是:A=[12345] %定义向量A13B34一个列向量的输入方法是:B=[1;2;3;4] %定义向量B一个3×4维矩阵的输入方法是:3 0C1 3 3

215 28 7C=[3021;-1452;3587] %定义矩阵C函数可以用于向量或矩阵操作。如输入:sqrt(A) %求向量A的平方根向量sin(B) %求B的正弦向量C' %求矩阵C的转置矩阵在MATLAB中,可使用who命令显示变量列表,用clear命令清除所有变量。who %查看当前变量clear %清除当前所有变量另外,向量也可以通过元素操作运算符来生成,矩阵再通过向量来生成。如要创建如下3个向量:A1依次键入下列命令即可:A1=[0:2:10] %定义向量A1A2=[1:6] %定义向量A2A3=[0.5:0.5:3] %定义向量A3对向量A2进行函数sqrt和sin操作,生成B1和B2两个向量,最后创建由这3个行向量组成的3×6矩阵C。创建的方法是:B1=sqrt(A2) %求向量A2中各元素的算术平方根B2=sin(A2) %求向量A2中各元素的正弦值C=[A2;B1;B2]还可以对矩阵进行数乘等运算。C1=3*C %对矩阵进行数乘等运算C2=C1-C/2 %矩阵的减法运算14410

3 698 925 det

如有一个方阵Matr_A=,现在求它的行列式、逆矩阵。求方阵行列式的操作命令为,求非奇异方阵的逆矩阵的操作函数为inv。输入命令如下:A=[136;489;102578] %定义方矩阵Adet(A) %计算方矩阵A的行列式AN=inv(A) %计算方阵A的逆矩阵绘制图形图形窗口及其操作MATLAB中不仅有用于输入各种命令和操作语句的命令窗口,而且有专门用于显示图形和对图形进行操作的图形窗口。图形窗口的操作可以在命令窗口输入相应命令对其进行操作,也可以直接在图形窗口利用图形窗口的本身所带的工具按钮、相关的菜单对其进行操作。下面将介绍一些对图形窗口进行基本操作的命令和函数。图形窗口操作命令对图形窗口的控制和操作的命令很多,这里主要介绍常用的figure、shg、clf、clg、home、hold、subplot等常用命令。它们的调用格式及有关说明了见表8。表8图形窗口操作命令命令及函数说明figure/figure(gcf)显示当前图形窗口。用于创建新的图形窗口,也可以用来在两个图形窗口中间进行切换。gcf/shg显示当前图形窗口,同figure/figure(gcf)。clf/clg清除当前图形窗口。如果在holdon状态,图形窗口内的内容将被清除。clg与clf功能相同,是MATLAB早期版本中的清除图形窗口内图象命令。clc清除命令窗口。相当于命令窗口edit菜单下的clearcommandwindow选项。PAGEPAGE20PAGEPAGE21续表命令及函数说明home移动光标到命令窗口的左上角。holdon保持当前图形,并允许在当前图形状态下,用同样的缩放比例加入另一个图形。holdoff释放图形窗口,将holdon状态下加入的新图形作为当前图形。hold在holdon和holdoff两种状态下进行切换。ishold测试当前图形的hold状态。若是holdon状态,则显示1;若是holdoff状态,则显示0。subplot(m,n,p)将图形窗口分成m×n个窗口,并指定第p个子窗口为当前窗口。子窗口的编号是从左至右、再从上到下进行编号。subplot将图形窗口设定为单窗口模式,相当于subplot(1,1,1)。坐标轴、刻度和图形窗口缩放的操作命令MATLAB中对图形窗口中的坐标轴的操作命令是axis,其用法见表9;坐标刻度的操作命令是xlim、ylim、zlim等,其使用方法见表10。表9axis函数的调用格式调用格式说明axis([xminxmaxyminymax])根据向量[xminxmaxyminymax]设置二维图形窗口中坐标轴的最大、最小值。axis([xminxmaxyminymaxzminzmax])根据向量[xminxmaxyminymaxzminzmax]设置三维图形窗口中坐标轴的最大、最小值。axis([xminxmaxyminymaxzminzmaxcmincmax])根据向量[xminxmaxyminymaxzminzmaxcmincmax]设置三维图形窗口中坐标轴的最大、最小值和颜色。axisauto将当前图形窗口的坐标轴刻度设置为缺省状态。axismanual固定坐标轴刻度,若当前图形窗口为holdon状态,则后面的图形将采用同样的刻度。axistight采用与X方向和Y方向相同的坐标轴刻度,即只绘制包含数据的部分坐标。axisfill设定坐标轴边界,用来适应数据值的范围。axisequal设置X轴、Y轴为同样的刻度。axisij翻转Y轴,使之正数在下,负数在上。axisxy复位Y轴,使之正数在上,负数在下。axisimage重新设置图形窗口的大小,与axisequal相同,以适应数据的范围。axissquare重新设置图形窗口的大小,使窗口为正方形。axisnormal将图形窗口复位至标准大小。axisvis3d锁定坐标轴之间的关系。一般用于图形旋转时。续表调用格式说明axisoff不显示坐标轴及刻度。axison显示坐标轴及刻度。axis(v)根据向量v设置坐标轴刻度,使xmin=v1,xmax=v2,ymin=v3,ymax=v4,zmin=v5,zmax=v6。对于对数图形,使用原数值而不使用对数值。axis(axis)固定坐标轴刻度,即当图形窗口位于holdon状态下也不改变坐标轴刻度。表10box、lim、grid及相关函数的调用格式函数及调用格式说明box是否图形四周都设定坐标轴。boxon则开启该功能,boxoff则关闭该功能,box则在boxon和boxoff之间切换。datetick(axis,format)根据日期格式format格式化坐标轴上的文本。参数axis可以是'x'(默认值),'y','z'。helpdatetick可以显示更多用法和信息。dragrect(x,step)允许用户在屏幕上拖动矩形。helpdragrect可以显示更多的用法。xlim([xminxmax])设定X轴的最大、最小值,使xmin=xmin,xmax=xmax。xlim测定X轴的最大、最小值。ylim([yminymax])设定Y轴的最大、最小值,使ymin=ymin,ymax=ymax。ylim测定Y轴的最大、最小值。zlim([zminzmax])设定Z轴的最大、最小值,使zmin=zmin,zmax=zmax。zlim测定Z轴的最大、最小值。gridon根据图形窗口中图形的坐标形式,绘制图形窗口的网格。gridoff清除图形窗口中的网格。grid在gridon和gridoff之间切换。线型、点型及颜色参数不管是在二维绘图还是在三维绘图当中,在所有能产生线条的命令中一律用参数S来定义线条的线型、点型和颜色。以绘制平面曲线的plot()函数调用方式为例:plot(x,y,S) %x、y为曲线上指定点的横坐标和纵坐标,S为线型及颜色控制字符串在绘图命令中参数S的输入采用字符串形式,两端加单引号。有关线型、点型和颜色的定义见表11~表13。表11线型定义符线型实线(默认值)点线划线点划线定义符-:.表12点型定义点型实点加号交叉号小圆圈星号棱形正方形定义符.+xo*ds点型上三角下三角左三角右三角正六角星正五角形定义符^v<>hp表13颜色定义符颜色定义符颜色定义符红色(red)r绿色(green)g蓝色(blue)b青色(cyan)c品红(magenta)m黄色(yellow)y黑色(black)k白色(white)w例如:plot(x,y,'-*k)表示绘制的曲线用实线,数据点(x,y)用星号*绘出,曲线和数据点都用黑色。fplot('fun',lim,'-.r')表示绘制参数fun决定的函数在参数lim给定范围内的曲线,曲线用红色的点划线绘出。当参数S省略时,则使用系统默认的线型和颜色绘制图形。二维图形的绘制MATLAB具有强大的图形处理功能,不管是二维图形还是三维图形,作图方法都非常简便。绘制二维图形有很多,现在把常用的四个绘图函数的函数名、功能列表如下见表表14MATLAB绘图函数函数式操作功能plot(X,Y)对向量X绘制向量Y的图形。以X为横坐标,以Y为纵坐标,将有序点集(xi,yi)连成曲线。可以加确定图形线型和着色的参数。fplot(‘fcn’,[xmin,xmax])绘制由fcn表示的函数在区间[xmin,xmax]上图形。fcn可以是代表某一函数的变量,也可以是X和Y的数学表达式。中括号内最多可以是4个值,前两个是自变量X的范围,后两个是Y的范围。在中括号后还可以加确定图形线型和着色的参数。polar(theta,rho)绘制极坐标函数rho=f(theta)的图象。其中theta是极角,以弧度为单位,rho是极径。续表函数式操作功能polar(theta,rho,S)同polar(theta,rho),参数S确定要绘制的曲线的线型、点型、颜色。bar(X,Y)以X为横坐标绘制Y的条形图。X必须是严格递增向量。legend('str1','str2',…)在图的右上角加线形标注。str1是plot函数中的第一对数组[x1,y1],str2是plot函数中的第二对数组[x2,y2],标注的线型也取处plot函数中相应的线型。向量作图在利用向量作图时,首先要创建一个有值的向量,然后对这个向量的每一个元素求另一向量函数值,最后画出向量图形。îíy=cos(3t)yx2在[-2,2]îíy=cos(3t)【解】(1)输入以下MATLAB指令,X=-2:1/20:2; %创建向量X,确定X的范围Y=X.^2; %创建向量Y,确定Y的范围plot(X,Y) %绘图gridon %显示背景网格线绘制出的图形见图8。图8y=x2在[0,2]上的图形(2)方法一:输入以下指令t=linspace(0,2*pi,100);x=cos(3*t);y=sin(2*t);plot(x,y,'LineWidth',1);gridon方法二:输入以下指令xt=@(t)cos(3*t);yt=@(t)sin(2*t);fplot(xt,yt,'LineWidth',1)gridon上述两种方法绘图结果相同,见图9。函数作图

图9plot、fplot绘制的参数方程曲线利用MATLAB自带的作图函数作二维或三维图形,既方便又快捷。ysin1x【例6】作在[-2,2]上的图形,操作及结果如下:【解】输入以下MATLAB指令:fplot(@(x)sin(1./x),[-2,2])绘制出的图形见图10。极坐标绘图

图10y=sin1/x在[-2,2]上的图形】绘制心形线r=2(1-cosθ)的极坐标图形。【解】输入以下MATLAB指令,theta0:0.01:2*pi; %建立数据点向量thetah=polar(theta,2*(1-cos(theta)))%绘制r=2(1-cosθ)的极坐标图形h.LineWidth=1; %设置曲线的线宽绘制的心形线如图11所示。图11心形线r=2(1-cosθ)的极坐标图形【例8】在同一窗口用不同的线型绘制y=sinx,y=cosx在[0,2π]上的图象,并加上标注。【解】输入以下MATLAB指令,x=linspace(0,2*pi,60);y=sin(x);y1=cos(x);plot(x,y,'r-',x,y1,'b--','LineWidth',1)%绘制不同线型的两根曲线%加注图例xlabel('x'); %标注横坐标轴变量名称ylabel('y') %标注纵坐标轴变量名称title('正弦曲线与余弦曲线')%标注图的标题gridon %显示背景网格线绘制出的图形见图12。图12在同一窗口不同线型绘制的正、余弦曲线空间曲线与空间曲面绘制MATLAB提供了多种函数来显示三维图形,这些函数可以在三维空间中画曲线或曲面,MATLAB还提供了用颜色来代表第四维,即伪色彩,我们还可以通过改变视角看三维图形的不同侧面。这里我们介绍三维图形的作图方法及其修饰。三维曲线作图用plot3函数绘制空间三维曲线。其主要调用格式为:plot3(X1,Y1,Z1,...)X1,Y1,Z1为曲线上指定点处的三维坐标;省略号部分可以设置图形效果控制参数,同plot函数一样。ïx=rcost】绘制柱面螺旋线的图形,参数方程是:íy=rsint,t∈[0,8π。îïz=tî【解】输入命令如下:r=1;t=linspace(0,8*pi,300); %自变量参数离散化x=r*sin(t); %计算曲线上各点的x坐标y=r*cos(t); %计算曲线上各点的y坐标z=t; %计算曲线上各点的z坐标h=plot3(x,y,z,'LineWidth',1.5) %作图,控制线的宽度为1.5boxon;gridon; %打开边框,打开网格程序运行结果见图13。三维曲面作图

图13柱面螺旋线绘图可用函数surf()、surfc()、mesh()来绘制三维曲面图。当然,这几个作图函数要与meshgrid函数配合使用。假设现在需要绘制曲面z=f(x,y),(x,y)∈[a,b]×[c,d],作图主要步骤如下:xa,b范围内取自变量x的nyc,d内取自变量y的m个离散点,通常实现命令为假定abcdmnx=linspace(a,b,n);%n为离散点的数量y=linspace(c,d,m);%m为离散点的数量用meshgrid()函数生成绘图区域内的网格点,方法如下:[X,Y]=meshgrid(x,y);返回值X和Y中存放着所有网格点的横坐标和纵坐标数据。计算网格点处的曲面点的竖坐标z的值,方法是:Z=f(X,Y)%注意,函数f中的乘、除、幂运算通常要用点乘、点除、点幂运算调用surf()或mesh()函数绘制曲面,调用格式为:surf(X,Y,Z)mesh(X,Y,Z) 例】画出函数z=sin(π x2+y2)的图形。【解】编写m文件运行以下程序作图:xlinspace(-4,4,60); %分割x的取值区间Y=linspace(-4,4,60); %分割y的取值区间[X,Y]=meshgrid(x,Y); %生成绘图区域网格点Z=sin(pi*sqrt(X.^2+Y.^2)); %计算网格点处的函数值subplot(1,2,1) %横排分成两块区域,在第一块区域画图surf(X,Y,Z); %利用surf函数作图axisequal;title('surf(X,Y,Z)')subplot(1,2,2) %横排分成两块区域,在第一块区域画图mesh(X,Y,Z); %利用mesh函数作图axisequal;title('mesh(X,Y,Z)')程序运行结果见图14。图14用surf()、mesh()函数画的曲面图A.6MATLAB程序设计计算机程序就是计算机指令的集合,不同的编程语言指令与功能是不一样的。MATLAB语言是一种面向对象的高级语言,它具有编程效率高、易学易用的优点.MATLAB与其它大部分高级语言一样,有它自己的控制流语句。控制流极其重要,因为它使过去的计算影响将来的运算。MATLAB提供如下几种控制流结构:for循环,While循环,If-Else-End结构和switch-case-end结构。由于这些结构经常包含大量的MATLAB命令,故经常出现在M文件中。MATLAB支持的控制流语句和C语言支持的控制流语句在调用格式上非常相似。for循环for循环允许一条语句或一组语句被重复执行预先指定的次数。For循环的一般形式是:forx=array语句end执行过程:在for和end语句之间的语句按数组中的每一列执行一次。在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:,n)。例如,forn=1:10x(n)=sin(n*pi/10);endPAGEPAGE30PAGEPAGE31x输出为:x=0.30900.58780.80900.95111.00000.95110.80900.58780.30900.0000换句话,第一语句是说:对n110,执行所有语句,直至下一个end语句。第一次通过for循环n=1,第二次,n=2,如此继续,直至n=10。在n=10以后,for循环结束,然后执行end语句后面的任何命令。注意,该循环结束后,n=10。for循环的其它重要方面是:for循环不能用for循环内重新赋值循环变量n来终止。forn=1:10x(n)=sin(n*pi/10);n=9;endxn输出结果为:x=0.30900.58780.80900.95111.00000.95110.80900.58780.30900.0000n=9执行结果表明,循环体中的语句n=9并没有影响循环的执行。在for循环内接受任何有效的MATLAB数组。键入命令:data=[39456;716-15];forn=datax=n(1)-n(2)end输出:x= -4x= -7x= 46x= 1for循环可按需要嵌套。例如:forn=1:5form=1:5A(n,m)=n^2+m^2;enddisp(n)end当有一个等效的数组方法来解给定的问题时,应避免用for循环。例如,上面的第一个例子可被重写为n=1:10;x=sin(n*pi/10)输出结果:x0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.30900.0000两种方法得出同样的结果,而后者执行更快,更直观,要求较少的输入。为了得到最大的速度,在for循环(while循环)被执行之前,应预先分配数组。例如,前面所考虑的第一种情况,在for循环内每执行一次命令,变量x的大小增加1。迫使MATLAB每通过一次循环要花费时间对x分配更多的内存。为了消去这个步骤,for循环的例子应重写为x=zeros(1,10);forn=1:10x(n)=sin(n*pi/10);endx现在,只有x(n)的值需要改变。】相传古代印度国王要褒奖他的聪明能干的宰相达依尔国际象棋发明者二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我64人扛了一袋麦子,但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦(1m3小麦约1.4108粒)?【解】所需麦粒总数为,输入以下MATLAB命令计算:64s 2kk0a=1;s=0fori=1:64s=s+a;a=2*a;ends=s/1.4/10^8运行后得:s=1.3176e+011这就是说,放满64格,共需要麦子1.31761011立方米!】公元前五世纪我国古代数学家张丘建在《算经》一书中提出了“百鸡问几何?x为鸡翁数,则x的范围:0~19;y为鸡母数,则y的范围:0~33;z:鸡雏数,则z的范围:0~100,由题意得:x+y+z=1005x+3y+z/3=100这是一个不定方程,可利用遍历法搜索求解。输入命令计算:forx=0:19fory=0:33forz=0:100if(x+y+z==100)&&(5*x+3*y+z/3==100)d=[x,y,z]endendendend运行后得结果:d=0 25 75d=4 18 78d=8 11 81d=12 4 84while循环与for循环以固定次数求一组命令的值相反,while循环以不定的次数重复执行一组语句。while循环的一般形式是:while表达式1语句1end只要表达式1里的所有元素为真,就执行while和end之间的语句1,否则,就结束循环。通常,表达式的值给出一个标量值,但数组值也同样有效。在数组情况下,当数组的所有元素为真)时,就执行语句1,数组中有一个元素为假就结束循环。【例13】按下面的公式计算:e1111使误差小于给定的。【解】把作为误差,程序如下:x=1;y=0;n=1;whilex>errory=y+x;x=x/n;n=n+1;ende=y运行如下:

error=input('请输入误差:');

1 (n请输入误差:0.001e=2.7181if-else-end结构很多情况下,命令的序列必须根据关系的检验有条件地执行。在编程语言里,这种逻辑由某种if-else-end结构来提供。最简单的if-else-end结构是:if表达式1语句1end作用是:如果在表达式1中的所有元素为真(非零),那么就执行if和end语言之间的语句1。假如有两个选择,if-else-end结构是:if表达式1语句1else语句2end在这里,如果表达式1为真,则执行语句1;如果表达式是假,则执行语句2。当有三个或更多的选择时,if-else-end结构采用形式if表达式1语句1elseif表达式2语句2elseif……else语句end如果表达式1为真,则执行语句1,结束循环;如果表达式1为假,则检验表达式2,如果表达式2为真,则执行语句2,结束循环;如果表达式2为假,则检验表达式3,如此下去,如果所有表达式都为假时,则执行最后的语句。即只执行第一个真值表达式相关的语句;接下来的表达式不检验,跳过其余的if-else-end结构。而且,最后的else命令可有可无。】输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。【解】程序如下:c=input('请输入一个字符','s');ifc>='A'&&c<='Z'disp(char(abs(c)+abs('a')-abs('A')));elseifc>='a'&&c<='z'disp(char(abs(c)-abs('a')+abs('A')));elseifc>='0'&&c<='9'disp(abs(c)-abs('0'));elsedisp(c);endswitch-case-end结构如果在一个程序中,必须针对某个变量不同取值情况进行相应操作,switch语句比ifelse语句更方便。switch语句的一般形式为:switch分支条件(数值或字符串)case数值)1语句1case数值)2语句2caseotherwise语句end其中分支条件可以是一个函数、变量或者表达式。如果条件1与分支条件匹配就执行语句1,退出循环;否则,检验条件2,如果条件2与分支条件匹配执行语句2,退出循环;否则,检验条件3,...,当所有条件都不与分支条件匹配时就执行最后的语句。注意otherwise是可以省略的。【例15】某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):price<200 没有折扣200≤price<500 3折扣500≤price<1000 5折扣1000≤price<2500 8折扣2500≤price<5000 10折扣5000≤price 14折扣输入所售商品的价格,求其实际销售价格。price=input('请输入商品价格');%交互输入命令switchfix(price/100)case0,1} %价格小于200rate=0;case2,3,4} %价格大于等于200但小于500rate=3/100;casenum2cell(5:9) %价格大于等于500但小于1000rate=5/100;casenum2cell(10:24) %价格大于等于1000但小于2500rate=8/100;casenum2cell(25:49) %价格大于等于2500但小于5000rate=10/100;otherwise %价格大于等于5000rate=14/100;endprice=price*(1-rate) %输出商品实际销售价格PAGEPAGE37PAGEPAGE38附录BGeoGebra软件用法简介GeoGebra简介GeoGebra=Geometry+Algebra,即几何+代数,也就是同时拥有处理几何绘图与代数运算的能力。GeoGebra最早是由一位年轻的奥地利数学家MarkusHohenwarter设计的一款开放源代码的动态几何免费软件其结合几何、代数与微积分、统计学和3D数学于。目前,GeoGebra由众多的跨国团队共同开发,并且拥有数百名翻译志愿者将其译成多国语言,至今,GeoGebra已被译为69种语言。GeoGebra是为了从小学到大学各学段的教学而设计的动态数学软件,是进行数学教学、数学学习和数学研究的有力工具。该软件功能强大、使用简单、交互性强,可以利用其自带的几何工具直接画点、线段、直线、平面、多边形、圆锥曲线、向量和空间几何体等几何对象,也可以直接通过代数输入点的坐标、函数解析式、多元函数、曲线方程和曲面方程等绘制几何对象,还可以通过内置的命令绘制区间函数、分段函数、参数曲线和参数曲面等对象,具有处理集合、微积分、矩阵、统计与概率等运算分析功能,从小学到大学的几乎所有数学基本知识都可以用它直观地展示出来,并且每个对象都可以改变其属性。另外,还可以利用它开发创作出许多数学艺术作品,特别是利用它可以揭示数学本质,品味数学内涵,体会数学魅力,从而提高学生的学习兴趣。该软件是数学学习的助手、数学教学的平台、构建数学模型的工具。同其他数学软件相比,GeoGebra的特点主要集中在以下几个方面。可视化功能GeoGebra设计定位于数学教育,非常重视运用于数学教学中的演示,具有强大的可视化功能。GeoGebra不仅可以绘制二维图形,而且能绘制很精美的三维图形,帮助用户进行直观分析。图形的各种属性,如动画、色彩、标签、说明等都可以进行详细设置。最重要的是它将数形结合的要求体现得淋漓尽致,能实现几何图形与函数方程的同步变化。GeoGebra几乎能将从初等数学到高等数学的基本知识都直观地展示出来,使教学过程更加生动、形象,从而帮助学习者更好地发现数学、理解数学、构建数学。解决数学问题利用GeoGebra能解决常见的数学问题,除了基本的几何绘图与代数计算外,还包括微积分、概率、统计、图论、最优化、微分方程等诸多领域。其中既包括无误差的符号计算,也包括满足一定精确度要求的数值计算,如它可以做多项式的运算、展开和分解,可以求方程的精确解和近似解,求函数的极限、导数、积分和幂级数展开等。 附录 附录附录操作简单相对于众多的数学软件,GeoGebra的操作比较容易上手。即使是没有任何编程经验的用户,只需要熟悉计算机的基本操作,并有相应的数学知识和思维基础,就能完成大部分的简单操作。GeoGebra集成了大量作图工具图标,只需点击鼠标就可绘制点、线段、直线、向量、多边形、平面、空间几何体等对象,也可以通过输入简单的指令来绘制函数、隐式曲线、参数曲线、参数曲面等对象。GeoGebra还具有指令联想补全功能,会自动显示与输入接近的指令。在指令栏右侧有指令说明区,通过双击或复制可直接调用,所以无须记忆相关指令参数格式便能操作。支持脚本程序GeoGebra除了具有简单便捷的操作外,还为用户提供了更深层次的功能,也就是脚本程序。GeoGebra支持两种脚本,一种是GeoGebra专属脚本,一种是JavaScript通用脚本。利用脚本程序可以扩充软件的功能,进行更高级的操作,这样可以使用户从软件设计者所制定的框架中解放出来,编写出用途更广、功能更强的课件。免费开源软件收费的高低是制约数学软件在教学中推广应用的一大障碍。GeoGebra完全免费,可以从互联网上自由下载,软件的使用不受任何相关因素的制约,能满足不同地区、不同层次学校师生教学的需要,这也是GeoGebra能在欧美国家盛行的原因之一。GeoGebra不但使用时完全免费,而且源码是开放的,所以GeoGebra的更新速度很快,功能也日益强大。易于交流学习GeoGebra直接基于Java程序编写,所以它具有Java的很多优点:GeoGebra具有良好的网页支持功能。即使对没有安装GeoGebra的设备,只需打开GeoGebra导出的网页文件就能浏览和操作;GeoGebra可以跨平台使用,如可在Windows、MacOS、Linux、Android、iOS等操作系统中无障碍地运行,特别是能在智能手机、平板电脑等移动终端上使用,对有移动学习需求的学习者提供了便利,使他们能在任何地方进行个性化的数学学习。GeoGebra的用户界面场景在Windows操作系统下,运行GeoGebra5.0.656.0-d版为操)1所示的默认界面。GeoGebra列出了大量常用的工具图标让用户能直观便捷地操作。当软件的某个视图处于激活状态时,该视图区域可用的工具图标会相应显示在工具栏中。有些工具图标带有下拉三角箭头,可以下拉选择更多同类的工具。GeoGebra提供了500多个指令,并支持中文指令注意:指令中的标点为英文。通过在指令栏输入指令可以完成几乎所有的软件操作,其中许多操作是利用工具图标无法完成的。掌握GeoGebra指令是熟练使用软件的关键。“侧边栏”:点击软件界面右边框上的三角箭头,显示软件的侧边栏,通过点击侧边栏上相应的按钮可以快速切换视图。图1视图在GeoGebra界面中,最主要的工作窗口就是视图。视图是构造、操作、显示对象的区域,是软件的主要工作空间。GeoGebra视图包括“代数区”“表格区”“运算区”3D行切换。PAGEPAGE40PAGEPAGE41代数区默认情况下,代数区会出现在软件界面的最左侧图。GeoGebra中的每一个对象,不论是用户主动命名的,还是由GeoGebra自动命名的,都会显示在代数区。除了对象的名称外,对象包含的各种代数属性:坐标、长度、面积、数值、方程等也会显示在这里。图2代数区内的对象依据类别分成不同的群组,用户可按从属关系、对象类型、图层、作图顺序等方式将对象重新排列。例如,从属关系是将对象分成自由对象和从属对象。如果一个新构建的对象没有使用已有对象,就称为自由对象;否则就是从属对象图。图3表格区GeoGebra的表格区类似Excel,具有处理、分析数据的功能,为研究概率统计问题提供了条件。表格区如图4所示。图4单元格是表格区的最小组成元素,每个单元格有唯一的地址方便引用,如第一行第一列的单元格地址为“A1”。单元格的地址可用于指令中以引用单元格。类似于Excel的“R1C1”引用,GeoGebra也可以用行号和列标的数字形式来引用单元格,如指令“单元格(<列序>,<行序>)在GeoGebra中,单元格的引用也有所谓相对引用和绝对引用之分。如复制一个单元格的内容到另一个单元格时,会默认将所有的相对引用关系也复制到目标位置,若要使用绝对引用,可以在涉及的单元格的行号或列标前插入“$除了可以储存数字外,其他类型的对象也可以存储在单元格内见图。向单元格中输入数据,除直接输入外,还可以采用从代数区拖拽对象、在指令栏输入有关指令、导入数据文件、记录到表格等方式。其中记录到表格的操作方式:右击绘图区中的对象,在快捷菜单中选择“记录到表格坐标、角度、长度、面积等记录到单元格中。在单元格中输入任何数据,都将创建新的对象,并且新建的对象不会随原对象的删除而删除。例如,将点A=(3,5)从代数区拖拽到单元格中,会生成新点A1=(3,5),删除点A后,点A1不会随之删除。运算区运算区主要包括表达式的符号计算、数值计算,表达式的分解、展开、检查,方程或方程组的精确求解、近似求解,导数、积分、概率统计的运算等功能,软件所支持的数学运算都能在这里完成。运算区由多个可执行块组成,每个可执行块上方为指令域,下方为执行的结果图。可以在运算区的指令域内直接输入运算区指令,使用方式与软件下方的指令栏相同。除了直接输入指令外,也可以利用运算区上方的工具栏进行运算。图5运算区区别于其他视图的主要特点是能进行符号计算。所谓符号计算,是相对于数值计算而言的,符号计算处理的对象和结果都是符号。运算区的符号计算是基于软件的计算机代数系统实现的。例如,在运算区的指令域输入指令“解常微分方程(y’’+4y’+4y=0)5所示。绘图区绘图区是显示对象图形的区域,是GeoGebra的核心视图。通过绘图区左上角的样式栏可以设置绘图区的坐标轴、网格等样式。如需更详细地设置,可以右击绘图区的空白处,在快捷菜行右侧单中单击“齿轮”状按钮,在下拉列表框中选择“绘图区打开绘图区的设置窗口,在此可以设置坐标轴的范围、比例、线型、颜色、标签、刻度等,也可以设置网格的类型直角坐标、等距线、极坐标、线型、颜色、刻度等样式图。通过点击工具栏上的工具图标或在指令栏输入指令等方式都可以在绘图区构建对象,当然对象的代数式会同步显示在代数区。如果绘图区中的对象发生改变时,它在代数区的代数式也会动态更新。图6图7点击菜单栏中的“视图”,可以打开绘图区2。当同时打开两个绘图区时,只有其一是激活的,此时通过指令建立的对象会显示在该激活的绘图区。用户可以右击对象,在快捷菜单中选择“属性”,在“属性”对话框的“高级”选项卡中选择对象要显示在哪个绘图区。分别显示于两个绘图区上的同一对象或有从属关系的对象是互相关联的,即在一个绘图区上操作某对象时,另一绘图区上的关联对象也会同步变化。利用这一特点,可以很方便地演示一些数学问题。绘图区3D在3D绘图区中,可以绘制点、线、面、棱锥、棱柱、圆锥、圆柱、正多面体、球体等几何体,也可以绘制空间曲线和空间曲面。用户可根据需要自定义3D绘图区样式,如调整视线方向:可以选择视线指向xOy平面、xOz平面、yOz平面图。图8与绘图区类似,在3D绘图区同样可以通过点击工具栏上的工具图标或在指令栏输入指令构建对象。如此时绘图区是开启状态,则会以xOy平面为辅助视图,将3D绘图区中构建的该平面上的对象显示在绘图区。如在3D绘图区中构建一个底面在xOy平面上的圆锥,底面的圆会显示在绘图区图。事实上,可以指定任意平面为辅助视图,构建在该平面内的对象,都会直接显示在一个新的视图中。图9概率统计分布。只要从下拉列表中选择分布类型,就能绘制相应的“概率密度函数”或“累积分布函数”的图形,也可以计算随机变量在某一区间上的概率图卡可进行各种统计检验。选择相应的统计检验类型,设定好参数后,就可显示出检验的结果图。

图10新增数学对象的时候,如果没有主动为对象命名,系统会自动按英文字母的顺序为其命名。数学对象(如点坐标、数值、方程和函数)的名称都会显示在代数区中,若要建立或更改数学对象,可通过GeoGebra视窗底部的指令栏来直接输入代数式,输入结束后必须按Enter键确认。另外,任何时候按Enter键都可以快速将光标切换到指令栏与绘图区。点的命名规则点是用大写字母(首字母大写)命名的,只要在点的坐标前面加上对象名称与等号即可。范例:①直角坐标点:在指令栏中输入“A=(2,3)②极坐标点:在指令栏中输入“Br=(4;60°)”,注意坐标中的两个数字要用“;”隔开。③复数对应的点:在指令栏中输入“M=2+i向量的命名规则向量是用小写字母命名的,只要在向量的坐标前面加上对象的名称与等号即可。范例:①直角坐标向量:在指令栏中输人“u=(2,-1)②极坐标向量:在指令栏中输入“v=(5;30°)函数的命名规则函数的命名规则通常与函数的书写规则相同。范例:在指令栏中依次输人“f(x)=3*x-2g(m)=m^2trm(x)=sin(x)若在指令栏中输人“x^3h(x)=x^3。m^2

注意:①函数的自变量不一定要用x,可以是任意的字母。②若输人函数“g(m)=”前,已经有数值m=6,那么函数g(m)中的变量m与m=6没有任何关系。直线、圆锥曲线与不等式的命名规则直线、圆锥曲线与不等式的命名规则是在方程式前面加上名称与冒号。范例:①直线:在指令栏中输入“a:y=x-2②圆:在指令栏中输入“c:(x-1)^2+(y-2)^2=1③椭圆:在指令栏中输入“tuo:x^2/9+y^2/4=1④不等式:在指令栏中输入“d:x-2*y>=1GeoGebra代数输入基本操作GeoGebra中定义的特定常数和运算符输入方法列表如下:表1特定常数和运算符输入方法待输入对象快捷键说明圆周率piAlt+p或者字母pi也可由虚拟键盘输入欧拉数)eAlt+e也可由虚拟键盘输入虚数单位iAlt+i也可由虚拟键盘输入续表待输入对象快捷键说明角度单位符号°Alt+o也可由虚拟键盘输入根号√Alt+R也可以输入为sqrt()运算符号⊗Shift+Alt+8也可由虚拟键盘输入运算符号⊕Alt+=∞Alt+u也可由虚拟键盘输入≤Shift+Alt+<也可由虚拟键盘输入≥Shift+Alt+>也可由虚拟键盘输入幂指数0~9Alt+0~9也可用^表示幂指数下角标_{下标内容}注意,GeoGebra中,字母e这个名称(无论是自动命名还是主动命名的)没有被用过的话,那么它第一次被引用,例如,在指令栏内输入“a=2+e”,此时e会被当做欧拉数;但是,如果e已经被命名过成为别的对象名,此时键盘上直接键入的字母e不会被当做欧拉数。此后若需用欧拉数,必须用Alt+e来输入。数学中常用的希腊字母可由GeoGebra自带的虚拟键盘输入。部分希腊字母设有快捷键,列表如下。表2希腊字母输入方法希腊字母快捷键希腊字母快捷键αAlt+aΩShift+Alt+wβAlt+bΘShift+Alt+tγAlt+gΦShift+Alt+fδAlt+dΔShift+Alt+dθAlt+tΠShift+Alt+pλAlt+lΣShift+Alt+sμAlt+mΓShift+Alt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论