文档库 最新最全的文档下载
当前位置:文档库 › matlab实验4,5,8

matlab实验4,5,8

matlab实验4,5,8
matlab实验4,5,8

实验四:线性方程组的求解(2课时)1.参考程序:

方法一:A=[7 14 -9 -2 5;3 -15 -13 -6 -4;-11 -9 -2 5 7;5 7 14 16 -2;-2 5 12 -11 -4]

B=[100;200;300;400;500]

X=A\B

X =

370.9455

-224.7276

238.3333

-138.1891

503.6378

方法二:

[x1,x2,x3,x4,x5]=solve('7*x1+14*x2-9*x3-2*x4+5*x5=100','3*x1-15*x2 -13*x3-6*x4-4*x5+200','-11*x1-9*x2-2*x3+5*x4+7*x5=300','5*x1+7*x 2+14*x3+16*x4-2*x5=400','-2*x1+5*x2+12*x3-11*x4-4*x5=500','x1','x 2','x3','x4','x5')

x1 =

115735/312

x2 =

-70115/312

x3 =

715/3

x4 =

-43115/312

x5 =

157135/312

2.参考程序:

A=[6 9 14 -11 5;1 14 -7 -15 -6;-2 1 -7 12 -1;6 11 11 -9 -13] B=[68;294;-441;103]

X=A\B

X =[X1; X2; X3; X4; X5]

-26.3759

-5.4126

-38.3960

-8.2392

3.参考程序:

A=[0 0 -1 0;0 20 40 0;60 0 40 0;0 0 40 40];

B=[0;10;50;-40];

I=A\B

I =[Ia Ib Ic Id]

0.8333

0.5000

-1.0000

实验五:函数编写与程序设计(2课时)

1.参考程序:

function [y,y1,y2]=mwave(f1,m1,f2,m2)

t=0:2*pi/(500-1):2*pi;

y1=m1*sin(2*pi*f1*t);

y2=m2*sin(2*pi*f2*t);

y=y1+y2;

figure

subplot(311); plot(t,y1); title('y12¨D?'); subplot(312); plot(t,y2); title('y22¨D?'); subplot(313); plot(t,y); title('y=y1+y22¨D?'); [y,y1,y2]=mwave(2,20,05,2)

01234567

-200

20y1波形

01234567

-20

2y2波形

01234567

-50

50y=y1+y2波形

2.

a=1; s=0 for i=1:64 s=s+a; a=2*a; end n=s/1.4/10^8 s = 0

1.3176e+011

3.for x=0:19

for y=0:33

for z=0:100

if (x+y+z==100)&(5*x+3*y+z/3==100)

d=[x,y,z]

end

end

end

end

d =

0 25 75

d =

4 18 78

d =

8 11 81

12 4 84

实验八:线性时不变系统的时域响应

1.参考程序:

x=[zeros(1,4),1,zeros(1,15)]; >> subplot(1,2,1) >> stem(k,x)

>> y=[zeros(1,4),ones(1,16)] >> subplot(1,2,2) >> stem(k,y)

00.10.20.30.40.50.60.70.80.91

00.10.20.30.40.50.60.70.80.91

2. 参考程序: f=2;

>> t=0:0.001:2; >> w=2*pi*f*t; >> y=square(w,30) >> axis([0 2 0 2]); >> hold on >> plot(t,y)

00.20.40.60.811.21.41.61.82

00.10.20.30.40.50.60.70.80.91

3. 参考程序:

k=0.5; >> z=[1,-3]'; >> p=[-1,-2,-4]';

>> sys_zpk=zpk(z,p,k)

Zero/pole/gain:

0.5 (s-1) (s+3)

-----------------

(s+1) (s+2) (s+4)

>> [b,a]=zp2tf(z,p,k); >> sys_tf=tf(b,a)

Transfer function:

0.5 s^2 + s - 1.5

----------------------

s^3 + 7 s^2 + 14 s + 8

实验三 MATLAB绘图(含实验报告)

