河北工业大学MATLAB实验二
MATLAB第二次实验

一、【实验目的】学习利用matlab作已知二维函数或三维函数的图形一、【实验任务】P791.绘制y=e x/3sin(3x) (x∈[0,4π])的图像,要求用蓝色的星号画图;并且画出其包络线y=±3e x/3的图像,用红色的点划线画图。
3.在同一图形窗口画三个子图,要求使用指令gtext、axis、legend、title、xlabel和ylabel: (1)y=xcosx, x∈(-π,π)(2)y=xtan(1/x)sin3x, x∈(π,4π)(3)y=e1/x sinx, x∈[1,8]5.绘制圆锥螺线的图像并加各种备注,圆锥螺线的参数方程为:x=tcos(π/6)ty=tsin(π/6)t (0≤t≤20π)z=2t二、【实验程序】P791.x=0:(pi/50):4*pi;y=exp(x/3).*sin(3*x);z=exp(x/3);c=-exp(x/3);plot(x,y,'b*',x,z,'r.',x,c,'r.')3.x=-pi:pi/50:4*pi;y1=x.*cos(x);y2=x.*tan(1./x).*sin(x.^3);y3=exp(1./x).*sin(x);subplot(1,3,1); plot(x,y1,'r*'),axis([-pi pi -5 5]),grid onlegend('xcosx')xlabel('x轴'),ylabel('y轴')subplot(1,3,2); plot(x,y2),axis([-pi pi -10 10]) ,grid onlegend('xtan(1/x)')xlabel('x轴'),ylabel('y轴')title('曲线y1=xcosx,y2=xtan(1/x)与y3=e^(1/x)sinx')subplot(1,3,3); plot(x,y3,'k.'),axis([1 8 -2.5 2.5]),grid onlegend('e^(1/x)sinx')xlabel('x轴'),ylabel('y轴')gtext('y1=xcosx'),gtext('y2=xtan(1/x)'),gtext('y3=e^(1/x)sinx')5.t=0:(pi/50):(20*pi);x=t.*cos(pi.*t/6);y=t.*sin (pi.*t/6);z=2.*t;plot3(x,y,z), grid onxlabel('x轴'),ylabel('y轴'),zlabel('z轴'); title('圆锥螺线');legend('x^2+y^2=z^2/4')三、【实验结果】P791.3.5.。
Matlab第二次实验报告

