实验二 数组
更新时间:2024-04-07 02:57:01 阅读量: 综合文库 文档下载
- 实验二小推荐度:
- 相关推荐
MATLAB原理及应用
实
验
报
告
实验二 数组(矩阵)及其运算
一.实验目的
1、掌握MATLAB软件环境下进行的数值数组(矩阵)的创建和访问的基本方法。 2、掌握数值数组(矩阵)的算术运算、逻辑运算 二.实验设备
计算机、MATLAB软件 三.实验内容和程序
?2?13??121?????1、建立A??25?1?和B??31?5?
???4?11???4103??(1)求矩阵A和B的积,矩阵A左除B,以及矩阵A的2次方
(2)求数组A和B的积,数组A左除B,及数组A的2次方 程序:(1)
>> A=[1,2,1;2,-5,-1;4,10,3] A =
1 2 1 2 -5 -1 4 10 3 >> B=[2 -1 3;3 1 -5;4 -1 1] B =
2 -1 3 3 1 -5 4 -1 1 >> C1=A*B; >> C2=A\\B; >> C3=A^2; >> C1,C2,C3 C1 =
12 0 -6 -15 -6 30 50 3 -35 C2 =
0.9333 0.4000 -2.1333 -0.7333 0.4000 -1.4667 2.5333 -2.2000 8.0667 C3 =
9 2 2 -12 19 4
36 -12 3 (2)
>> D1=A.*B; >> D2=A./B; >> D3=A.^2; >> D1,D2,D3 D1 =
2 -2 3 6 5 5 16 -10 3 D2 =
0.5000 -2.0000 0.3333 0.6667 5.0000 0.2000 1.0000 -10.0000 3.0000 D3 =
1 4 1 4 25 1 16 100 9
?15253?1?4611842.建立矩阵 A???6?13125??21310684?3?? 8??5?(1)用两种方法索引出A矩阵第3行第2列的元素,并将其值改为自己的学号加20
(2)索引出A矩阵第2行至第4行、第二列至第5列的所有元素 程序:(1) >> A=[15 2 5 3 -1 4 4 6 11 8 4 3 6 -1 3 12 5 8 2 13 10 6 8 5] A =
15 2 5 3 -1 4 4 6 11 8 4 3 6 -1 3 12 5 8 2 13 10 6 8 5 >> a=A(3,2) a =
-1
>> A(7) ans = -1 >> A(3,2)=56 A =
15 2 5 3 -1 4 4 6 11 8 4 3 6 56 3 12 5 8 2 13 10 6 8 5 (2)>> B=A(2:4,2:5) B =
6 11 8 4 56 3 12 5 13 10 6 8
3、使用两种方法建立范围为[0,20]的向量,使得向量中的元素相邻元素的间隔是2
(1)改变第二个元素的值,并将其赋给一个新的变量(学号加20),并求两个向量的点积
(2)从第二个元素开始提取三个元素,并与向量[1 2 3]做叉积 程序:(1) >> A=0:2:20 A =
0 2 4 6 8 10 12 14 16 18 20 >> B=A B =
0 2 4 6 8 10 12 14 16 18 20 >> B(2)=56 B =
0 56 4 6 8 10 12 14 16 18 20
(2)>> b=B(3:5) b =
4 6 8 >> c=[1,2,3] c =
1 2 3 >> D=cross(b,c) D =
2 -4 2
?64、 复数z1?3?4i,z2?1?2i,z3?2e表达,及计算
iz?z1z2z3。
程序:
>> z1=3+4*i;z2=1+2*i;z3=2*exp(pi*i/6); >> z=z1*z2*z3 z =
-18.6603 +12.3205 5、建立随机矩阵:
(1) 在区间[10,学号加40]内均匀分布的5阶随机矩阵A。然后判断A的元素能否被3整除。
(2) 均值为(学号/10)、方差为(100*学号)的5阶正态分布随机矩阵 (3) 对(1)向右取整,对(2)向左取整数 程序:(1)>> a=10+(36+40-10)*rand(5) a =
63.7718 16.4377 20.4025 19.3645 53.2789 69.7823 28.3809 74.0591 37.8362 12.3570 18.3811 46.0942 73.1730 70.4385 66.0425 70.2828 73.1955 42.0348 62.2857 71.6436 51.7357 73.6826 62.8185 73.3265 54.7965
显然不能被3整除
(2)>> b=36/10+36*100*randn(5)
b =
1.0e+04 *
0.3728 0.3202 0.5182 -0.0364 -0.0105 0.2620 -0.4126 0.1174 -0.0866 -0.0590 -0.1089 -0.3844 -0.2714 0.1153 0.2263 0.1062 -0.2911 0.4937 0.1130 0.3939 -0.2831 -1.0596 -0.6158 -0.3110 0.3997
(3)对(1)向右取整:
>> ceil(a) ans =
64 17 21 20 70 29 75 38 19 47 74 71 71 74 43 63 52 74 63 74 对(2)向左取整:
>> floor(b) ans =
3728 3201 2620 -4126 -1089 -3845 1061 -2911 -2831 -10596
54 13 67 72 55
5181 1174 -2715 4936 -6158 -365 -105 -866 -590 1152 2263 1129 3939 -3110 3996
实验三 MATLAB的符号运算
2221.提取符号表达式ar?u?z?m的自由变量
(当符号表达式中含有多余一个符号变量时,只有一个变量是独立变量,其余的符号当作常量。如果不指定那一个变量当作是自由变量,matlab将基于一定原则选择一个自由变量。) 提示:findsym(s,n) 程序:>> syms a r u z m
>> h=sym('a+r^2+u^2+z+m^2'); >> findsym(h) ans = a,m,r,u,z
x3?x2?12x?5? 2.在MATLAB中计算多项式的父母和分子
x2?23x?2 (提示:使用[n,d]=numden(A))
程序:>> A=sym('(x^3+x^2+1)/(x^2+2)+(2*x+5)/(3*x-2)');
>> [n,d]=numden(A) n =
3*x^4 + 3*x^3 + 3*x^2 + 7*x + 8 d =
(3*x - 2)*(x^2 + 2)
33223x?x?x 2.1、建立符号函数235
(1)提取该表达式的分子和分母,并分别付给两个变量 (2)对这两个变量分别进行代数运算(加减乘除及乘方) 程序:(1)>> A=sym('3/2*x^3+2/3*x^2+3/5*x');
>> [n,d]=numden(A) n =
45*x^3 + 20*x^2 + 18*x d = 30
(2)>> a1=n-d;
>> a2=n+d; >> a3=n*d; >> a4=n/d; >> a5=n^d;
>> a=[a1;a2;a3;a4;a5] a =
45*x^3 + 20*x^2 + 18*x - 30 45*x^3 + 20*x^2 + 18*x + 30 1350*x^3 + 600*x^2 + 540*x (3*x^3)/2 + (2*x^2)/3 + (3*x)/5 (45*x^3 + 20*x^2 + 18*x)^30
3.在MATLAB中,按照不同的方式合并表达式(x项。
程序:>> syms x y
3?e?yx2?y)?(xy?e3yx)的参数类
>> f=sym('(x^3+exp(-y)*x^2-y)*(sqrt(x)*y+exp(3*y)*x)'); >> R1=collect(f,x); >> R2=collect(f,y);
>> R3=collect(f,exp(y)); >> R2=collect(f,exp(y)); >> R=[R1;R2;R3] R =
x^4*exp(3*y) - x^(1/2)*y^2 + x^3*(exp(2*y) + x^(1/2)*y) - x*y*exp(3*y) + x^(5/2)*y*exp(-y)
(x*exp(3*y) + x^(1/2)*y)*(x^3 + exp(-y)*x^2 - y)
(x*exp(3*y) + x^(1/2)*y)*(x^3 + exp(-y)*x^2 - y)
2?t?t?t(x?xe?1)(x?e)的同类项。 e3.1.按来合并表达式
程序:>> syms x t
>> f=sym('(x^2+x*exp(-t)+1)*(x+exp(-t))'); >> collect(f,exp(-t)) ans =
x*exp(-2*t) + (2*x^2 + 1)*exp(-t) + x*(x^2 + 1) 4、使用simple和simplify两个指令分别化简f?3个结果有什么不同
程序:>> f=sym((1/(3*x^3)+6/(4*x^2)-5/x+8)^(1/3));
165???8,比较两3x34x2x>> simplify(f) ans =
((48*x^3 - 30*x^2 + 9*x + 2)/(6*x^3))^(1/3) >> simple(f) simplify:
(6^(2/3)*((48*x^3 - 30*x^2 + 9*x + 2)/x^3)^(1/3))/6 radsimp:
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) simplify(100):
((48*x^3 - 30*x^2 + 9*x + 2)/(6*x^3))^(1/3) combine(sincos):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) combine(sinhcosh):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) combine(ln):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) factor:
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) expand:
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) combine:
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) rewrite(exp):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) rewrite(sincos):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) rewrite(sinhcosh):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) rewrite(tan):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) mwcos2sin:
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) collect(x):
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3) ans =
(3/(2*x^2) - 5/x + 1/(3*x^3) + 8)^(1/3)
xx2x3???的和。5.求级数1+x+x+…+x+…和1??(使用symsum函数)
11?21?2?32
k
程序:>> symsum(x^k,k,0,inf) ans =
piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)]) >> symsum(x^k/sym('k!'),k,0,inf) ans = exp(x)
6.分别求下例积分
b4111dxdx(1)? (2) (3)?a1?x2?01?x2dx 1?x2 程序:(1)>> f=sym('1/(1+x^2)'); >> int(f) ans = atan(x)
(2) >> syms a b >> int(f,a,b) ans =
atan(b) - atan(a) (3) >> int(f,0,4) ans = atan(4)
>> eval(ans) ans =
1.3258
7.
y?sin(x?2) 求y' 、y'' 、y'''
2 程序:>> y=sym('sin(x^2+2)');
>> diff(y) ans =
2*x*cos(x^2 + 2) >> diff(y,2)
ans =
2*cos(x^2 + 2) - 4*x^2*sin(x^2 + 2) >> diff(y,3) ans =
- 12*x*sin(x^2 + 2) - 8*x^3*cos(x^2 + 2)
?x2?2x?1?0?2?4?x?3z8. 求三元非线性方程组 ?2y?z2??1的解 ?程序:>> A=sym('x^2+2*x+1=0');
>> B=sym('x^2+3*z'); >> C=sym('2*y+z^2'); >> [x,y,z]=solve(A,B,C) x = -1 y = -1/18 z = -1/3
实验四 MATLAB程序设计
?x2?1x?1?1.为 y??x?2x?1?x2?1x?1?编写赋值程序。
建立M文本程序: x=input('x='); if x>1
y=x^2+1; else if x==1 y=x+2; else x<1
y=x^2-1; end end
保存为”ex2.m”文件 运行程序如下
>> ex2 x=1 >> y y = 3
2.使用for ... end循环的array向量编程求出 1+4+7...+200 的值 程序: >> s=0;
>> for k=1:3:200 s=s+k; end >> s s =
6700
3.计算1+4+7...+200 的值,当和大于2000时终止计算。 程序:>> s=0; >> for k=1:3:200; if s>2000
break; else s=s+k; end end >> s s =
2035 >> k k = 112
3.计算从1开始多少个自然数之和超过200。 >> s=0;
>> for k=1:1:200; if s>200 break; else s=s+k; end end >> k k = 21 >> s s = 210
4.求1!+3!+5!+……+11!的值。 程序: >> s=0; >> m=1;
>> for n=1:2:11; m=m*n; s=s+m; end
>> s s =
11464
5.写程序,判断一年是否为闰年,符合下面两条件之一:(1994~2014) A、能被4整除,不能被100整除 B、能被4整除,不能被400整除
程序:
>> k=0;
>> for y=1994:2014;
if((rem(y,4)==0&rem(y,100)~=0)|(rem(y,4)==0&rem(y,400)~=0)); k=k+1; end end >> k k = 4
实验五 MATLAB计算机可视化与GUI
1、编写程序绘制如下图形(时间间隔自己设定)
图中曲线标注:sin(t)标注在(1.7*pi,-0.3),cos(t)标注在(1.6*pi,0.8) 程序:
>> t=0:0.01:4*pi; >> y=sin(t); >> y1=cos(t);
>> plot(t,y,'r',t,y1,'--b') >> text(1.7*pi,-0.3,'sint') >> text(1.6*pi,0.8,'cost')
2.使用subplot指令在不同区域画出下列曲线
y=sinAx;y=cosAx;y=Aex,y=x^2。x的取值范围是[0,15],A为自己的学号。 程序:
>> x=0:0.1:15; >> y1=sin(36*x); >> subplot(2,2,1); >> plot(x,y1); >> y2=cos(36*x); >> subplot(2,2,2); >> plot(x,y2); >> y3=(36*exp(x)); >> subplot(2,2,3); >> plot(x,y3);
>>y4=x.^3; >>subplot(2,2,4); >>plot(x,y4);
3.画出衰减振荡曲线y?esin3t及其它的包络线y0?e。t的取值范围是[0,4?],图的标题字体大小(fontsize)为10号,字体(fontname)宋体,字体风格为斜体1(it)字体,并选择合适的位置在图上标注自己的学号,姓名,以及作图日期,字体大小、字体风格自己指定。 程序:
>> t=0:0.01:4*pi; >> y0=exp(-t/3); >> y1=-exp(-t/3);
>> y=exp(-t/3).*sin(3*t);
>> plot(t,y0,'--b',t,y,'r',t,y1,'--b'); >> title('y=e^(-t/3)sin(3t)及它的包络线
','fontsize',10','fontweigh','bold','fontangle','italic'); >> text(8.5,-0.6,['姓名:谢述春
'],'fontsize',10','fontweigh','bold','fontangle','italic'); >> text(8.5,-0.7,['学号:1201064236
' ],'fontsize',10','fontweigh','bold','fontangle','italic');
?t3?t3>> text(8.5,-0.8,[' 作图时间:2014.5.18
'],'fontsize',10','fontweigh','bold','fontangle','italic');
正在阅读:
实验二 数组04-07
观看交通安全第一课个人心得感悟精选范文2022年八篇精选08-03
苏辙《南康直节堂记》原文及翻译02-08
情系下乡,暖和相牵10-29
高中一年级物理必修二-第六章《万有引力与航天》复习练习题及参考答案05-05
《检察实务》参考答案剖析03-06
员工职级晋升管理办法12-08
2022中考落榜生能读民办高中吗 落榜后能读哪些黉舍03-30
内科题库4泌尿02-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数组
- 实验
- 饲料生产各种记录
- 第二章 会计要素与会计等式练习题
- 水热合成法制备氧化钇粉体的研究 - 图文
- 六年级语文基础一
- 细胞克隆形成实验
- 泉州事业单位招聘备考:行测—言语理解题及解析(三)
- 世界经理人学堂
- 人工智能在制造业中的应用
- 如何在高中化学实验教学中渗透绿色化学理念
- 2018新版部编本二年级下册语文《当世界年纪还小的时候》教学设计
- 2018年宪法知识竞赛试题150题及答案
- 国有企业转让单一债权后又以该债权转让前未经评估为由主张合同无
- Ceuqxe雅思写作万能模板11
- 我所用过的德头漫谈- - - - 徕卡R系、contax - 图文
- 新编实用英语电子教案Unit 3
- 蒋维崧先生杂忆
- 2017年6月英语六级听力原文(卷一)
- 长沙市幼儿园一日活动常规 - 图文
- 基于STM32的高频无线调制信号分析仪的设计与实现
- 南怀瑾所列佛学入门必读书籍的一些注本以及其他经论的注本