实验三 MATLAB 绘图 一、实验目的 1.掌握二维图形的绘制。 2.掌握图形的标注 3.了解三维曲线和曲面图形的绘制。 二、实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 设计提示 1.Matlab 允许在一个图形中画多条曲线:plot(x1,y1,x2,y2,……) 指令绘制y 1 = f 1(x 1), y 2 = f 2 (x 2 )等多条曲线。Matlab 自动给这些曲线以不同颜色。标注可用text 函数。 2.绘图时可以考虑极坐标和直角坐标的转换。 3.三维曲线绘图函数为plot3,注意参考帮助中的示例。 三、实验内容 1.生成1×10 维的随机数向量a ,分别用红、黄、蓝、绿色绘出其连线图、 杆图、阶梯图和条形图,并分别标出标题“连线图”、“杆图”、“阶梯图”、“条形图”。 2、绘制函数曲线,要求写出程序代码。 (1) 在区间[0:2π]均匀的取50个点,构成向量t (2) 在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲 线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号。 (3) 分别在靠近相应的曲线处标注其函数表达式。 3.将图形窗口分成两个绘图区域,分别绘制出函数: ???+-=+=1 352221x x y x y 在[0,3]区间上的曲线,并利用axis 调整轴刻度纵坐标刻度,使1y 在[0,12] 区间上,2y 在[-2,1.5]区间上。 4.用mesh 或surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的

