欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    MbookMATLAB2数值计算.docx

    • 资源ID:11561081       资源大小:268.50KB        全文页数:74页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    MbookMATLAB2数值计算.docx

    1、MbookMATLAB2数值计算第2章 MATLAB数值计算MATLAB的数学计算数值计算符号计算其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。2.1 变量和数据2.1.1数据类型数据类型包括:数值型、字符串型、元胞型、结构型等数值型双精度型、单精度型和整数类整数类无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。2.1.2数据1. 数据的表达方式 可以用带小数点的形式直接表示 用科学计数法 数值的表示范围是10-30910309。以下都是合法的数据表示:-2、5.67、2.56e-5

    2、6(表示2.5610-56)、4.68e204(表示4.6810204)2. 矩阵和数组的概念在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下: 标量:是指11的矩阵,即为只含一个数的矩阵。 向量:是指1n或n1的矩阵,即只有一行或者一列的矩阵。 矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,00矩阵为空矩阵()。 数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。3. 复数 复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。复数运算不需要特殊处理,可以直接进行。复数可以有几种表示: z=a+b*i或z=

    3、a+b*j z=a+bi或z=a+bj(当b为标量时) z=r*exp(i*theta) 得出一个复数的实部、虚部、幅值和相角。 a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角说明:复数z的实部a=r*cos();复数z的虚部b=r*sin();复数z的幅值;复数z的相角theta=arctg(b/a),以弧度为单位。 a=1-2*i a = 1.0000 - 2.0000i real(a) ans = 1 imag(a) ans = -2 abs(a) ans = 2.2361 angle(a)*180/

    4、pi %以角度为单位计算相角ans = -63.4349 2.1.3变量1. 变量的命名规则 变量名区分字母的大小写。例如,“a”和“A”是不同的变量。 变量名不能超过63个字符,第63个字符后的字符被忽略,对于MATLAB6.5版以前的变量名不能超过31个字符。 变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号(如,。%等)。例如,“6ABC”、“AB%C”都是不合法的变量名。 关键字(如if、while等)不能作为变量名。2. 特殊变量MATLAB有一些自己的特殊变量,当MATLAB启动时驻留在内存。表2.1 特殊变量表特殊变量取值ans运算结果的

    5、默认变量名pi圆周率eps计算机的最小数flops浮点运算数inf无穷大,如1/0NaN或nan非数,如0/0、/、0i或 ji=j=nargin函数的输入变量数目nargout函数的输出变量数目realmin最小的可用正实数realmax最大的可用正实数 在MATLAB中系统将计算的结果自动赋给名为“ans”的变量。 2*pi ans = 6.2832 2.2 矩阵和数组MATLAB最基本也是最重要的功能就是进行实数或复数矩阵的运算。2.2.1矩阵输入(1) 矩阵元素应用方括号()括住;(2) 每行内的元素间用逗号或空格隔开;(3) 行与行之间用分号或回车键隔开;(4) 元素可以是数值或表达

    6、式。1. 通过显式元素列表输入矩阵 c=1 2;3 4;5 3*2 % 表示构成矩阵,分号分隔行,空格分隔元素c = 1 2 3 4 5 6 用回车键代替分号分隔行: c=1 23 45 6 1 2 3 4 5 6 2. 通过语句生成矩阵(1) 使用from:step:to方式生成向量 from:to from:step:to说明:from、step和to分别表示开始值、步长和结束值。当step省略时则默认为step=1;当step省略或step0而fromto时为空矩阵,当step0而from1 %得出逻辑向量b b = 0 1 0 1 1 0 1 1 1 a(b) %按单下标顺序排成长列

    7、ans = 3 5 2 4 6 9 3. 矩阵的赋值 全下标方式:a(i,j)=b,给a矩阵的部分元素赋值则b矩阵的行列数必须等于a矩阵的行列数。 clear a a(1:2,1:3)=1 1 1;1 1 1 %给第一、二行元素赋值为全1a = 1 1 1 1 1 1 单下标方式:a(s)=b,b为向量,元素个数必须等于a矩阵的元素个数。 a(5:6)=2 3 %给第5、6元素赋值a = 1 1 2 1 1 3 全元素方式:a(:)=b,给a矩阵的所有元素赋值则b矩阵的元素总数必须等于a矩阵的元素总数,但行列数不一定相等。 a=1 2;3 4;5 6 a = 1 2 3 4 5 6 b=1 2

    8、 3;4 5 6 b = 1 2 3 4 5 6 a(:)=b %按单下标方式给a赋值a = 1 5 4 3 2 6 4. 矩阵元素的删除删除操作就是简单地将其赋值为空矩阵(用表示)。a=1 2 0;3 4 0;5 6 9 a = 1 2 0 3 4 0 5 6 9 a(:,3)= %删除一列元素a = 1 2 3 4 5 6 a(1)= %删除一个元素,则矩阵变为行向量a = 3 5 2 4 6 a= %删除所有元素为空矩阵a = 5. 生成大矩阵在MATLAB中,可以通过方括号“”实现将小矩阵联接起来生成一个较大的矩阵。 a=1 2 0;3 4 0;5 6 9 a = 1 2 0 3 4

    9、0 5 6 9 a;a %联接成63的矩阵ans = 1 2 0 3 4 0 5 6 9 1 2 0 3 4 0 5 6 9 a=1 2 0;3 4 0;5 6 9 a a %联接成36的矩阵ans = 1 2 0 1 2 0 3 4 0 3 4 0 5 6 9 5 6 9 a=1 2 0;3 4 0;5 6 9 a(1:2,1:2) 10*a(1:2,2:3) %计算并联接ans = 1 2 20 0 3 4 40 0 6. 矩阵的翻转a = 1 2 0 3 4 0 5 6 9表2.3 常用矩阵翻转函数函数名功能例子输入结果triu(X)产生X矩阵的上三角矩阵,其余元素补0。triu(a)

    10、ans = 1 2 0 0 4 0 0 0 9 tril(X)产生X矩阵的下三角矩阵,其余元素补0。tril(a) ans = 1 0 0 3 4 0 5 6 9 flipud(X)使矩阵X沿水平轴上下翻转flipud(a) ans = 5 6 9 3 4 0 1 2 0 fliplr(X)使矩阵X沿垂直轴左右翻转fliplr(a) ans = 0 2 1 0 4 3 9 6 5 flipdim(X,dim)使矩阵X沿特定轴翻转。dim=1,按行维翻转;dim=2,按列维翻转。flipdim(a,1) ans = 5 6 9 3 4 0 1 2 0 rot90(X)使矩阵X逆时针旋转900ro

    11、t90(a) ans = 0 0 9 2 4 6 1 3 5 2.2.3字符串在MATLAB中,字符串是作为字符数组来引入的;一个字符串由多个字符组成,用单引号()来界定;字符串是按行向量进行存储的,每一字符(包括空格)是以其ASCII码的形式存放。clear str1=Hello str1 =Hello str2=I like MATLAB %重复单引号来输入含有单引号的字符串str2 =I like MATLAB str3=你好! %支持中文str3 =你好! 1. 字符串占用的字节 whos Name Size Bytes Class str1 1x5 10 char array str

    12、2 1x15 30 char array str3 1x3 6 char arrayGrand total is 23 elements using 46 bytes 2. 字符串函数 length:用来计算字符串的长度(即组成字符的个数)。 double:用来查看字符串的ASCII码储存内容,包括空格(ASCII码为32)。 char:用来将ASCII码转换成字符串形式。 class或ischar:用来判断某一个变量是否为字符串。class函数返回char则表示为字符串,而ischar函数返回1表示为字符串。 strcmp(x,y):比较字符串x和y的内容是否相同。返回值如果为1则相同,为0

    13、则不同。 findstr(x,x1):寻找在某个长字符串x中的子字符串x1,返回其起始位置。 deblank(x ):删除字符串尾部的空格。由于MATLAB将字符串以其相对应的ASCII码储存成一个行向量,因此如果字符串直接进行数值运算,则其结果就变成一般数值向量的运算,而不再是字符串的运算。 length(str1) %字符串长度ans = 5 x1=double(str1) %查看字符串的ASCII码x1 = 72 101 108 108 111 x2=str1+1 %字符串的数值运算x2 = 73 102 109 109 112 char(x1) %将ASCII码转换成字符串形式ans

    14、=Hello char(x2) ans =Ifmmp class(str1) %判断变量类型 ans =char class(x1) ans =double ischar(str1) ans = 1 3. 使用一个变量来储存多个字符串(1) 多个字符串组成一个新的行向量将多个字符串变量直接用“,”连接,构成一个行向量,就可以得到一个新字符串变量。clear str1=Hello; str2=I like MATLAB; str3=你好! str4=str1,! ,str2 %多个字符串并排成一个行向量str4 =Hello! I like MATLAB (2) 使用二维字符数组将每个字符串放在

    15、一行,多个字符串可以构成一个二维字符数组,但必须先在短字符串结尾补上空格符,以确保每个字符串(即每一行)的长度一样。否则MATLAB会提示出错: str5=str1;str3 ? Error using = vertcatAll rows in the bracketed expression must have the same number of columns. str5=str1;str3, %将str3添加两个空格str5 =Hello你好! (3) 使用str2mat、strvcat和char函数使用专门的str2mat、strvcat和char函数可以构造出字符串矩阵,而不必考虑

    16、每行的字符数是否相等,总是按最长的设置,不足的末尾用空格补齐。 str6=str2mat(str1,str2,str3) str6 =Hello I like MATLAB你好! str7=char(str1,str2,str3) str7 =Hello I like MATLAB你好! str8=strvcat(str1,str2) str8 =Hello I like MATLAB whos Name Size Bytes Class str1 1x5 10 char array str2 1x15 30 char array str3 1x3 6 char array str4 1x22

    17、 44 char array str5 2x5 20 char array str6 3x15 90 char array str7 3x15 90 char array str8 2x15 60 char arrayGrand total is 186 elements using 350 bytes 5. 执行字符串如果需要直接“执行”某一字符串,可以使用eval命令,效果就如同直接在MATLAB命令窗口内输入此命令。 str9=a=2*5 str9 =a=2*5 eval(str9) %执行字符串a = 10 6. 显示字符串字符串可以直接使用disp命令显示出来,即使后面加分号(;)也

    18、显示。 disp(请输入2*2的矩阵a) 请输入2*2的矩阵a disp(str1) Hello 2.2.4矩阵和数组运算矩阵运算有明确而严格的数学规则,矩阵运算规则是按照线性代数运算法则定义的;数组运算是按数组的元素逐个进行的。1. 矩阵运算的函数a = 1 2 3 4 5 6 7 8 9表2.4 常用矩阵运算函数函数名功能例子输入结果det(X)计算方阵行列式det(a) ans = 0 rank(X)求矩阵的秩,得出的行列式不为零的最大方阵边长。rank(a) ans = 2 inv(X)求矩阵的逆阵,当方阵X的det(X)不等于零,逆阵X-1才存在。X 与X-1相乘为单位矩阵。inv(

    19、a ) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.541976e-018.ans = 1.0e+016 * -0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504 v,d=eig(X)计算矩阵特征值和特征向量。如果方程Xv=vd存在非零解,则v为特征向量,d为特征值。v,d=eig(a) v = -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082d = 16.1168 0 0 0 -1.1168 0 0 0 -0.0000 diag(X)产生X矩阵的对角阵diag(


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开