MATLAB实验2016剖析.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB实验2016剖析

实验一 MATLAB基本运算 (五)矩阵的运算 运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等; 常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形) 例5: A=[2 0 –1;1 3 2]; B=[1 7 –1;4 2 3;2 0 1]; M = A*B % 矩阵A与B按矩阵运算相乘 det_B = det(B) % 矩阵A的行列式 rank_A = rank(A) % 矩阵A的秩 inv_B = inv(B) % 矩阵B的逆矩阵 [V,D] = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D X = A/B % A/B = A*B-1,即XB=A,求X Y = B\A % B\A = B-1*A,即BY=A,求Y (六)上机练习 1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过; 2.输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A 3.输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,…,10; c=1:2:20 i=1:10 c(i) 4.查找已创建变量的信息,删除无用的变量; 5.创建如下变量: 在0-3 均匀的产生10个点值,形成10维向量 A=linspace(0,3,10)) 3*3阶单位距阵 B=eye(3),随机距阵 randn(3,3),魔方距阵 magic(3),全0距阵 zeros(3,3),全1距阵 E=ones(3,3), 求方程组的解 A=[1 2 2;2 1 2;3 4 5]; B=[2 5 6]; x=A/B x = 0.3692 0.3231 0.8615 实验二 MATLAB程序设计? ?三、实验内容: ??1、熟悉MATLAB程序编辑与设计环境 2、用for循环语句实现求1~100的和。 sum=0; for i=1:100 sum=sum+i; end sum ?3、用for循环语句实现编写一个求n阶乘的函数文件。function y=a(n) y=1; for i=1:n y=y*i; end ?4、?利用for循环求1!+2!+3!+?…?+5!的值 sum=0;y=1; for i=1:5 y=y*i; sum=sum+y; end sum sum = 153 ?5、已知一维数组A=[2,4,5,8,10],B=[4,6,9,3,4],用for循环语句实现, 求和函数可用sum()。 A=[2 4 5 8 10]; B=[4 6 9 3 4]; sum=0; for i=1:5 C(i)=(A(i)*B(5-i+1)); sum=sum+C(i); end sum sum = 153 6、编写程序,计算1+3+5+7+…+(2n+1)的值(用input语句输入n 值)。 sum=0; n=input(Please input a number:); t=2*n+1; for i=1:2:t sum=sum+i; end 四 运行下列参考例题程序,观察运行结果: 用for循环计算100!和 解: s=0; p=1; for m=1:100 s=s+m; p=p*m; end disp([100!=,num2str(p)]) disp([sigma(1-100)=,num2str(s)]) 编程计算函数y=|x|+|x-2|,x从屏幕输入 解: x=input(x=) if x0 y=-x-(x+2); elseif 0x2 y=2; else y=2*x-2; end disp([y=,num2str(y)]) 分别用for循环和while循环求1000以内所有奇数之和。 解:方法一用for循环 s=0; for m=1:2:999 s=s+m; end disp([s=,num2str(s)]) 方法二用while循环 s=0; m=1; while

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档