取值范围设为[-3,3]。 10102 2y x z +-= 思考题: 1. 编写一个mcircle(r)函数,调用该函数时,根据给定的半径r ,以原点 为圆心,画一个如图所示的红色空心圆。(图例半径r=5);左图参考 polar 函数的用法,右图绘制圆形的参数方程为x=sin (t ),y=cos (t )。其中,t 的区间为0~2*pi ,步长为0.1。 2.(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5, 每圈上升高度为1。如左图所示。 (2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。

数学软件MATLAB实验报告 实验八

实验八:概率论与数理统计的MATLAB 实现 实验目的与要求: 能运用MATLAB 提供的针对概率统计课程的工具箱。 实验内容: 1、用normpdf函数计算正态概率密度函数。 该函数的调用格式为:Y=normpdf(X,MU,SIGMA) 2、用normpdf函数计算正态分布的分布函数。 该函数的调用格式为:F=normcdf(X,MU,SIGMA) 3、用chi2inv函数计算卡方分布的分布函数的逆函数。 分布函数的逆函数及其调用格式:x=chi2inv(P,v) 4、随机取8只活塞环,测得他们直径为(以mm计): 74.001 74.005 74.003 74.001 74.000 73.998 74.006 74.002 。 设环直径的测量值服从正态分布,现估计总体的方差2 程序代码: x=[74.001 74.005 74.003 74.001 74.000 73.998 74.006 74.002]; p=mle('norm',x); sigma2hatmle=p(2)^2 5、从一批灯泡中随机的取5只做寿命试验,测得寿命(以小时计)为: 1050 1100 1120 1250 1280 设灯泡寿命服从正态分布,求灯泡寿命平均值的95%置信区间。 程序代码: x=[1050 1100 1120 1250 1280]; [p,ci]=mle('norm',x,0.05) 6、下面列出的是某工厂随机选取的20只部件的装配时间(分): 9.8 10.4 10.6 9.6 9.7 9.9 10.9 11.1 9.6 10.2

10.3 9.6 9.9 11.2 10.6 9.8 10.5 10.1 10.5 9.7 设装配时间的总体服从正态分布,标准差为0.4,是否可以认为装配时间的均值在0.05的水平上不小于10. 0H :10<μ vs 1H :10≥μ 程序: %正态总体的方差已知时的均值检验 x1=[9.8 10.4 10.6 9.6 9.7 9.9 10.9 11.1 9.6 10.2]; x2=[10.3 9.6 9.9 11.2 10.6 9.8 10.5 10.1 10.5 9.7]; x=[x1 x2]'; m=10;sigma=0.4;a=0.05; [h,sig,muci]=ztest(x,m,sigma,a,1) 因此,在0.05的水平下,可以认为装配时间的均值不小于10。 7、某种电子元件的寿命x (以小时计)服从正态分布,2 δμ和均未知。现测得16只元件的寿命如下: 159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170 问是否有理由认为元件的平均寿命大于225(小时)? 0H :225≤μ vs 1H :225>μ 程序: %正态总体的方差求知时的均值检验 x=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170]; m=225;a=0.05; [h,sig,muci]=ttest(x,m,a,1)

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

MATLAB全部实验及答案

MATLAB全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (1)设A=15;B=20;求C=A+B与c=a+b? (2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与 A.*B? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那 个是虚数矩阵,后面那个出错 (6)请写出完成下列计算的指令: a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=? a^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

matlab实验(西北农林科技大学)

课程实验报告 学年学期2015-2016学年第2学期 课程名称MATLAB与科学计算 实验名称实验一 MATLAB环境与数值计算实验室测量测绘实验中心计算机室专业年级土木13级 学生姓名 学生学号 20130 提交时间 2016-06-02 成绩 任课教师王增红 水利与建筑工程学院

实验一 MATLAB环境与数值计算 1、目的和要求 (1)熟练掌握MATLAB的启动和退出、MATLAB的命令窗口;常用选单和工具栏,通过实例初步认识对MATLAB的命令和程序运行等。 (2)熟练掌握MATLAB变量的使用; (3)熟练掌握矩阵的创建、掌握MATLAB的矩阵和数组的运算; (4)熟悉MATLAB多项式的运用,掌握MATLAB的拟合和插值方法、积分运算和统计运算。2、内容和步骤 参见教材实验一、二。 3、实验报告提交要求 (1)用MALTAB命令和M程序两种方式求解三元一次方程组。 答:以求解三元一次方程组{2a?b+3c=5 3a+b?5c=5 4a?b+c=9 为例: (2)用MALTAB命令和M程序两种方式求解3×3复数矩阵的模和相角。答:

(3)创建一个4╳4矩阵,求逆矩阵、产生对角矩阵、求矩阵的秩等。 (5)创建一个一元四次多项式,进行多项式求值,求根计算。 432

(6)创建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并分别进行一阶、二阶拟合,图示原始数据和拟合结果 (7)自建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并用线性、相邻点和三次插值,图示其插值结果。 解: (8)给出多组温度的测定值(内含平均温度、最低、最高温度),并求其平均温度、最低、最高温度的平均值、标准差等。 解: >> a=fix(40*rand(6,3)+1)

matlab实验内容答案

实验报告说明: matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。 第一次实验内容: 实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MA TLAB 的方法。 2.熟悉MA TLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MA TLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。 (1)2 2sin 8511z e ?= + (2 )12ln(2 z x =+ ,其中2120.45 5i +? ? =? ?-?? (3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02 a a e e z a a --= +=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 (4)2 2 2 01 41 1221 23 t t z t t t t t ?≤

12344347873657A -????=??????,131203327B -???? =????-?? 求下列表达式的值: (1)A+6=B 和A-B+I(其中I 为单位矩阵)。 (2)A*B 和A.*B 。 (3)A^3和A^.3 。 (4)A/B 和B\A 。 (5)[A ,B]和[A([1,3],;);B^2] 。 3.设有矩阵A 和B 12345678910111213141516171819202122232425A ????????=????????, 30 161769 23497041311B ?? ?? -?? ??=-?? ????? ? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MA TLAB 工作空间使用情况。 4.完成下列操作: (1)求[100,999]之间能被21整除的数的个数。 提示:先利用冒号表达式,再利用find 和length 函数。 (2)建立一个字符串向量,删除其中的大写字母。 提示:利用find 函数和空矩阵。 第二次实验内容: 实验三 选择结构程序设计 一、实验目的 1. 掌握建立和执行M 文件的方法。 2. 掌握利用if 语句实现选择结构的方法。 3. 掌握利用switch 语句实现多分支选择结构的方法。 4. 掌握try 语句的使用。 二 、实验内容

Matlab实验五分支结构程序设计答案

实验五分支结构程序设计 实验内容 (1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear >> format long g s=input('s=') n=fix(log10(s)); A=0; for i=1:n a=fix(s/10^n); x=fix(mod(s,10^i)/10.^(i-1)); A=A+x*10^(n+1-i); end A+a s=693 s = 693 ans = 396 (2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现 2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息 If语句 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理');

elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩98 a = 98 A 成绩合理 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理'); elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩148 a = 148 成绩错误 switch语句 >> a=input('输入成绩') switch a; case num2cell(0:59) disp('E 成绩合理'); case num2cell(60:69) disp('D 成绩合理'); case num2cell(70:79) disp('C 成绩合理'); case num2cell(80:89) disp('B 成绩合理'); case num2cell(90:100) disp('A 成绩合理'); otherwise disp('成绩错误'); end

MATLAB)课后实验答案[1]

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221ln(1)2 z x x =++,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t t ?≤=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果: m=100:999; n=find(mod(m,21)==0); length(n) ans = 43 (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是: ch='ABC123d4e56Fg9'; k=find(ch>='A'&ch<='Z'); ch(k)=[] ch =

matlab实验十--周期函数

实验十周期函数 【实验目的】 1.了解周期函数的基本概念。 2.了解周期函数经过四则运算、复合运算、求导运算、积分运算后的周期性。 3.学习、掌握MATLAB软件有关命令。 【实验内容】 从图形上观察六个三角函数的周期性。 【实验准备】 1.周期函数的基本概念 函数() f x是以T为周期的周期函数是指对任何x,有 += ()() f x T f x 使得上式成立的最小正数T称为函数的最小正周期。 2.周期函数的四则运算 3.周期函数的最小正周期 【实验重点】 1、周期函数的四则运算与复合 2、周期函数的求导与积分运算 【实验难点】 1、最小正周期的确定 【实验方法与步骤】 练习 1 图形上观察六个三角函数

sinx,cosx,tanx,cotx,secx,cscx的周期性。绘制正弦函数y=sinx 在区间[-6π,6π]的图形,相应的MATLAB代码为 >>x=-6*pi:2*pi/30:6*pi; >>y=sin(x); >>plot(x,y); >>xlabel('x');ylabel('y'); 运行结果见图10.1。 从图形中可以看出y=sinx为周期函数,最小正周期T≈6。实际上,最小正周期T=2π=6.28…。同样,可以画出余弦函数y=cosx的图形,见图10.2,其最小正周期也为T=2π。

画正切函数y=tanx 的图形时,要注意函数在,0,1,2,...2x k k π π=+=±±是不连续,所以我们只能分别绘出函数在区间(,),0,1,2,...22k k k ππ ππ-+=±±的图形。相应的MATLAB 代码为 >>x=-1.5:0.01:1.5; >>x1=x-pi;x2=x+pi; >>y=tan(x);y1=tan(x1);y2=tan(x2); >>plot(x,y,x1,y1,x2,y2); >>xlabel('x');ylabel('y'); 运行结果见图10.3。

Matlab实验

MATLAB实验报告 学校:湖北文理学院 学院:物理与电子工程学院 专业:电子信息工程 学号: 2013128182 姓名:张冲 指导教师:宋立新

实验一 MATLAB环境的熟悉与基本运算 一、实验目的: 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验内容 1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明, 学习使用指令eye(其它不会用的指令,依照此方法类推) 2、学习使用clc、clear,观察command window、command history和workspace 等窗口的变化结果。 3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、 exerc2、exerc3……),学习使用MATLAB的基本运算符。 三、练习 1)help rand,然后随机生成一个2×6的数组,观察command window、 command history和workspace等窗口的变化结果。 2)学习使用clc、clear,了解其功能和作用。 3)用逻辑表达式求下列分段函数的值 4)求[100,999]之间能被21整除的数的个数。(提示:rem,sum的用法) 四、实验结果 1)

2)clc:清除命令窗口所有内容,数值不变;clear:初始化变量的值。3) 4)

