matlab讲义要点
- 格式:doc
- 大小:1.17 MB
- 文档页数:8
前期知识:高等数学,机械原理,液压传动,控制原理学习目标:了解基本原理、掌握基本应用、熟练使用matlab 、精通机械工程的建模和仿真 本课计划:课堂学习、课后练习、任务:要看课堂笔记引例:斐波纳西数列的递推公式为)2()1()(--+=n n n F F F ,通项表达式是什么? 高等数学上册第48页。
斐波纳西数列在优化设计和股票分析中有用处。
第1章 了解Matlab本章要求:了解Matlab 的功能、组成第1节 Matlab 的界面1.命令窗口:输入命令和显示运行结果和寻求帮助的窗口。
第1个例子求不定积分问题:在编写代码时不能输入或者不能显示汉字解决办法:将use custom font 换成use desktop font先定义一个符号变量x syms x 设211)(xx f +=求不定积分⎰dx x f )(matlab 求解:int(1/(1+x .^2)) 详见l1_bdjf.m最重要的问题一:工作路径 查看当前工作路径的命令是 pwdmatlab 默认的路径为安装好的目录下work ,为了需要我们需要改换路径。
改换路径的方法有:(1)采用DOS 命令 mkdir('根目录名称','新目录名称')例:mkdir('d:\','mywork') 如果d 盘下没有mywork 即创建,如有就会给出警告。
进入新建文件夹 cd d:\mywork(2)采用matlab 命令 editpath ,pathtool (3)通过matlab 界面 [file]菜单->set path难点:我想将打开MATLAB 时的默认工作路径改为F:\Program\MATLAB\WorkSpace\ ,只需要在原来的默认路径(bin)下创建一个名为startup.m 的文件,内容为相对路径 cd ..\..\WorkSpace\ 或绝对路径 cd F:\Program\MATLAB\WorkSpace\即可。
再次打开MA TLAB 时便会自动执行startup.m 文件,将工作路径转至WorkSpace 下。
最重要的问题二:工作路径设置不能设置在有汉字的目录下或汉字文件夹,不支持汉字运算。
汉字用的是Unicode 编码一个字符占两个字节,字母用的是ASC Ⅱ编码,一个字母占一个字节。
到2008版才能处理汉字。
初学者容易出现的错误就是把别人的程序拷在带汉字的文件夹下,运行出现错误。
如果我们已知某个文件名,但忘了在哪个文件夹下,可以用which 命令如which FUN what 命令:M-files in the current directory 思考题:what 和dir 的区别?2.工作空间:显示数据的变量信息,包括变量名、字节大小、变量类型等。
输入 load wind 和load cities 加载了后缀为mat 的wind 和cities 数据文件 在命令窗口输入who 就可以列出空间的变量在命令窗口输入whos 可以列出名称、大小和类型 whos -file 文件名.mat 可以查看加载前的数据信息。
3.历史记录:显示所有在命令窗口输入的执行过的命令,清除历史的方法有两种4.帮助(1)help 函数名或命令名,可以显示对应的帮助信息 例如 help sin 可以得知sin 实现正弦函数的计算功能 例如对自编代码的解释,help l1_bdjf (2)联机帮助(3)演示帮助在命令窗口输入demo 或demos第2节 工作环境安装时必带虚拟java 机,在和其它程序如vc 、adams 等混合或联合编程时需要进行必要的配置。
matlab 在工作时会调用它内部所带的函数、动态链接库等。
这些函数有的是m 有的是c 文件、有的是mex 、有的是p 文件等。
matlab 为了减轻人们的编程负担,编制了很多应用函数和API 函数。
当然还有很多工具箱。
例如:figure;peaks;查看当前时间 clock 查看当前日期 date xpbombsfuntool 函数运算工具课后练习:通过菜单preference 选项进行多种设置例如字体、背景颜色等。
第3节 Matlab 的历史20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler 教授为方便学生在学习《数值计算》课程时矩阵运算而开发的FORTRAN 程序库和接口程序,取名MA TALAB 。
1983年Cleve Moler 和John Little 等用C 语言开发了第二代MA TALAB 专业版,具有数值计算及数据图形化功能。
1984年成立MathWorks 公司,推出了商业版的MA TALAB4.0版。
随后功能不断改进和完善。
第4节 Matlab 基本功能1.数值计算 (1)普通计算算术运算:+(plus )、-(minus )、*(times)、/(右除—即右为除数左为被除数)、\(左除—左数为除数)、幂方^(power) 注意:matlab 是以数组为基础运算的,也是以复数为基础运算的。
【例】用MATLAB 计算38- 能得到–2吗?8开立方有几个根? 复数开方)sin (cos )]atan sin()atan [cos(22θθi r abi a b b a bi a z +=++=+=r(cosθ+isinθ)的n 次方根=r^(1/n) * (cosθ+isinθ)^ (1/n)=r^(1/n) * e^(i*(2k*pi+θ)/n)=r^(1/n) * (cos((2k*pi+θ)/n)+isin((2k*pi+θ)/n)) 其中的k=0,1,2,...(n-1),所以:有n 个复数根%%%%%%%%%%%%%%%%%%%%%%%%%%% % 一般程序%学习angle( )函数 a=-8; r=a^(1/3) m=[0,1,2];R=abs(a)^(1/3);Theta=(angle(a)+2*pi*m)/3; rrr=R*exp(i*Theta)t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t); plot(x,y,'b:'),grid hold onplot(rrr([2,3]),'o','MarkerSize',15,'Color','b')axis([-3,3,-3,3]),axis squarehold off%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%那如何利用matlab进行-8开立方呢?syms x;f=x^3+8;y=solve(f);y1=y(1)知识点:y1是什么类型的数据?ischar(y1);isnumeric(y1);iscell(y1);如何知道类型:class(y1)练习:8开立方在这里要复习一下复数开n次方的意义。
(2)符号运算定义分别用sym和syms 思考:sym与syms的不同clc;clear;syms a b;z=a+b如何定义一个复数clc;clear;a=sym('a ', 'real');b=sym('b', 'unreal');z=a+b; real(y)clc;clear;a=sym('a ', 'real');b=sym('b', 'real');z=a+b*i; real(y)clc;clear;syms a b real;y = a+b*i; real(y)知识点:将数组转化为符号矩阵A=[3 1.1 2;2 4 1.5;pi 0.5 5];B=sym(A)符号矩阵转化为数值矩阵C=double(B)思考:非数值型的符号矩阵能不能转?n=['a' 'b' 'c' 'd'; 'b' 'c' 'd' 'a'; 'c' 'd' 'a' 'b'; 'd' 'a' 'b' 'c'];D=sym(n) 2.数据处理l2_clown.mMatlab的命令:1.dos命令。
已经学过建立文件夹,设置文件夹,dir;delete 文件名;edit;exit; 查看主机ip: dos('ipconfig') 查看主机名:dos('hostname')关机dos('shutdown /s /f -t 3600');取消dos('shutdown /a')2.帮助命令;3.操作命令(部分汇总)一.常用的窗口命令help 启动联机帮助文件显示what 列出当前目录下的有关文件lookfor 对help信息中的关键词查找which 找出函数与文件所在的目录名demo 运行MATLAB的演示程序path 设置或查询MATLAB的路径二.有关文件及其操作的语句cd 改变当前的工作目录dir 列出当前目录的内容getenv 获得环境参数fopen 打开文件fclose 关闭文件三.启动与退出的命令quit,exit 退出MATLAB环境startup MATLAB自启动文件matlabrc 启动主程序四.管理变量工作空间的命令who 简要列出工作空间变量名whos 详细列出工作空间变量名load 从文件中读入变量save 列出工作空间中变量存盘clear 删除内存中的变量与函数五.对命令窗口控制的常用命令cedit 设置命令行编辑与回调的参数clc 清除命令窗口中的显示format 设置输出格式echo 显示文件中的MATLAB命令more 控制命令窗口的输出页面Matlab语言的特点:1.高级性比通用编程语言c等更高级,定义不是很严格。
例如c没有圆周率,1/0会出错,没有inf eps NaN等。
知识点:NaN的用途bdw=0.01;tpw=0.15;pos=[1/2+bdw,2/3+bdw,1/2-2*bdw,1/3-bdw-tpw];figure('NumberTitle','off','Units','normalized','Position',pos,'Color',[1,1,1]); set(gcf,'Name','试验窗');P=ones(16,16)*NaN;P(1,5)=1;P(2:14,4)=1;P(15,5)=1;P(16,6:11)=1;P(15,12)=1;P(9:14,13)=1;P(2:9,6)=1;P(9,7)=1;P(8,8)=1;P(9,9)=1;P(8,10)=1;P(9,11)=1;P(8,12)=1;P(2:14,5)=2;P(10:15,6:11)=2;P(9,8)=2;P(9,10)=2;P(9:14,12)=2;set(gcf,'Pointer','Custom','PointerShapeCData',P,'PointerShapeHotSpot',[2,5])2.通用性应用领域广泛,和其他专业软件有接口3.专用工具箱;4.GUI执行程序有丰富的界面,可以生成.exe文件,例zhizhenbiao.exeMatlab的编程规则:1.文件格式.m .fig .mdl .mat .p .asv .mex .c .h .lib .exe .dll例如hello.c知识点:查询当前工作目录下的文件种类例如i=exist('hello') 结果i=3. 或者用i=exist('hello', '种类名')'种类名'= 'var','builtin','dir', or 'file'type('hello').p为预编译文件,可以保护系统中的文件,也可以隐藏代码。