Matlab第二次实验报告实验目的:1、了解plot函数和subplot函数的基本用法和matlab绘图的基本原理。
2、了解图形的属性设置。
比如画图的颜色,画图采用的线性标识符等。
二:实验基本知识1:1. 单窗口单曲线绘图;2. 单窗口多曲线绘图;3. 单窗口多曲线分图绘图;4. 多窗口绘图;5.可任意设置颜色与线型;6.图形加注功能;7.fplot——绘制函数图函数;8.ezplot——符号函数的简易绘图函数9:subplot—将画图区域分块函数。
实验内容:将高数课本后的18个图画出上机练习程序第1——6图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º')figure(1);x=-50:1:50;y=a.*x.^3;subplot(3,2,1);plot(x,y,'r');title('y=a*x^3');xlabel('X');ylabel('Y');x=0:1:50;y=sqrt(a.*x.^3);subplot(3,2,2);plot(x,y,x,-y,'r');title('y^2=a*x^3');xlabel('X');ylabel('Y');x=-3:0.1:3;y=exp(-x.^2);subplot(3,2,3);plot(x,y,'r');title('y=e^x^2');xlabel('X');ylabel('Y');x=-3:0.1:3;y=8*a^3./(x.^2+4*a^2);subplot(3,2,4);plot(x,y,'r');title('y=8*a^3./(x.^2+4*a^2)'); xlabel('X');ylabel('Y');x=0:0.01:5;y=sqrt(x.^3./(a*2.-x)); subplot(3,2,5);plot(x,y,x,-y,'r');title('y^2*(2a-x)=x^3'); xlabel('X');ylabel('Y');%t=-1:0.01:5;%x=3*a.*t./(1+t.^3);%y=3*a*t.^2./(1+t.^3);subplot(3,2,6);ezplot('x.^3+y.^3-3*3*x.*y'); %plot(x,y);title('x^3+y^3-3axy=0'); xlabel('X');ylabel('Y');输入a=3:显示结果第7——10图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º')figure(1)t=0:0.1:2*pi;x=a*cos(t).^3;y=a*sin(t).^3;subplot(2,2,1);plot(x,y,'b')title('x^1.5+y^1.5=a^1.5'); xlabel('X');ylabel('Y');t=-2*pi:0.1:2*pi;x=a.*(t-sin(t));y=a.*(1-cos(t));subplot(2,2,2);plot(x,y,'b')title('°ÚÏß');xlabel('X');ylabel('Y');t=0:0.01:2*pi;p=a.*(1-cos(t));subplot(2,2,3);plot(p.*cos(t),p.*sin(t),'b'); title('p=a(1-cos£¨t£©)'); xlabel('X');ylabel('Y');t=0:0.01:2*pi;p=a.*t;subplot(2,2,4);plot(p.*cos(t),p.*sin(t),'b'); title('p=at');xlabel('X');ylabel('Y');输入a=1,第11题图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º') figure(1);t=-2*pi:pi/100:2*pi;p=exp(a.*t);plot(p.*cos(t),p.*sin(t)); title('p=e^at');xlabel('X');ylabel('Y');输入a=0.1,显示结果:clear,clca=input('ÇëÊäÈëaµÄÖµ£º')figure(1)t=0.2*pi:pi/100:100*pi;p=a./t;plot(p.*cos(t),p.*sin(t));title('p=at');xlabel('X');ylabel('Y');输入a=1,显示结果:第13——14题图:clear,clca=input('ÇëÊäÈëaµÄÖµ£º');figure(1);t=0:pi/100:2*pi;p=(a^2.*sin(2*t)).^0.5;subplot(1,2,1);plot(p.*cos(t),p.*sin(t),-p.*cos(t),-p.*sin(t),'g'); title('p^2=a^2*sin(2t)');xlabel('X');p=(a^2.*cos(2*t)).^0.5;subplot(1,2,2);plot(p.*cos(t),p.*sin(t),-p.*cos(t),-p.*sin(t),'g'); title('p^2=a^2*cos(2t)');xlabel('X');ylabel('Y');输入a=1,显示结果:第15-16题图:clear;clc;a=input('ÇëÊäÈëa:');figure(1)t=0:pi/200:pi;p=a.*cos(3*t);subplot(1,2,1);plot(p.*cos(t),p.*sin(t),'r--');title('p=a*cos(3t)');xlabel('X');p=a.*sin(3*t);subplot(1,2,2);plot(p.*cos(t),p.*sin(t),'r--'); title('p=a*sin(3t)');xlabel('X');ylabel('Y');输入a=1,显示结果:第17——18题图:clear;clc;a=input('ÇëÊäÈëa:');figure(1);t=-pi:pi/200:pi;subplot(1,2,1);p=a.*sin(2*t);plot(p.*cos(t),p.*sin(t),'k-.'); title('p=a*sin(2t)');xlabel('X');ylabel('Y');p=a.*cos(2*t);subplot(1,2,2);plot(p.*cos(t),p.*sin(t),'k-.');title('p=a*cos(2t)');xlabel('X');ylabel('Y');输入a=1,显示结果:实验心得:这次实验主要是学习matlab软件的二维绘图功能:matlab软件还有丰富的图形修饰功能,如改变线条的形式和颜色;除此之外其还可以以多种形式如在一个图形中显示多个函数图形,一个figure中显示多个坐标系,还有一个程序中就可以用多个figure一起来表示不同的函数……在画图过程中你可能因为角度的区间取值不一样,画出来的图形可能跟书本上给出的图形有很大的差异,但没关系,只要你思路是对的,区间可以自己慢慢改动知道跟书本上给出的图形想接近。
北工大自控matlab实验报告