实验二 MATLAB数值运算 一、实验目的 1、掌握矩阵的基本运算 2、掌握矩阵的数组运算 二、实验内容 1)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10) 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)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A第2 行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有 元素。 4)两种运算指令形式和实质内涵的比较。设有3个二维数组A 2×4,B 2×4 ,C 2×2 , 写出所有由2个数组参与的合法的数组运算和矩阵指令。 5)学习使用表4列的常用函数(通过help方法) 6)学习使用表5数组操作函数。 7)生成一个3行3列的随机矩阵,并逆时针旋转90°,左右翻转,上下翻转。 8)已知a=[1 2 3],b=[4 5 6],求a.\b和a./ b 9)用reshape指令生成下列矩阵,并取出方框内的数组元素。 三、实验结果 1)C(i)表示C中的第i个的数值;

Matlab实验第一次实验答案

实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

matlab所有实验及答案

实验二 习题 1、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵?? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) 2、 建立一个数值范围为0—100内4*5的整数随机矩阵。 求出大于50的元素的位置。 解:命令为: G=int8(100*rand(4,5)) find(G>50) 3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B 4、 利用函数产生3*4阶单位矩阵和全部元素都为8的 4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B 5、 创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

matlab实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

实验一Matlab基本操作-新版.pdf

实验一Matlab基本操作 题目: 1.利用基本矩阵产生 3x3 和15x8 的单位阵,全 1 阵,全0 阵,均匀分布的随 机阵([-1,1]之间),正态分布随机阵(方差4,均值1) 2.利用diag()函数和rot90()产生下列矩阵: 然后求解a 阵的逆矩阵aa 及b 阵的特征值和对应特征向量,并利用reshape 将 aa 阵变换成行向量。 3.产生一均匀分布在(-5,5)随机阵(50x2),精确到小数点后一位。 4.编程实现当α∈[-π,π],间隔为1o 时,求解正弦和余弦的值,并利用plot() 函数绘制正弦,余弦曲线。 5.利用rand 函数产生(0,1)间均匀分布的10x10 随机矩阵a,然后统计a 中大于等于0.6 的元素个数。 6.利用randn 函数产生均值为0,方差为 1 的10x10 正态分布随机阵,然后统计其 中大于-0.5,小于0.5 的元素个数。 7.编程实现下表功能: 8.有一矩阵a,找出矩阵中其值大于 1 的元素,并将他们重新排列成列向量b。9.在一保定市区9 月份平均气温变化测量矩阵temp_Baoding_sep 中(48x30),存在有奇异值(大于42o C,小于0o C),编程实现删除奇异值所在的行。 10.在给定的100x100 矩阵中,删除整行内容全为0 的行,删除整列内容全为0 的列。 程序: 1. %3X3矩阵 a1=eye(3) a2=ones(3) a3=zeros(3) a4=1-2*rand(3) a5=2*randn(3)+1 %15X8矩阵 b1=eye(15,8) b2=ones(15,8) b3=zeros(15,8) b4=1-2*rand(15,8) b5=2*randn(15,8)+1 运行结果:

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

