欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    Matlab65使用.doc

    • 资源ID:2726308       资源大小:521.50KB        全文页数:76页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Matlab65使用.doc

    Matlab6.5使用友好的工作平台和编程环境简单易用的程序语言强大的科学计算及数据处理功能丰富的图形处理功能应用广泛的模块集和工具箱模块化的设计和系统的仿真实用的程序接口和发布平台第1章 Matlab6.5使用方法1Matlab6.5简介1.1 21世纪的科学计算语言功能强大 数值计算、符号运算、图形可视化语言简单扩充能力强、可开发性好 编程容易、效率高1.2 Matlab6.5的新特点开发环境 数值处理程序及数据结构 图形处理用户图形界面应用程序接口1.3 Matlab网上资源http:/www.mathsworks.comftp.mathworks.com2Matlab6.5桌面平台Matlab主窗口命令窗口历史窗口当前目录窗口发明说明书窗口工作间管理窗口3Matlab6.5帮助系统联机帮助系统n 选中Help下拉菜单的前四项中任何一项;n 在命令窗口中执行Helpwin、helpdesk、doc;n 直接按主窗口的?按钮.命令窗口查询帮助n help系列-help、help+函数(类)名、helpwin、helpdesk;n lookfor函数;n 其他帮助命令l exist变量检验函数;l what-目录中文件列表;l who-内存变量列表;l whos-内存变量详细信息;l which-确定文件位置。联机演示系统1基本介绍窗口>> intro2演示界面help-demos>>demo常用命令和技巧1一些通用命令cd 显示或改变工作目录dir, ls 显示目录文件type 显示文件内容clear 清理内存变量clf 清除图形窗口pack 收集内存碎片、扩大内存空间clc 清除工作窗echo 工作窗信息显示开关hold 图形保持开关disp 显示变量或文字内容path 显示搜索目录save 保存内存变量到指定文件load 加载指定文件的变量diary 日志文件命令quit 退出Matlab! 调用dos命令2 标点: 多种应用功能; 区分行,取消行显示等, 区分列,函数参数分隔符等() 指定运算过程中的先后次序等 矩阵定义的标志 用于构成单元数组等. 小数点及域访问等 续行符% 注释标记= 赋值标记 字符串的标志符等Help 程序(主题)名>> help sinh SINH Hyperbolic sine. SINH(X) is the hyperbolic sine of the elements of X. Overloaded methods help sym/sinh.m>>lookfor complex显示>>who %显示当前工作区中的所有变量名>>whos %显示当前工作区中的所有变量%名,变量的大小,字节数和类型。>>disp(x) %显示x的内容,矩阵或字符串清除>>clear (变量名)存储>>save (文件名)调出>> load (文件名)>> saveSaving to: matlab.mat>> loadLoading from: matlab.mat>> save temp-将当前系统中的所有变量存入temp.mat;>> save temp x-仅存入x变量到temp.mat;>> save temp x y z-仅存入x y z变量到temp.mat;>> load temp-重新从temp.mat中提出变量。搜索>>path %显示目前的搜索路径,可以用File菜单中的Set Path观察和修改路径管理what 返回目前目录下的M,MAT,MEX文件列表dir、 ls 列出目前目录下的所有文件cd path 改变目前目录为pathpwd、 cd、 chdir 显示目前的工作目录 退出>>quit第2章 数值计算功能2.1 Matlab的数据类型1. 变量与表达式Matlab命令的通常形式 变量=表达式>> A=1,3.0,5.6,sin(2.)A = 1.0000 3.0000 5.6000 0.9093>> a=1 3.0 5.6 sin(2.)a = 1.0000 3.0000 5.6000 0.9093>> sin(pi/2)/3ans =0. 3333>> whos Name Size Bytes Class A 1x4 32 double array a 1x4 32 double array ans 1x1 8 double arrayGrand total is 9 elements using 70 bytes2预定义变量-常量系统的特殊常量特殊变量 取值pi eps 计算机的最小正数flops 浮点运算次数i,j i=j=Inf 无穷大NaN 不定量Realmin 最小的正浮点数 2(-1022)Realmax 最大的浮点数 2(1023)>> z1=3+4iz1 = 3.0000 + 4.0000i>> z1=3+4jz1 = 3.0000 + 4.0000i3.显示格式计算以双精度计算;数值的有效范围为10e-30810e308;显示可以不同的显示格式显示;缺省情况为短格式(short)显示若数据为整数,则以整型表示;若为实数,则保留小数点后4位的浮点数表示。>> x=3.0 2x =3 2short>> x=4/3 1.2345e-6x =1.3333 0.0000>> format long>> x=4/3 1.2345e-6x = 1.33333333333333 0.00000123450000>> format short e>> x=4/3 1.2345e-6x =1. 3333e+000 1.2345e-006>> format +>> x=4/3 1.2345e-6x =+shortlonghexbank+short elong eshort eshort glong grational4. 字符串-所有字符串用单引号设定后输入或赋值>> s='matrix laboratory's =matrix laboratory -字符串的每个字符(包括空格)均为字符数组的一个元素>>size(s) %size命令查看字符数组的维数ans = 1 17 -字符串和字符数组(或矩阵)基本上等价>> s(3)ans =t>> s2='matlab's2 =matlab-字符数组的生成>> s3=char('s','y','m','b','o','l','i','c');>> s3'ans =symbolic-字符串和数组之间的转换A. 字符串转换为数值代码>> double(s3)'ans = 115 121 109 98 111 108 105 99B. 字符数组转换为字符串 >> cellstr(s3)'ans = 's' 'y' 'm' 'b' 'o' 'l' 'i' 'c'C. 数值数组和字符串之间的转换-num2str 数字转换为字符串-int2str 整数转换为字符串-mat2str 矩阵转换为字符串-str2num 转换字符串为数字-sprintf 将格式数据写为字符串-sscanf 在格式控制下读字符串>> a=1:5;>> b=num2str(a);>> a*2ans = 2 4 6 8 10>> b*2ans = Columns 1 through 11 98 64 64 100 64 64 102 64 64 104 64 Columns 12 through 13 64 106>> str2num(b)*2ans = 2 4 6 8 10D. 字符串操作-strcat 链结串-strvcat 垂直链结串-strcmp 比较串-strncmp 比较串的前n个字符-findstr 在其他串中寻找此串-strjust 证明字符数组-strmatch 查找可能匹配的字符串-strrep 以其他串代替此串-strtok 寻找串中记号-upper 转换为大写-lower 转换为小写-blanks 生成空串-deblank 移去串内空串 E. 执行字符串-函数eval实现n=4;t='1/(i+j-1)';a=zeros(n);for i=1:nfor j=1:na(i,j)=eval(t);endendaa = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 0.2500 0.2000 0.1667 0.1429>> d='cd';>> eval(d)C:MATLAB6p1workF. 一些基本数字转换函数-hex2num 十六进制转换为双精度数-hex2dec 十六进制转换为十进制整数-dec2hex 十进制整数转换为十六进制串-bin2dec 二进制转换为十进制整数-dec2bin 十进制整数转换为二进制串-base2dec 转换B底字符串为十进制整数-dec2base 转换十进制整数为B底串-strings strings函数的帮助5 矩阵6 单元型变量一种以任意形式的数组为元素的多维数组-定义(1)赋值语句直接定义(2)由cell函数预先分配存储空间,再对单元元素逐个赋值>> A=1, 2; 3, 4;>> B=1:4, A, 'abcd'B = 1x4 double 2x2 double 'abcd'>> c1,1=1:4;>> c1,2=A;>> c1,3='abcd'>> cc = 1x4 double 2x2 double 'abcd'>> c2ans = 1 2 3 4>> c(2)ans = 2x2 double注:1)单元型变量的元素不是以指针的方式保存。改变其元素原变量矩阵A的值不等于改变变量B的第2个元素的值。2)单元型变量自身可以嵌套。>> D=1:4,A,BD = 1x4 double 2x2 double 1x3 cell>> D33ans =abcd>> A(1,2)=-10A = 1 -10 3 4>> c2ans = 1 2 3 4-单元型变量的相关函数-cell 生成单元型变量-cellfun 对单元型变量中元素作用的函数-celldisp 显示单元型变量的内容-cellplot 图形显示单元型的内容-num2cell 数值数组转换为单元型变量-deal 输入输出处理 -cell2struct 单元型变量转换为结构型变量-struct2cell 结构型变量转换为单元型变量-iscell 判断是否为单元型变量 -reshape 改变单元数组的结构>> cellfun('islogical', B)% 其他函数isreal, isempty, length, ndims等ans = 0 0 0>> celldisp(B)B1 = 1 2 3 4B2 = 1 2 3 4B3 =abcd>> size(D)ans = 1 3>> reshape(D,3,1)ans = 1x4 double 2x2 double 1x3 cell >> size(ans)ans = 3 17 结构型变量以指针方式传递数据,将不同数据类型组合在一起的数据类型。-定义(1)赋值语句直接定义,以指针操作符.连接结构变量名和属性名;(2)由struct函数定义 结构变量名=struct(元素名1, 元素值1,元素名2, 元素值2, )>> A.a1='abcd'>> A.a2=1;>> A.a3=1,2,3,4;>> AA = a1: 'abcd' a2: 1 a3: 1 2 3 4>> B=1,2;3,4;>> A(2).a1='efgh'>> A(2).a2=2;>> A(2).a3=B;>> AA = 1x2 struct array with fields: a1 a2 a3>> A(1)ans = a1: 'abcd' a2: 1 a3: 1 2 3 4>> A(2)ans = a1: 'efgh' a2: 2 a3: 2x2 double>> C=struct('c1',1,'c2',B, 'c3','abcd')C = c1: 1 c2: 2x2 double c3: 'abcd'>> C.c1=AC = c1: 1x2 struct c2: 2x2 double c3: 'abcd'>> C.c1(1).a1ans =abcd-结构型变量的相关函数-struct 创建或转换结构变量-findnames 得到结构型变量的属性名-getfield 得到结构型变量的属性值-setfield 设定结构型变量的属性值-rmfield 删除结构型变量的属性-isfield 判断是否为结构型变量的属性 -isstruct 判断是否为结构型变量>> fieldnames(C)ans = 'c1' 'c2' 'c3'>> iscell(ans)ans = 1>> D=getfield(C,'c1')D = 1x2 struct array with fields: a1 a2 a3>> C=setfield(C,'c1',2)C = c1: 2 c2: 2x2 double c3: 'abcd'>> C=rmfield(C,'c1')C = c2: 2x2 double c3: 'abcd'>> isfield(C,'c2')ans = 1>> isstruct(C)ans = 12.2 矩阵的基本运算I数和算术表达式3 90 0.0001 9.1234 1.6021e-20 5.02252e23数学运算符:+ - * / (右除) (左除) II数学函数基本三角函数sincosseccsctancot反三角函数asinacosasecacscatanacot双曲函数sinhcoshsechcschtanhcoth反双曲函数asinhacoshasechacschatanhacoth指数和对数explogLog10sqrt复数运算absangleconjrealimag数值函数fixfloorceilroundrem整数函数lcmgcd>> x=5.1x = 5.1000>> fix(x)ans =5>> floor(x)ans =5>> ceil(x)ans =6>> round(x)ans =5>> rem(5,3)ans =2>> sin(1+2i)ans =3.1658 + 1.9596iIII.矩阵及其元素1.矩阵输入的基本方法>> A=1 2 3A = 1 2 3>> A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9>> A=1, 2, 3;4,5,6;7, 8,9A = 1 2 3 4 5 6 7 8 9>> A=1, 2, 34,5,67, 8,9A = 1 2 3 4 5 6 7 8 92矩阵元素的存取Matlab的矩阵元素可以为任何数值表达式。>> x=-1.3 sqrt(3) (1+2+3)*4/5x = -1.3000 1.7321 4.8000>> A=1+5i 2+6iA = 1.0000 + 5.0000i 2.0000 + 6.0000i>> A=1 2; 3 4+i*5 6;7 8A = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000iMatlab的矩阵元素的引用:>> x=A(1,2)x = 2.0000 + 6.0000iMatlab的矩阵的维数自动扩充:>> x=-1.3 sqrt(3) (1+2+3)*4/5x = -1.3000 1.7321 4.8000>> x(5)=abs(x(1)x = -1.3000 17321 4.8000 0 1.3000>> A=1 2;3 4A = 1 2 3 4>> A(3,1)=-1A = 1 2 3 4-1 03.子矩阵的操作大的矩阵可以通过小的矩阵扩充得到:>> A=A;2 1A = 1 2 3 4 -1 0 2 1>> A=A, 1 2 3 4'A = 1 2 1 3 4 2 -1 0 3 2 1 4小的矩阵可以从大的矩阵抽取得到:A(:)A的所有元素;A(:,J)A的第J列所有元素;A(J:K)A(J),A(J+1),A(K);A(:,J:K)A(:,J),A(:,J+1),A(:,K);A(J,:)A的第J行所有元素;A(J:K,:)A(J,:),A(J+1,:),A(K.:);A = 1 2 1 3 4 2 -1 0 3 2 1 4>> y=A(1:3,:)y = 1 2 1 3 4 2 -1 0 3>> x=A(:,1:2)x = 1 2 3 4 -1 0 2 1>> z=A(1:2,2:3)z = 2 1 4 24. “:”运算符的用法用来产生相同增量的向量的方法:>> t=1:5t = 1 2 3 4 5>> x=pi:-pi/3:0x = 3.1416 2.0944 1.0472 0>> x=(0.0:0.2:1.0)';%'表示转置>> y=sin(x); %计算函数值>> x y %组合出矩阵ans = 0 0 0.2000 0.1987 0.4000 0.3894 0.6000 0.5646 0.8000 0.7174 1.0000 0.84155生成特殊矩阵的函数>> rand(1,3)ans = 0.9501 0.2311 0.6068>> rand(3)ans = 0.4860 0.4565 0.4447 0.8913 0.0185 0.6154 0.7621 0.8214 0.7919>> eye(2,3)ans = 1 0 0 0 1 0>> ones(3,2)ans = 1 1 1 1 1 1>> randn(3,2) %标准正态分布ans = -0.4326 0.2877 -1.6656 -1.1465 0.1253 1.1909IV. 矩阵操作1矩阵转置>> A=1,2,3;4,5,6A = 1 2 3 4 5 6>> B=A'B = 1 4 2 5 3 6>> C=1+i,-i;2,1-iC = 1.0000 + 1.0000i 0 - 1.0000i 2.0000 1.0000 - 1.0000i>> D=C' %转置共扼D = 1.0000 - 1.0000i 2.0000 0 + 1.0000i 1.0000 + 1.0000i2对角矩阵diag函数用来生成一个对角矩阵或提取一个矩阵的对角元素:>> diag(2:4)ans = 2 0 0 0 3 0 0 0 4>> AA = 1 2 3 4 5 6>> diag(A)ans = 1 53上/下三角矩阵>> tril(A)ans = 1 0 0 4 5 0>> triu(A)ans = 1 2 3 0 5 6>> fliplr(A)ans = 3 2 1 6 5 4>> flipud(A)ans = 4 5 6 1 2 3V.矩阵运算1加和减>> AA = 1 2 3 4 5 6>> B=1 4 7;2 5 6B = 1 4 7 2 5 6>> C=A+BC = 2 6 10 6 10 12>> D=A-1.0D = 0 1 2 3 4 52乘法>> AA = 1 2 3 4 5 6>> A'ans = 1 4 2 5 3 6>> A*A'ans = 14 32 32 773矩阵除法标量运算时:矩阵运算时:-inv(A)*B;-A*inv(B);>> A=1 2 3A = 1 2 3>> B=1 2 -3; -2 5 6; 7 2 1B = 1 2 -3 -2 5 6 7 2 1>> A/Bans = -0.1818 0.3636 0.2727>> BA'ans = 0.2929 0.4444 0.06064. 矩阵乘方>> BB = 1 2 -3 -2 5 6 7 2 1>> B3ans = 6 -6 114 258 309 150 -98 134 1185数组运算-向量或矩阵间对应元素的运算:.+ .- .* ./ . .>> x=1 2 3x = 1 2 3>> y=4 5 6y = 4 5 6>> z=x.*yz = 4 10 18>> z1=x.yz1 = 1 32 729>> z3=x.2z3 = 1 4 9>> z4=2.xz4 = 2 4 8>> 1 2; 3 4./2 2; 2 2ans = 0.5000 1.0000 1.5000 2.0000>> 1 2; 3 4.2 2; 2 2ans = 2.0000 1.0000 0.6667 0.5000常见数值问题介绍一、 线性方程组求解A*x=bA为m*m阶矩阵, X和b为m阶向量。>> A=1,2,3;4,5,6;7,8,0;>> b=366;804;351;>> det(A)ans = 27>> x=inv(A)*bx = 25.0000 22.0000 99.0000>> x=Abx = 25.0000 22.0000 99.0000广义情况:方程数与未知量数目不等时,线性方程组通常不存在唯一解,但最小二乘解x*是存在唯一。 >> A=1 2 3; 4 5 6; 7 8 0; 2 5 8;>> b=366 804 351 514'>> x=Abx = 247.9818 -173.1091 114.9273二、矩阵函数I.矩阵基本性质1)行列式>> A=rand(3)A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214>> det(A)ans = 0.42892)秩>> rank(A)ans = 33)迹>> trace(A)ans = 2.66284)范数>> A=1 1 1;0 0 0;1 1 1A = 1 1 1 0 0 0 1 1 1>> norm(A) %2-范数ans = 2.4495>> norm(A,inf) % inf-范数ans = 3>> norm(A,1) %1-范数ans = 2II.特征值计算>> A=0 1;-1 0A = 0 1 -1 0>> eig(A)ans = 0 + 1.0000i 0 - 1.0000i>> x,D=eig(A)x = 0.7071 0.7071 0 + 0.7071i 0 - 0.7071iD = 0 + 1.0000i 0 0 0 - 1.0000i-A*X=X*DIII.三角分解>> A=1 2 3;4 5 6; 7 8 9A = 1 2 3 4 5 6 7 8 9>> L,U=lu(A)L = 0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0 0U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000>> L*Uans = 1 2 3 4 5 6 7 8 9>> L,U,P=lu(A)L = 1.0000 0 0 0.1429 1.0000 0 0.5714 0.5000 1.0000U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000P = 0 0 1 1 0 0 0 1 0>> P*Aans = 7 8 9 1 2 3 4 5 6>> L*Uans = 7 8 9 1 2 3 4 5 6IV.正交分解>> A=1 2 3; 4 5 6;7 8 9;10 11 12A = 1 2 3 4 5 6

    注意事项

    本文(Matlab65使用.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开