自动控制原理实验报告一、试验设计构造一个二阶闭环系统,使得该系统的%30≥p M对于任意二阶系统,其闭环传递函数为2222)(G nn nc s s s ωξωω++=,其中ξ为二阶系统的阻尼比,n ω为二阶系统的无阻尼振荡频率,该系统的超调量为πξξ21--=e M p 。
若要%30≥p M ,则0.36≤ξ。
取0.3=ξ,又n ω任意,所以取20=n ω,则要求设计的闭环传递函数为40012400)(2++=s s s G c 。
二、实验内容及步骤1.以MATLAB 命令行的方式,进行系统仿真,确定系统时域性能指标 num=[400]; den=[1 12 400]; step(num,den)由图可知,该系统的超调量为%30%37>=p M ,满足要求,上升时间为0985.0=r t ,峰值时间为164.0=p t ,调节时间为0.472=s t 。
2.通过改变系统的开环放大倍数K (分增大和减小两种情况)和系统的阻尼比系数(分增大和减小两种情况),进行系统仿真分析,确定新的性能指标,并与原构造系统的进行比较,根据响应曲线分析并说明出现的现象 (1)增大开环放大倍数num=[500]; den=[1 12 500]; step(num,den)由图可知,该系统的超调量为%30%42>=p M ,上升时间为0858.0=r t ,峰值时间146.0=p t ,调节时间0.48=s t 。
(2)减小开环放大倍数 num=[300]; den=[1 12 300]; step(num,den)由图可知,该系统的超调量为%30%31>=p M ,上升时间为119.0=r t ,峰值时间为0.1921=p t ,调节时间为0.455=s t 。
(3)增大阻尼比 num=[400];den=[1 12.4 400]; step(num,den)由图可知,该系统的超调量为%30%36>=p M ,上升时间为0995.0=r t ,峰值时间为0.163=p t ,调节时间为0.486=s t 。
matlab实验二

北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。
2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。
3.能用Matlab 进行基本的数组、矩阵运算。
4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。
5.掌握Matlab 中的关系运算与逻辑运算。
(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。
(四)实验程序设计1.利用diag 等函数产生下列矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。
3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。
4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。
MATLAB实验二

3. 三维图形
• 三、视点
➢view(az,el)-------------设置观察点方向
az为方位角,el为仰角。 • 方位角为视点位置在XY平面上的投影与X轴形成的角度,
正值表示逆时针,负值表示顺时针。 • 仰角为XY平面的上仰或下俯角,正值表示视点在XY平
面上方,负值表示视点在XY平面下方。
figure grid gtext hold subplot text title xlabel ylabel
创建图形窗口 放置坐标网格线 用鼠标放置文本 保持当前图形窗口内容 创建子图 放置文本 放置图形标题 放置X轴坐标标记 放置Y轴坐标标记
3. 三维图形 • 一、 plot3函数
• 将二维函数plot的功能扩展到三维空间,绘制三维图形。 • 函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)
theta=[0:0.01:2*pi];
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho); 绘制极坐标图命令
title('polar plot');
例9、程序:
theta=linspace(0, 2*pi);
r=cos(4*theta);
polar(theta, r);
所组成的画面。
4. 动画设计
• 【例14】 播放一个不断变化的眼球程序段。
• m=moviein(20); 建立一个20个列向量组成的矩阵
• for j=1:20
•
plot(fft(eye(j+10))) %绘制出每一幅眼球图并保存到m矩阵中
• m(:,j)=getframe;
(最新版)河北工业大学数字图像处理之matlab实验报告

实验一一、实验要求1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。
2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。
3、说明以下程序的显示结果为何是一幅几乎全黑的图像。
clear; close all;myi=zeros(20,20);myi(2:2:18,2:2:18)=1;myi=uint8(myi);figure, imshow(myi,'notruesize');编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。
4、应用MATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。
5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。
orangutan_1.tif orangutan_2.tif iris.tif图一二、实验内容1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱2,图像的读、写、显示和图像类型参数查看通过 I= imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;1)通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。
2)通过imshow(I),可以把I图像显示出来。
3)例如:在matlab软件中,运行如下命令:I = imread('E:\orangutan_2.tif');figure,imshow(I)I1 = imread('E:\iris.tif');figure,imshow(I1)imwrite(I,'E:\iris.tif','tif')I2 = imread('E:\iris.tif');figure,imshow(I2)原图:orangutan_2.tif iris.tif运行结果:可以看到orangutan_2.tif已成功写入 iris.tif中。
MatLAB第二次实验

