- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab7.x程序设计第二章
第2章 MATLAB 运算基础(2);2.4 稀疏数组 ;2.4.2稀疏数组的建立; sparse(m,n)
功能:生成一个m×n的所有元素都是0的稀疏矩阵。 ;转换函数full的格式为:
full(A)
功能:返回和稀疏存储矩阵A对应的完全存储方式矩阵。;例2-28 演示sparse和full的功能。;2 生成函数;例2-29 演示spconvert的功能。; spdiags的格式为:
A=spdiags(B,d,m,n)
功能:返回带状稀疏矩阵A。
参数m,n为原带状矩阵的行数与列数。B为r×p阶矩阵,这里r=min(m,n),p为原带状矩阵所有非零对角线的条数,矩阵B的第i列即为原带状矩阵的第i条非零对角线, d为长度为p的向量。;例2-30 演示spdiags的功能。; 函数eye,rand和 randn产生完全存储方式的矩阵,对应的稀疏矩阵函数是speye,sprand和sprandn。
;例2-31 分析下列语句的功能。;2.5 矩阵和数组的运算;2.5.1 矩阵和数组的算术运算;例2-32 设 求 A-2B。;2 矩阵和数组的乘法运算;例2-33 求乘积 AB 和 BA。;例2-34 求 (AB)T和BT×AT(T为转置运 算)。;3 矩阵和数组的除法运算;除法运算的运算符为.\和./,分别数组为数组的左除和右除,表示数组的相应元素相除。两个矩阵必须同型时才可以进行数组除法运算。;例2-35 求解方程组;2.5.2 矩阵和数组的乘方运算;数组乘方运算有下列形式:;2.5.3矩阵和数组的数学函数;例2-36 求30。、60。和90。的正弦、 余弦、正切和余切函数值。;例2-37 求0.1,0.2,0.3,0.4,0.5,0.6 的反正弦、反余弦和反正切值。;例2-38 求1到10的自然对数和常用 对数。;2.6 字符串;例2-39 建立任意的两个字符串,并查看字 符串占用的字节信息。;常用的字符串函数 ;2.6.2 字符串的连接和替换 ;例2-40 分析下列语句的执行结果。;2.6.3字符串比较函数;例2-41 分析下列语句的执行结果。;2.6.4字符串转换函数;int2str(X)
功能:将整数X转换为字符串;例2-42 分析下列语句的功能。;2.7 元胞数组;1 赋值语句;查看a的各个元素的信息:
a{1,1}
a{1,2}
a{2,1}
a{2,2};例2-44 用为各元胞元素赋值的方法创建元 胞数组。;2 由各元胞元素赋值创建;例2-45 由各元胞元素赋值创建元胞。;显示元胞数组的内容的函数:;2.7.2 转换函数;例2-46 元胞数组与其他数组的转换。;X = zeros(3,4)+5;C = mat2cell(X,[1 2],[1 3])
%矩阵分解为元胞数组
A=[1 2 3 4; 5 6 7 8; 9 10 11 12];
C=num2cell(A)
%转换数值数组为元胞数组;2.7.3 元胞数组的使用;例2-47 演示元胞数组的直接引用方法。;2 扩展元胞数组;3 删除元胞数组;2.8 构架数组;1? 赋值语句;如查看构架数组的内容,语句为:
s
如查看构架数组的某一个域内容,语句为:
s.name; s(2).name=Zhang Le;
s(2).number
s(2).sex=man;
构架数组的第二个元素可以被通过增加下标实现。
如查看构架数组的各个域名,语句为:
s;可通过下面的语句查看s的内容:
s(1),
s(2);2 创建函数;例 2-51 应用struct函数可以创建例2-50的构架数组。;3 转换函数;例2-52 应用cell2struct函数可以创建同 上的构架数组。;2.8.2域的增加和删除;例2-53 给出构架数组s的全部域名。;2 增加和删除域;例2-54 演示通过赋值语句增加域的方法。在已建立的构架数组s的基础上,增加课程成绩域exams(三门功课),并删除s的域sex。;2.8.3 构架数组元素的引用;averge=(s(2).exams(1)+s(2).exams(2)+s(2).exams(3))/3 %求平均值
s(2).aver=averge %增加aver域,并赋值为平均值
这时s成为1x2 构架数组,并有域name、number、class、exams和aver。;2.8.4 getfield
文档评论(0)