MATLAB实验题目及答案

实验二一维二维数组的创建和寻访 一、实验目的 1、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

matlab基础实验

实验一 MATLAB基础知识 一、实验目的 1.熟练掌握Matlab的启动与退出; 2. 熟悉Matalb的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb的数据类型; 4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理 二、实验设备 1.方正电脑 2.MATLAB软件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B; (2) 删除矩阵A的第7号元素; (3) 将矩阵A的每个元素加上30; (4) 求矩阵A的大小和维数; (5) 将矩阵A的右下角3*2矩阵构成矩阵C; (6) 输出[-5,5]范围内的所有元素; 程序: A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] %(1) B=A(2:5,[1 3 5]) %(2) A2=A; A2(7)=[] %(3) A3=A+30 %(4) length(A) size(A) %(5) C=A(end-2:end,end-1:end) %(6) A6=A.*(A>=-5 & A<=5) 结果: A =

3 4 -1 1 -9 10 6 5 0 7 4 -16 1 -4 7 -1 6 -8 2 -4 5 -6 12 -8 -3 6 -7 8 -1 1 8 -4 9 1 3 0 B = 6 0 4 1 7 6 2 5 12 -3 -7 -1 A2 = Columns 1 through 7 3 6 1 2 -3 8 5 Columns 8 through 14 -4 -4 6 -4 -1 0 7 Columns 15 through 21 5 -7 9 1 7 -1 - 6 Columns 22 through 28 8 1 -9 4 6 12 -1 Columns 29 through 35 3 10 -16 -8 -8 1 0 A3 = 33 34 29 31 21 40 36 35 30 37 34 14

实验八MATLAB状态空间分析报告

实验八 线性系统的状态空间分析 §8.1 用MATLAB 分析状态空间模型 1、状态空间模型的输入 线性定常系统状态空间模型 x Ax Bu y Cx Du =+=+ 将各系数矩阵按常规矩阵形式描述。 [][][]11 121120 10 1;;;n n n nn n n A a a a a a a B b b b C c c c D d ==== 在MA TLAB 里,用函数SS()来建立状态空间模型 (,,,)sys ss A B C D = 例8.1 已知某系统微分方程 22d d 375d d y y y u t t ++= 求该系统的状态空间模型。 解:将上述微分方程写成状态空间形式 0173A ??=??--??,01B ??=???? []50C =,0D = 调用MATLAB 函数SS(),执行如下程序 % MATLAB Program example 6.1.m A=[0 1;-7 -3]; B=[0;1]; C=[5 0]; D=0; sys=ss(A,B,C,D) 运行后得到如下结果 a = x1 x2 x1 0 1

x2 -7 -3 b = u1 x1 0 x2 1 c = x1 x2 y1 5 0 d = u1 y1 0 Continuous-time model. 2、状态空间模型与传递函数模型转换 状态空间模型用sys 表示,传递函数模型用G 表示。 G=tf(sys) sys=ss(G) 状态空间表达式向传递函数形式的转换 G=tf(sys) Or [num,den]=ss2tf(A,B,C,D) 多项式模型参数 [num,den]=ss2tf(A,B,C,D,iu) [z,p,k]=ss2zp(A,B,C,D,iu) 零、极点模型参数 iu 用于指定变换所需的输入量,iu 默认为单输入情况。 传递函数向状态空间表达式形式的转换 sys=ss(G) or [A,B,C,D]=tf2ss(num,den) [A,B,C,D]=zp2ss(z,p,k) 例 8.2 11122211220.560.050.03 1.140.2500.1101001x x u x x u y x y x -??????????=+??????????-????????????????=??????? ????? 试用矩阵组[a ,b ,c ,d]表示系统,并求出传递函数。

相关文档