自动控制理论实 验 报 告姓 名 班 级 成 绩_______________学 号 日 期 合作者________________________________________________________________________________________________一、实验题目:利用MATLAB 求系统的的瞬态性能指标 二、实验目的:1、熟悉并掌握MatlAB 软件在工程计算中的应用。
2、求系统的的瞬态性能指标。
三、实验仪器:电脑、MatlAB 软件; 四、实验内容用impulse 函数求单位脉冲响应,step 求求单位阶跃响应。
程序:%a_1.mt=[0:0.01:0.8] %num_G=[50];tao=0;den_G=[0.05 1+50*tao 50];G1=tf(num_G ,den_G);tao=0.0125;den_G=[0.05 50*tao tao 50];G2=tf(num_G ,den_G); tao=0.025;den_G=[0.05 1+50*tao 50];G3=tf(num_G ,den_G); %[y1,T]=impulse(G1,t);[y1a,T]=step(G1,t); [y2,T]=impulse(G2,t);[y2a,T]=step(G2,t); [y3,T]=impulse(G3,t);[y3a,T]=step(G3,t); %subplot(1,2,1)plot(T,y1,'r-',T,y2,'g-',T,y3,'b-')legend('tao=0','tao=0.0125','tao=0.025') xlabel('t(sec)') ylabel('x(t)'); grid on;subplot(1,2,2)plot(T,y1a,'r-',T,y2a,'g-',T,y3a,'b-')legend('tao=0','tao=0.0125','tao=0.025') grid on;xlabel('t(sec)') ylabel('x(t)');二、用lsim函数求任意输入响应程序:%3_2.mclc;t=[0:0.01:1];u=sin(2*pi*t);%tao=0.025;num_G=[50];den_G=[0.05 1+50*tao 50];G=tf(num_G,den_G);%y=lsim(G,u,t);%plot(t,u,'r-',t,y,'g-',t,u','b',t,y','r',t,u'-y,'b-','linewidth',1)legend('u(t)','xo(t)','u(t)','xo(t)','e(t)=u-y')grid;xlabel('t(sec)')ylabel('x(t)');三、利用MATLAB求系统的的瞬态性能指标程序:close all;%t=0:0.001:1;%yss=1;dta=0.02;%num_G=[50];tao=0;den_G=[0.05 1+50*tao 50];G1=tf(num_G,den_G);tao=0.0125;den_G=[0.05 1+50*tao 50];G2=tf(num_G,den_G);tao=0.025;den_G=[0.05 1+50*tao 50];G3=tf(num_G,den_G);y1=step(G1,t);y2=step(G2,t);y3=step(G3,t);%r=1;while y1(r)<yss;r=r+1;endtr1=(r-1)*0.001;%[ymax,tp]=max(y1);tp1=(tp-1)*0.001;%mp1=(ymax-yss)/yss;%s=1001;while y1(s)>1-dta & y1(s)<1+dta;s=s-1;endts1=(s-1)*0.001;%τ=0.0125r=1;while y2(r)<yss;r=r+1;endtr2=(r-1)*0.001;[ymax,tp]=max(y2);tp2=(tp-1)*0.001;mp2=(ymax-yss)/yss;s=1001;while y2(s)>1-dta &y2(s)<1+dta;s=s-1;endts2=(s-1)*0.001;%τ=0.025r=1;while y3(r)<yss;r=r+1;endtr3=(r-1)*0.001;[ymax,tp]=max(y3);tp3=(tp-1)*0.001;mp3=(ymax-yss)/yss;s=1001;while y3(s)>1-dta & y3(s)<1+dta;s=s-1;endts3=(s-1)*0.001;%[tr1 tp1 mp1 ts1;tr2 tp2 mp2 ts2;tr3 tp3 mp3 ts3]结果:ans =0.0640 0.1050 0.3509 0.3530 -------系统10.0780 0.1160 0.1523 0.2500 -------系统20.1070 0.1410 0.0415 0.1880 -------系统3任课教师:。
MATLAB数学实验第二版课后练习题含答案

MATLAB数学实验第二版课后练习题含答案课后练习题MATLAB数学实验第二版的课后练习题如下:第一章课后练习题1.编写MATLAB程序,计算并输出下列公式的结果:y = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}}其中,x, $\\mu$, $\\sigma$ 分别由用户输入。
要求输出结果精确至小数点后两位。
答案如下:x=input('请输入 x 的值:');mu=input('请输入 mu 的值:');sigma=input('请输入 sigma 的值:');y=1/sqrt(2*pi*sigma^2) *exp(-(x-mu)^2/ (2*sigma^2));fprintf('y = %.2f\', y);2.编写MATLAB程序,求解下列方程的解:4x + y = 11\\\\x + 2y = 7答案如下:A= [4,1;1,2];B= [11;7];X=inv(A) *B;fprintf('x = %.2f, y = %.2f\', X(1), X(2));第二章课后练习题1.编写MATLAB程序,计算下列多项式的值:P(x) = x^4 - 2x^3 + 3x^2 - x + 1其中,x 由用户输入。
要求输出结果精确至小数点后两位。
答案如下:x=input('请输入 x 的值:');y=x^4-2*x^3+3*x^2-x+1;fprintf('P(%.2f) = %.2f\', x, y);2.编写MATLAB程序,绘制下列函数的图像:f(x) = \\begin{cases} x + 1, & x < 0 \\\\ x^2, & 0 \\leq x < 1 \\\\ 2x - 1, & x \\geq 1 \\end{cases}答案如下:x=-2:0.01:2;y1=x+1;y2=x.^2.* ((x>=0) & (x<1));y3=2*x-1;plot(x,y1,x,y2,x,y3);legend('y1 = x + 1','y2 = x^2','y3 = 2x - 1');总结本文提供了《MATLAB数学实验第二版》的部分课后练习题及其答案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《MATLAB 程序设计》实验报告一、实验目的:1、掌握矩阵和数组的表示与赋值方法2、了解字符串、结构和单元等数据类型在MATLAB 中的使用3、掌握MATLAB 中基本的数值运算,了解基本统计函数的使用4、掌握多项式基本运算以及线性方程组的求解方法二、实验内容:1、利用“:”操作符和linspace 函数生成数组a=[0,6,12,18,24,30,36,42],并将数组a 分别转化为4*2和2*4的矩阵。
2、在MATLAB 中输入矩阵3681-5722176916-121513-210A ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,并使用MATLAB 回答以下的问题:(1) 创建一个由A 中第2列到第4列所有元素组成的4Χ3数组B ;(2) 创建一个由A 中第3行到第4行所有元素组成的2Χ4数组C ;(3) 创建一个由A 中前两行和后三列所有元素组成的2Χ3数组D ;(4) 根据A 利用单下标方法和双下标方法分别创建向量a =[-5 6 15]和向量b =[6 8 1],并利用向量a 和b 生成矩阵5668151E -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦; (5) 利用“[]”删除矩阵A 的第二行和第三列。
3、利用ones()函数和zero()函数生成如下矩阵:0000001110013100111000000A ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦4、生成矩阵412303214A --⎡⎤⎢⎥=-⎢⎥-⎢⎥⎣⎦: (1) 取出所有大于0的元素构成一个向量a (可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)。
(2) 将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。
5、已知⎥⎦⎤⎢⎣⎡=654321a ,⎥⎦⎤⎢⎣⎡-=531142b ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=201c ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d 下列运算是否合法,为什么?如合法,写出计算结果?(1) result1=a '(2) result2=a *b(3) result3=a +b(4) result4=b *d(5) result5=[b ;c ']*d(6) result6=a .*b(7) result7=a ./b(8) result8=a .*c(9) result9=a .\b(10)result10=a .^2 (11)result11=a ^2 (12) result11=2.^a6、已知134********,122438,[1,0,8,3,6,2,4,23,46,6]78276853a b c -⎡⎤⎡⎤⎢⎥⎢⎥===-⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦(1) 求a +b ,a *b ,a .*b ,a /b ,a ./b ,a ^2,a .^2的结果,并观察运算结果。
(2) 求c 中所有元素的平均值、最大值、中值,并将c 中元素按从小到大顺序排列。
(3) 解释b (2:3,[1,3])的含义,并将生成的数组赋值给d 。
关系运算与逻辑运算7、已知a =20,b =-2,c =0,d =1,计算下列表达式:(1) r 1=a >b(2) r 2=a >b &c >d(3) r 3=a ==b *(-10)(4) r 4=~b |c8、已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A (1) 求矩阵A 的秩(rank);(2) 求矩阵A 的行列式(determinant);(3) 求矩阵A 的逆(inverse);(4) 求矩阵A 的特征值及特征向量(eigenvalue and eigenvector)。
9、已知多项式f 1(x )=2x 4-x 2+3x +2,f 2(x )=3x +2,利用MATLAB 进行如下计算:(1) 计算两多项式的乘法和除法;(2) 求多项式f 1(x )的根;(3) 分别计算多项式当x =3以及1324x ⎡⎤=⎢⎥⎣⎦时的值。
10、用两种方法求下列方程组的解,并比较两种方法执行的时间。
12345123451234512345123457 149251003 151******** 92573005 7141624002 512114500x x x x x x x x x x x x x x x x x x x x x x x x x +--+=⎧⎪----=⎪⎪---++=⎨⎪+++-=⎪-++--=⎪⎩ 11、建立一个元胞数组,要求第一个元素为4Χ4的魔术矩阵,第二个元素为18.66,第三个元素为'matlab',第四个元素为等差数列7,9,11,13…99。
计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第10个元素。
12、建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。
问题是:(1)如何找到第2个人的分数并显示出来;(2)如何找到第2个人的每门课程3个阶段的平均分数并显示出来;(3)所有同学的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里;(4)找到这个班所有同学的姓名放到一个元胞数组里;13、完成以下操作:(1)已有str=‘decision 20 made on 10/20/10’,查找字符串中20出现的位置。
(2)有字符串s1=‘matlabexpress’,s2=‘matlabexcellent’,比较两个字符串的前8个字符是否相同,相同输出1,否则输出0。
(3)统计字符串s1=‘matlabexpress’中ex出现的次数,并替换为EX。
三、源程序和实验结果1.>> a=[0:6:42]a =0 6 12 18 24 30 36 42>> linspace(0,42,8)ans =0 6 12 18 24 30 36 42>> reshape(a,4,2)ans =0 246 3012 3618 42>> reshape(a,2,4)ans =0 12 24 366 18 30 422.>> A=[3 6 8 1;-5 7 22 17;6 9 16 -12;15 13 -21 0]A =3 6 8 1-5 7 22 176 9 16 -1215 13 -21 0(1)>> B=A(:,2:4)B =6 8 17 22 179 16 -1213 -21 0(2)>> C=A(3:4,:)C =6 9 16 -1215 13 -21 0(3)>> D=A(1:2,2:4)D =6 8 17 22 17(4)>> a=[A(2) A(5) A(4)]a =-5 6 15>> b=[A(5) A(9) A(13)]b =6 8 1>> a=[A(2,1) A(1,2) A(4,1)]a =-5 6 15>> b=[A(1,2) A(1,3) A(1,4)]b =6 8 1>> E=[a' b']E =-5 66 815 1>> A(2,:)=[]A =3 6 8 16 9 16 -1215 13 -21 0>> A(:,3)=[]A =3 6 16 9 -1215 13 03.>> A=zeros(5)A =0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0 >> A(2:4,2:4)=ones(1)A =0 0 0 0 00 1 1 1 00 1 1 1 00 1 1 1 00 0 0 0 0 >> A(3,3)=3*ones(1)A =0 0 0 0 00 1 1 1 00 1 3 1 00 1 1 1 00 0 0 0 0 4.>> A=[-4 -1 2;-3 0 3;-2 1 4]A =-4 -1 2-3 0 3-2 1 4(1)>> k=find(A>0)k =6789>> a=A(k)a =1234(2)>> m=find(A<=0)m =12345>> A(m)=0A =0 0 20 0 30 1 4 5.>> a=[1 2 3;4 5 6]a =1 2 34 5 6 >> b=[2 4 -1;1 3 5]b =2 4 -11 3 5 >> c=[1;0;-2]c =1-2>> d=[1 4 7;8 5 2;3 6 0]1 4 78 5 23 6 0(1)>> result1=a'result1 =1 42 53 6(2)不合法,两个矩阵的维数不一致>> result2=a*b??? Error using ==> mtimesInner matrix dimensions must agree.(3)>> result3=a+bresult3 =3 6 25 8 11(4)>> result4=b*dresult4 =31 22 2240 49 13(5)>> result5=[b;c']*dresult5 =31 22 2240 49 13-5 -8 7>> result6=a.*bresult6 =2 8 -34 15 30(7)>> result7=a./bresult7 =0.5000 0.5000 -3.00004.0000 1.6667 1.2000 (8)不合法,元素个数不一样>> result8=a.*c??? Error using ==> timesMatrix dimensions must agree. (9)>> result9=a.\bresult9 =2.0000 2.0000 -0.33330.2500 0.6000 0.8333 (10)>> result10=a.^2result10 =1 4 916 25 36(11)不合法,维数不一致>> result11=a^2??? Error using ==> mpower Matrix must be square.(12)>> result12=2.^aresult12 =2 4 816 32 646.>> a=[1 3 4;5 12 44;7 8 27]a =1 3 45 12 447 8 27>> b=[-7 8 4;12 24 38;68 -5 3]b =-7 8 412 24 3868 -5 3>> c=[1,0,8,3,6,2,-4,23,46,6]c =1 0 8 3 62 -4 23 46 6 (1)>> a+bans =-6 11 817 36 8275 3 30>> a*bans =301 60 1303101 108 6081883 113 413>> a.*bans =-7 24 1660 288 1672476 -40 81 >> a/bans =0.0966 0.0945 0.0080-3.6125 1.5838 -0.5778-1.9917 0.9414 -0.2682>> a./bans =-0.1429 0.3750 1.00000.4167 0.5000 1.15790.1029 -1.6000 9.0000>> a^2ans =44 71 244373 511 1736236 333 1109 >> a.^2ans =1 9 1625 144 193649 64 729 (2)>> y=mean(c,2)y =9.1000>> y=mean(c)y =9.1000>> y1=mean(c)y1 =9.1000>> y2=max(c)y2 =46>> y3=median(c)y3 =4.5000>> [Y,I]=sort(c)Y =-4 0 1 2 3 6 6 8 23 46I =7 2 1 6 4 5 10 3 8 9 (3)选出b矩阵的2到3行,1列和3列的元素>> d=b(2:3,[1,3])d =12 3868 37.>> a=20,b=-2,c=0,d=1a =20b =-2c =d =1(1)>> r1=a>br1 =1(2)>> r2=a>b&c>dr2 =(3)>> r3=a==b*(-10)r3 =1(4)>> r4=~b|cr4 =8.>> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13]A =7 2 1 -29 15 3 -2-2 -2 11 51 32 13(1)>> rank(A)ans =4(2)>> det(A)ans =12568(3)>> inv(A)ans =0.1744 -0.0303 -0.0125 0.0270-0.1050 0.0789 -0.0121 0.00060.0083 0.0173 0.0911 -0.03110.0095 -0.0185 -0.0103 0.0795(4)>> [C,D]=eig(A)C =-0.7629 0.0919 + 0.0640i 0.0919 - 0.0640i -0.02990.6223 0.6087 + 0.0276i 0.6087 - 0.0276i 0.26370.0807 -0.7474 -0.7474 0.6434 -0.1554 0.0342 - 0.2374i 0.0342 + 0.2374i 0.7180D =4.8554 0 0 00 12.6460 + 1.8333i 0 00 0 12.6460 - 1.8333i 00 0 0 15.8526 9.>> f1=[2,-1,3,2];>> f2=[3,2];(1)>> x=conv(f1,f2)x =6 17 12 4>> [y,z]=deconv(f1,f2)y =0.6667 -0.7778 1.5185z =0 -0.0000 0 -1.0370(2)x=roots(f1)x =0.5000 + 1.3229i0.5000 - 1.3229i-0.5000(3)>> x1=3;>> X2=[1 3;2 4]X2 =1 32 4>> y1=polyval(f1,x1)y1 =56>> y2=polyval(f1,X2)y2 =6 5620 126>> y3=polyval(f2,x1)y3 =11>> y4=polyval(f2,X2)y4 =5 118 1410.>> 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] A =7 14 -9 -2 53 -15 -13 -6 -4-11 -9 -2 5 75 7 14 16 -2-2 5 12 -11 -4>> B=[100;200;300;400;500]B =100200300400500(1)>> x=A\Bx =370.9455-224.7276238.3333-138.1891503.6378(2)>> x=rref([A,B])x =1.0000 0 0 0 0 370.94440 1.0000 0 0 0 -224.72730 0 1.0000 0 0 238.33330 0 0 1.0000 0 -138.18920 0 0 0 1.0000 503.6364 两个方法速度差不多,肉眼不能分辨11.>> A={magic(4),18.66,'matlab',[7:2:99]}A =[4x4 double] [18.6600] 'matlab' [1x47 double] >> A{1,1}ans =16 2 3 135 11 10 89 7 6 124 14 15 1>> A{1,1}(4,2)+A{1,2}+A{1,3}(2)+A{1,4}(10)ans =154.660012.>> ='Jim';>> student.age=20;>> student.score=randint(3,10,[60,100])student =name: 'Jim'age: 20score: [3x10 double]>> student(2).name='Bob';>> student(2).age=20;>> student(2).score=randint(3,10,[60,100])>> student(2)ans =name: 'Bob'age: 20score: [3x10 double]>> student(3).name='Tim';>> student(3).age=20;>> student(3).score=randint(3,10,[60,100]);(1)>> A=student(2).scoreA =88 61 88 61 91 80 89 87 64 7361 63 73 77 92 78 90 86 80 8371 93 98 75 67 86 71 66 99 69 (2)>> Y=mean(A)Y =Columns 1 through 873.3333 72.3333 86.3333 71.0000 83.3333 81.3333 83.3333 79.6667Columns 9 through 1081.0000 75.0000(3)>> B=student(1).score+student(2).score+student(3).scoreB =271 246 241 230 283 219 266 242 248 239228 244 220 237 240 223 268 263 242 244216 255 263 244 257 253 231 246 280 219>> a=B./3a =Columns 1 through 890.3333 82.0000 80.3333 76.6667 94.3333 73.0000 88.6667 80.666776.0000 81.3333 73.3333 79.0000 80.0000 74.3333 89.3333 87.666772.0000 85.0000 87.6667 81.3333 85.6667 84.3333 77.0000 82.0000Columns 9 through 1082.6667 79.666780.6667 81.333393.3333 73.0000(4)>> a={student(1).name,student(2).name,student(3).name}a ='Jim' 'Bob' 'Tim'13.(1)>> str='decision 20 made on 10/20/10'str =decision 20 made on 10/20/10>> k=findstr(str,'20')k =10 24(2)>> s1='matlabexpress';>> s2='matlabexcellent';>> s3=s1(1:8)s3 =matlabex>> s4=s2(1:8)s4 =matlabex>> a=strcmp(s3,s4)a =1(3)>> k=findstr(s1,'ex')k =7>> g=length(k)g =1>> s1(7:8)='EX's1 =matlabEXpress。