河北工业大学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数学实验第二版》的部分课后练习题及其答案。
实验二MATLAB程序设计含实验报告

实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。
matlab实验二

实验2 MATLAB数值计算、符号运算功能一、实验目的1、掌握建立矩阵、矩阵分析与处理的方法。
2、掌握线性方程组的求解方法。
3、掌握数据统计和分析方法、多项式的常用运算。
4、掌握求数值导数和数值积分、常微分方程数值求解、非线性代数方程数值求解的方法。
5、掌握定义符号对象的方法、符号表达式的运算法则及符号矩阵运算、符号函数极限及导数、符号函数定积分和不定积分的方法。
二、预习要求(1)复习4、5、6章所讲内容;(2)熟悉MATLAB中的数值计算和符号运算的实现方法和主要函数。
三、实验内容1、已知2961820512885A-⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦,求A的特征值及特征向量,并分析其数学意义。
>> A=[-29,6,18;20,5,12;-8,8,5];>> [V,D]=eig(A)V =0.7130 0.2803 0.2733-0.6084 -0.7867 0.87250.3487 0.5501 0.4050D =-25.3169 0 00 -10.5182 00 0 16.8351V为A的特征向量,D为A的特征值,3个特征值是-25.3169、10.5182和16.8351。
>> A*Vans =-18.0503 -2.9487 4.600715.4017 8.2743 14.6886-8.8273 -5.7857 6.8190>> V*Dans =-18.0503 -2.9487 4.600715.4017 8.2743 14.6886-8.8273 -5.7857 6.8190经过计算,A*V=V*D 。
2、 不用rot90函数,实现方阵左旋90°或右旋90°的功能。
例如,原矩阵为A ,A 左旋后得到B ,右旋后得到C 。
147102581136912A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,101112789456123B ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,321654987121110B ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦提示:先将A 转置,再作上下翻转,则完成左旋90°;如将A 转置后作左右翻转,则完成右旋转90°,可用flipud 、fliplr 函数。
matlab2022实验2参考答案

matlab2022实验2参考答案报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:MATLAB实验二MATLAB符号计算试验报告说明:1做试验前请先预习,并独立完成试验和试验报告。
2报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。
3在页眉上写清报告名称,学生姓名,学号,专业以及班级。
3报告以Word文档书写。
一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1多项式运算(必做)1.1解方程:f(某)=某^4-10某某^3+34某某^2-50某某+25=0%采用数值方法:>>f=[1-1034-5025];>>root(f)%采用符号计算方法:f1=ym('某^4-10某某^3+34某某^2-50某某+25')olve(f1)1.2求有理分式R=(3某^3+某)(某^3+2)/((某^2+2某-2)(5某^3+2某^2+1))的商多项式和余多项式.a1=[3010];a2=[1002];a=conv(a1,a2);b1=[12-2];b2=[5201];b=conv(b1,b2);[p,r]=deconv(a,b);%注意:ab秩序不可颠倒。
%reidue用于实现多项式的部分分式展开,此处用deconv函数报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:%%此题,有同学程序如下:某1=[3010],某2=[1002],某3=[12-2],某4=[5201]某5=conv(某1,某2)[y6,r]=deconv(某5,某3)R=deconv(y6,某4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。
MATLAB第二章实验报告

MATLAB数据及基本操作班级:11电信一班姓名:何得中学号:20111060108实验目的:1.熟悉MATLAB的组体成体系及工作环境;2.了解MATLAB的帮助系统;3.掌握MATLAB的数据类型及变量的基本操作;4.掌握矩阵建立的基本方法及其运算;5.掌握矩阵索引与分析方法;6.熟悉字符串单元及结构数据的建立及基本操作。
实验仪器:MA TLAB软件,电脑实验数据:>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> A=[1 2 34 5 67 8 9]A = 1 2 34 5 67 8 9>> x=0:pi/8:2*pi;>> y=cos(x)y = Columns 1 through 101.0000 0.9239 0.7071 0.3827 0.0000 -0.3827 -0.7071 -0.9239 -1.0000 -0.9239Columns 11 through 17-0.7071 -0.3827 -0.0000 0.3827 0.7071 0.9239 1.0000>> B=ones(3,5)B = 1 1 1 1 11 1 1 1 11 1 1 1 1>> zeros(3)ans = 0 0 00 0 00 0 0>> C=rand(3,4)C = 0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919>> D=randn(2,3)D = -0.4326 0.1253 -1.1465-1.6656 0.2877 1.1909>> eye(3)ans = 1 0 00 1 00 0 1>> M=magic(4)M = 16 2 3 135 11 10 89 7 6 124 14 15 1>> T=toeplitz(1:5,1:6)T = 1 2 3 4 5 62 1 234 53 2 1 2 3 44 3 2 1 2 35 4 3 2 1 2>> H=hilb(5)H = 1.0000 0.5000 0.33330.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111>> a=3:18a =3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18>> b=1:0.2:6b =Columns 1 through 91.0000 1.2000 1.4000 1.600 1.80002.0000 2.2000 2.4000 2.6000 Columns 10 through 182.80003.0000 3.2000 3.40003.6000 3.80004.0000 4.2000 4.4000 Columns 19 through 264.6000 4.80005.0000 5.20005.4000 5.6000 5.80006.0000>> linspace(1,15,10)ans =Columns 1 through 91.00002.5556 4.1111 5.6667 7.2222 8.7778 10.3333 11.8889 13.4444Column 1015.0000>> y=[0.9 0.3 0.4 0.1 0.5 0.6 0.2 ]; >> [sorted,index]=sort(y)sorted =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.9000 index =4 7 2 3 5 6 1>> A=rand(4,5)A = 0.9218 0.9355 0.0579 0.13890.27220.7382 0.9169 0.3529 0.2028 0.19880.1763 0.4103 0.8132 0.1987 0.01530.4057 0.8936 0.0099 0.6038 0.7468>> [a,b]=min(A)a =0.1763 0.4103 0.0099 0.13890.0153b = 3 3 4 1 3>> min(A(:))ans = 0.0099>> V=[1 2 3 4]V = 1 2 3 4>> norm(V,2)ans =5.4772>> norm(V,1)ans = 10>> norm(V,inf)ans = 4>> V=[2 5 6 8 4 9]V = 2 5 6 8 4 9>> min(V)ans = 2>> V=[4 9 6;7 8 9;4 5 6]V = 4 9 67 8 94 5 6>> min(V)ans = 4 5 6>> max(V)ans = 7 9 9>> mean(V)ans = 5.0000 7.3333 7.0000>> median(V)ans = 4 8 6>> std(V)ans = 1.7321 2.0817 1.7321>> diff(V)ans =3 -1 3-3 -3 -3>> sort(V)ans =4 5 64 8 67 9 9>> length(V)ans = 3>> norm(V)ans =19.9125>> sum(V)ans = 15 22 21>> prod(V)ans =112 360 324>> cumsum(V)ans = 4 9 611 17 1515 22 21 >> cumprod(V)ans = 4 9 628 72 54112 360 324>> V=[1 2 8]V = 1 2 8>> U=[3; 4;7]U = 347>> dot(V,U)ans =67>> cross(V,U)ans =-18 17 -2>> A=[5 6 4;7 8 9;4 5 6]A = 5 6 47 8 94 5 6>> B=[6 2 7 ;7 5 8;4 6 8]B = 6 2 77 5 84 6 8>> C=A-BC = -1 4 -30 3 10 -1 -2>> C=A*BC = 88 64 115134 108 18583 69 116>> C1=A\BC1 =0.6667 -6.4444 -7.66670.6667 4.8889 7.3333-0.3333 1.2222 0.3333>> C2=B/AC2 = -3.0000 8.3333 -9.3333-1.6667 5.5556 -5.88890.0000 -1.3333 3.3333>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> D=A^2D = 30 36 4266 81 96102 126 150>> E=A^0.1E = 0.8466 + 0.2270i 0.3599 + 0.0579i -0.0967 - 0.1015i0.4015 + 0.0216i 0.4525 + 0.0133i 0.4432 - 0.0146i-0.0134 - 0.1740i 0.4848 - 0.0509i 1.0132 + 0.0820i>> A=[1+2*i 3;4 2+i]A =1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A'ans = 1.0000 - 2.0000i 4.00003.0000 2.0000 - 1.0000i>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> B=[3 4 6;7 9 8;5 2 01]B = 3 4 67 9 85 2 1>> C=A.*BC = 3 8 1828 45 4835 16 9>> D=A./BD = 0.3333 0.5000 0.50000.5714 0.5556 0.75001.4000 4.0000 9.0000>> E=A.\BE = 3.0000 2.0000 2.00001.7500 1.8000 1.33330.7143 0.2500 0.1111>> A=[1+2*i 3;4 2+i]A = 1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A.^2ans = -3.0000 + 4.0000i 9.000016.0000 3.0000 + 4.0000i>> A.'ans = 1.0000 + 2.0000i 4.00003.0000 2.0000 + 1.0000i>> x=0.1:0.1:0.8x =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> y=sin(2*x).*cos(2*x)y =0.1947 0.3587 0.4660 0.4998 0.4546 0.3377 0.1675 -0.0292>> y=sin(x)y =0.0998 0.1987 0.2955 0.3894 0.4794 0.5646 0.6442 0.7174>> y=cos(x)y =0.9950 0.9801 0.9553 0.9211 0.8776 0.8253 0.7648 0.6967>> y=tan(x)y =0.1003 0.2027 0.3093 0.4228 0.5463 0.6841 0.8423 1.0296>> y=cot(x)y =9.9666 4.9332 3.2327 2.3652 1.8305 1.4617 1.1872 0.9712>> y=sec(x)y = 1.0050 1.0203 1.0468 1.0857 1.1395 1.2116 1.3075 1.4353>> y=csc(x)y = 10.0167 5.0335 3.3839 2.5679 2.0858 1.7710 1.5523 1.3940>> y=asin(x)y = 0.1002 0.2014 0.3047 0.4115 0.5236 0.6435 0.7754 0.9273>> y=acos(x)y = 1.4706 1.3694 1.2661 1.1593 1.0472 0.9273 0.7954 0.6435>> y=atan(x)y =0.0997 0.1974 0.2915 0.3805 0.4636 0.5404 0.6107 0.6747>> y=acot(x)y = 1.4711 1.3734 1.2793 1.1903 1.1071 1.0304 0.9601 0.8961>> y=asec(x)y =Columns 1 through 60 + 2.9932i 0 + 2.2924i0 + 1.8738i 0 + 1.5668i 0 +1.3170i 0 + 1.0986iColumns 7 through 80 + 0.8956i 0 + 0.6931i>> y=sinh(x)y =0.1002 0.2013 0.3045 0.4108 0.5211 0.6367 0.7586 0.8881>> y=cosh(x)y =1.0050 1.0201 1.0453 1.0811 1.1276 1.1855 1.2552 1.3374>> y=tanh(x)y = 0.0997 0.1974 0.2913 0.3799 0.4621 0.5370 0.6044 0.6640>> y=coth(x)y = 10.0333 5.0665 3.4327 2.6319 2.1640 1.8620 1.6546 1.5059>> y=sech(x)y = 0.9950 0.9803 0.9566 0.9250 0.8868 0.8436 0.7967 0.7477>> y=csch(x)y = 9.9834 4.9668 3.2839 2.4346 1.9190 1.5707 1.3182 1.1260>> y=asinh(x)y = 0.0998 0.1987 0.2957 0.3900 0.4812 0.5688 0.6527 0.7327>> y=acosh(x)y =Columns 1 through 60 + 1.4706i 0 + 1.3694i0 + 1.2661i 0 + 1.1593i 0 +1.0472i 0 + 0.9273iColumns 7 through 80 + 0.7954i 0 + 0.6435i>> y=atanh(x)y = 0.1003 0.2027 0.3095 0.4236 0.5493 0.6931 0.8673 1.0986>> y=acoth(x)y = Columns 1 through 60.1003 + 1.5708i 0.2027 + 1.5708i 0.3095 + 1.5708i 0.4236 + 1.5708i 0.5493 + 1.5708i 0.6931 + 1.5708i Columns 7 through 80.8673 + 1.5708i 1.0986 + 1.5708i >> y=asech(x)y = 2.9932 2.2924 1.8738 1.5668 1.3170 1.0986 0.8956 0.6931>> y=acsch(x)y = 2.9982 2.3124 1.9189 1.6472 1.4436 1.2838 1.1545 1.0476>> y=log(x)y =-2.3026 -1.6094 -1.2040 -0.9163 -0.6931 -0.5108 -0.3567 -0.2231>> y=log10(x)y = -1.0000 -0.6990 -0.5229 -0.3979 -0.3010 -0.2218 -0.1549 -0.0969>> y=log2(x)y =-3.3219 -2.3219 -1.7370 -1.3219 -1.0000 -0.7370 -0.5146 -0.3219>> c=complex(a,b)c = 0.1763 + 3.0000i 0.4103 + 3.0000i0.0099 + 4.0000i 0.1389 + 1.0000i 0.0153 + 3.0000i>> zc=conj(x)zc =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> b=imag(x)b = 0 0 0 0 0 00 0>> a=real(x)a = 0.1000 0.2000 0.3000 0.40000.5000 0.6000 0.7000 0.8000>> y=fix(x)y = 0 0 0 0 0 0 0 0>> y=floor(x)y =0 0 0 0 0 0 0 0 >> y=ceil(x)y = 1 1 1 1 1 1 1 1>> y=round(x)y = 0 0 0 0 1 1 1 1>> y=sign(x)y = 1 1 1 1 1 1 1 1>> S=rats(x)S =1/10 1/5 3/10 2/5 1/2 3/5 7/10 4/5>> [N,D]=rat(x)N = 1 1 3 2 1 37 4D = 10 5 10 5 2 510 5>> A=[2 4 6;3 5 7;8 10 9]A = 2 4 63 5 78 10 9>> B=[4 1 5;7 5 0;9 3 6]B = 4 1 57 5 09 3 6>> A>Bans = 0 1 10 0 10 1 1>> A<Bans = 1 0 01 0 01 0 0>> A>=Bans = 0 1 10 1 10 1 1>> A<=Bans = 1 0 01 1 01 0 0>> A==Bans = 0 0 00 1 00 0 0>> A~=Bans =1 1 11 0 11 1 1>> A&Bans = 1 1 11 1 01 1 1>> A|Bans = 1 1 11 1 11 1 1>> ~Aans = 0 0 00 0 00 0 0>> ~Bans = 0 0 00 0 10 0 0>> x=0:pi/100:3*pi;>> y=sin(x);>> plot(x,y);>> y1=(x<pi|x>2*pi).*y;>> figure,plot(x,y1);>> r=(x>pi/3&x<2*pi/3)|(x>7*pi/3&8*pi/3);>> rn=~r;>> y2=r*sin(pi/3)+rn.*y1;>> figure,plot(x,y2)>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x =0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> all(x)ans =0>> any(x)ans = 1>> find(x)ans =2 3 4 5 6 7 8 9 10 11 12 13 14 15>> isempty(x)ans =>> isglobal(x)Warning: isglobal is obsolete and will be discontinued. Type "help isglobal" for more details.ans =0>> isinf(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isnan(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isfinite(x)ans =1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>> issparse(x)ans = 0>> isstr(x)ans =0>> not(x)ans =1 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y =59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y = 59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x = 0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> A=[4 -40 2; 23 50 17;18 29 14]A = 4 -40 223 50 1718 29 14>> [r,c]=find(A>=20&A<=30)r = 23c = 12>> bitand(12,6)ans = 4>> bitshift(12,1)ans = 24>> bitxor(12,1)ans =13>> bitset(12,1)ans = 13 >> bitget(12,1)ans =0>> A =[ 87 59 56 85 66 21 12 35 62 64 69 88 99 81]A =87 59 56 85 66 21 1235 62 64 69 88 99 81>> A(2)ans =59>> A([1,2,8])ans =87 59 35>> A([9,6,2])ans =62 21 59>> A([end-4:end])ans =64 69 88 99 81>> A([1:5,5:-1:1])ans = 87 59 56 85 66 66 85 56 59 87>> A(3)=-1A = 87 59 -1 85 66 2112 35 62 64 69 88 99 81>> A(15)=-8A =87 59 -1 85 66 2112 35 62 64 69 88 99 81 -8>> A(20)=-1A = Columns 1 through 1687 59 -1 85 66 21 12 35 62 64 69 88 99 81 -8 0Columns 17 through 200 0 0 -1>> A=rand(8)A = 0.9501 0.8214 0.9355 0.13890.4451 0.8381 0.3046 0.37840.2311 0.4447 0.9169 0.2028 0.9318 0.0196 0.1897 0.86000.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.85370.4860 0.7919 0.8936 0.6038 0.4186 0.3795 0.6822 0.59360.8913 0.9218 0.0579 0.2722 0.8462 0.8318 0.3028 0.49660.7621 0.7382 0.3529 0.1988 0.5252 0.5028 0.5417 0.89980.4565 0.1763 0.8132 0.0153 0.2026 0.7095 0.1509 0.82160.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3,3)ans =0.4103>> A(8)ans =0.0185>> sub2ind(size(A),3,3)ans =19>> [i,j]=ind2sub(size(A),19)i =3j =3>> A(:,4)ans =0.13890.20280.19870.60380.27220.19880.01530.7468>> A(3,:)ans =0.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.8537>> A(end,:)ans =0.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3:4,5:6)ans =0.4660 0.68130.4186 0.3795>> A(2:2:4,1:2:5)ans =0.2311 0.9169 0.93180.4860 0.8936 0.4186>> A=reshape(A,5,5)A = 1 6 11 16 212 7 12 17 223 8 13 18 234 9 14 19 245 10 15 20 25>> A(:)'ans =Columns 1 through 161 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 17 through 2517 18 19 20 21 22 23 24 25>> A(:,1:2:5)=[]A = 6 167 178 189 1910 20>> A=[9 8 7;6 5 4;3 2 1];>> D=diag(A)D =951>> D1=diag(A,1)D1 =84>> D2=diag(A,-1)D2 =62>> V=[1 2 3 4];>> diag(V)ans = 1 0 0 00 2 0 00 0 3 00 0 0 4>> diag(1:3,-1)ans = 0 0 0 01 0 0 00 2 0 00 0 3 0>>A=[17,1,0,15;5,7,14,16;4,0,13,0;10,12,19,21]; >> D=diag(4:-1:1);>> D*Aans = 68 4 0 6015 21 42 488 0 26 010 12 19 21>> triu(A)ans =17 1 0 150 7 14 160 0 13 00 0 0 21>> triu(A,1)ans = 0 1 0 150 0 14 160 0 0 00 0 0 0>> B=A'B =17 5 4 101 7 0 120 14 13 1915 16 0 21>> rot90(A)ans =15 16 0 210 14 13 191 7 0 1217 5 4 10>> rot90(A,3)ans =10 4 5 1712 0 7 119 13 14 021 0 16 15>> B=fliplr(A)B = 15 0 1 1716 14 7 50 13 0 421 19 12 10>> B=flipud(A)B = 10 12 19 214 0 13 05 7 14 1617 1 0 15>> A=[4 5 6 9;7 8 9 5;4 5 6 9;7 8 9 5]; >> det(A)ans =0>> rank(A)ans =2>> cond(A)ans =1.0968e+017>> inv(A)Warning: Matrix is singular to working precision.ans = Inf Inf Inf InfInf Inf Inf InfInf Inf Inf InfInf Inf Inf Inf>> A=[4 8 9;8 2 7;6 3 8];>> inv(A)ans = 0.0568 0.4205 -0.43180.2500 0.2500 -0.5000-0.1364 -0.4091 0.6364>> [V,D]=eig(A)V = -0.6438 -0.7444 -0.5061-0.5467 0.6392 -0.5515-0.5354 0.1931 0.6631D = 18.2776 0 00 -5.2030 00 0 0.9254>> [U,S,D]=svd(A)U = -0.6378 0.7375 -0.2220-0.5426 -0.6348 -0.5500-0.5465 -0.2304 0.8051S = 18.9278 0 00 5.2884 00 0 0.8791D = -0.5374 -0.6639 -0.5200-0.4135 0.7449 -0.5236-0.7350 0.0663 0.6749>> [L,U]=lu(A)L = 0.5000 1.0000 01.0000 0 00.7500 0.2143 1.0000U = 8.0000 2.0000 7.00000 7.0000 5.50000 0 1.5714>> [Q,R]=qr(A)Q = -0.3714 0.9114 -0.1774-0.7428 -0.4063 -0.5322-0.5571 -0.0659 0.8278 R =-10.7703 -6.1279 -12.99870 6.2808 4.83140 0 1.3009>> a=1234a = 1234>> class(a)ans =double>> size(a)ans = 1 1>> b='1234'b =1234>> class(b)ans =char>> size(b)ans = 1 4>> 'I am astudent'ans =I am astudent>> a='This is No.2.23 Example!'a =This is No.2.23 Example!>> b=a(1:7)b =This is>> c=a(12:end)c =2.23 Example!>> a='Good';>> b='Noon';>> length(a)==length(b)ans = 1>> c=[a,'',b]c =GoodNoon>> d=[a;b]d =GoodNoon>> size(c)ans = 1 8>> size(d)ans = 2 4>> a='Good Noon';>> b=double(a)b = 71 111 111 100 32 78 111 111 110>> c='再见!'c =再见!>> c='再见!'>> d=double(c)d = 20877 35265 65281>> char(d)ans =再见!>> a='The first string';>> b='The second string';>> c=strcmp(a,b)c =0>> d=strncmp(a,b,4)d =1>> X='A friend in need is a friend indeed'; >> Y='friend';>> a=findstr(Y,X)a = 3 23>> b=strfind(Y,X)b = []>> S=['1 2 3';'2 3 4'];>> A=str2num(S)A = 1 2 32 3 4>> B=str2num('6-8i')B = 6.0000 - 8.0000i>> D=num2str(rand(2,3),6)D =0.950129 0.606843 0.8912990.231139 0.485982 0.762097>> d=189;>> h=dec2hex(d)h =BD>> c=dec2base(d,7)c =360>> b=dec2bin(d)b =10111101>> bin2dec(b)ans = 189>> A={ones(3,3,3),'Welcome';30.34,1:200} A = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>>B=[{ones(3,3,3)},{'Welcome'};{30.34},{1:20 0}]B = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>> C={5}C = [5]>> C(2,3)={7}C = [5] [] [][] [] [7]>> isequal(A,B)ans =1>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> b=A(1,2)b = 'Welcome'>> class(B)ans =cell>> C=A{1,2}C =Welcome>> class Cans =char>> D=A{1,2}(6)D =m>> E=A{2,2}([end:-1:190])E =200 199 198 197 196 195 194 193 192 191 190>> class(E)ans =double>> N=A{3}([1 3 5 7])N =Wloe>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> B=cell(2);>> B(:,1)={char('Good','Morning');1:10}B = [2x7 char ] [][1x10 double] []>> C=[A,B]C = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D=[A,B;C]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D(4,:)=[]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] []>> E=reshape(D,2,3,2)E(:,:,1) = [3x3x3 double] [3x3x3 double] [1x200 double][ 30.3400] 'Welcome' 'Welcome'E(:,:,2) = [2x7 char ] [2x7 char] [][1x10 double] [] []>>A={randn(3,3,2),'Good',pi;29,4+7*i,zeros(4)} A = [3x3x2 double] 'Good' [ 3.1416][ 29] [4.0000+ 7.0000i] [4x4 double]>> B=cellfun('isreal',A)B = 1 1 11 0 1>> C=cellfun('length',A)C = 3 4 11 1 4>> Member.code='09021';>> ='Liu';>> Member.age=22;>> Member.grade=uint16(3);>> MemberMember =code: '09021'name: 'Liu'age: 22grade: 3>> Member(4).name='Wang';>> Member(4).grade=2;>> Member(2)ans = code: []name: []age: []grade: []>>Memebr=struct('code','09021','name','Liu','a ge',22,'grade',uint16(3))Memebr = code: '09021'name: 'Liu'age: 22grade: 3>>Member=struct('code',{'09021','09034'},'name' ,{'Liu','Wamg'},'age',{22,24},'grade',{2,3}) Member = 1x2 struct array with fields:codenameagegrade>>Member=struct('code',{},'name',{},'age',{},'gr ade',{})Member = 0x0 struct array with fields:codenameagegrade>>Member=struct('code',{'09021','09034'},'na me',{'Liu','Wang'},'age',{22,24},'grade',{2,3},' score',{[78 89;90 68],[91 76;89 97]}) Member = 1x2 struct array with fields:codenameagegradescore>> Member(1).scoreans =78 8990 68>> Member(2).score(2,:)ans =89 97>> Member.codeans =09021ans =09034>> Member.('name')ans =Liuans =Wang>> ='Liu';M.ID=1;>> M(2,2).name='Wang';M(2,2).ID=2; >> M2=setfield(M,{2,1},'name','Zhang'); >> ans =Liuans =[]ans = []ans =Wang>> ans =Liuans =Zhangans = []ans =Wang>> fieldnames(M)ans = 'name''ID'>> M3=orderfields(M)M3 = 2x2 struct array with fields:IDname。
最新Matlab数学实验第二版课后习题答案

Matlab数学实验第二版课后习题答案胡良剑第一章%Page20,ex1(5) 等于[exp(1),exp(2);exp(3),exp(4)](7) 3=1*3, 8=2*4(8) a为各列最小值,b为最小值所在的行号(10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture(11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)(12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)%Page20, ex2(1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码%Page20,ex3>> r=2;p=0.5;n=12;>> T=log(r)/n/log(1+0.01*p)T =11.5813%Page20,ex4>> x=-2:0.05:2;f=x.^4-2.^x;>> [fmin,min_index]=min(f)fmin =-1.3907 %最小值min_index =54 %最小值点编址>> x(min_index)ans =0.6500 %最小值点>> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点f1 =0.0328x1_index =24>> x(x1_index)ans =-0.8500>> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点f2 =0.0630x2_index =65>> x(x2_index)ans =1.2500%Page20,ex5>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59>> sum(z)ans =505 505 505 505 505 505 505 505 505 505>> sum(diag(z))ans =505>> z(:,2)/sqrt(3)ans =57.157746.188046.765450.229553.693613.85642.88683.46416.928210.3923>> z(8,:)=z(8,:)+z(3,:)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6683 87 101 115 119 83 87 101 115 11910 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59 1小时单位负责人接到报告后,应当于1小时内向事故发生地县级以上人民政府安全生产监督管理部门和负有安全生产监督管理职责的有关部门报告。
Matlab数学实验报告二

数学软件课程设计题目线性方程组求解班级数学081姓名曹曼伦实验目的:用Matlab语言实现Gauss算法和cholesky算法(chol)以及LU分解(lu),求解一般线性方程组。
用Matlab语言实现Jacobi迭代算法、Gauss-Seidel迭代算法和逐次超松弛迭代法,求解一般的线性代数方程组问题。
实验内容:一.直接法(1)Gauss消元法:function x=DelGauss(a,b)% Gauss消去法[n,m]=size(a);nb=length(b);det=1;%存储行列式值x=zeros(n,1);for k=1:n-1for i=k+1:nif a(k,k)==0returnendm=a(i,k)/a(k,k);for j=k+1:na(i,j)=a(i,j)-m*a(k,j);endb(i)=b(i)-m*b(k);enddet=det*a(k,k);enddet=det*a(n,n);for k=n:-1:1 %回代for j=k+1:nb(k)=b(k)-a(k,j)*x(j);endx(k)=b(k)/a(k,k);endExample:>> A=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898]; >> b=[1 0 1]';>> x=DelGauss(A,b)x =0.9739-0.00471.0010(2)对称正定矩阵之Cholesky分解法:function L=Cholesky(A)%对对称正定矩阵A进行Cholesky分解n=length(A);L=zeros(n);for k=1:ndelta=A(k,k);for j=1:k-1delta=delta-L(k,j)^2;endif delta<1e-10return;endL(k,k)=sqrt(delta);for i=k+1:nL(i,k)=A(i,k);for j=1:k-1L(i,k)=L(i,k)-L(i,j)*L(k,j);endL(i,k)=L(i,k)/L(k,k);endendfunction x=Chol_Solve(A,b)%利用对称正定矩阵之Cholesky分解求解线性方程组Ax=b n=length(b);l=Cholesky(A);x=ones(1,n);y=ones(1,n);for i=1:nz=0;for k=1:i-1z=z+l(i,k)*y(k);endy(i)=(b(i)-z)/l(i,i);endfor i=n:-1:1z=0;for k=i+1:nz=z+l(k,i)*x(k);endx(i)=(y(i)-z)/l(i,i);endExample:>> A=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898];>> b=[1 0 1]';>> x=Chol_Solve(A,b)x =0.9739 -0.0047 1.0010(3)LU分解法:function [l,u]=lu(a)%LU分解n=length(a);l=eye(n);u=zeros(n);for i=1:nu(1,i)=a(1,i);endfor i=2:nl(i,1)=a(i,1)/u(1,1);endfor r=2:n%%%%for i=r:nuu=0;for k=1:r-1uu=uu+l(r,k)*u(k,i);endu(r,i)=a(r,i)-uu;end%%%%for i=r+1:nll=0;for k=1:r-1ll=ll+l(i,k)*u(k,r);endl(i,r)=(a(i,r)-ll)/u(r,r);end%%%%Endfunction x=lusolv(a,b)%LU分解求解线性方程组aX=b if length(a)~=length(b)error('Error in inputing!')return;endn=length(a);[l,u]=lu(a);y(1)=b(1);for i=2:nz=0;for k=1:i-1z=z+l(i,k)*y(k);endy(i)=b(i)-z;endx(n)=y(n)/u(n,n);for i=n-1:-1:1z=0;for k=i+1:nz=z+u(i,k)*x(k);endx(i)=(y(i)-z)/u(i,i);endExample:>> a=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898]; >> b=[1 0 1]';>> x=Chol_Solve(a,b)x =0.9739 -0.0047 1.0010二.迭代法(1)Jacobi迭代法:function [x,n]=jacobi(A,b,x0,eps,varargin)if nargin==3eps= 1.0e-6;M = 200;elseif nargin<3errorreturnelseif nargin ==5M = varargin{1};D=diag(diag(A)); %求A的对角矩阵L=-tril(A,-1); %求A的下三角阵U=-triu(A,1); %求A的上三角阵B=D\(L+U);f=D\b;x=B*x0+f;n=1; %迭代次数while norm(x-x0)>=epsx0=x;x=B*x0+f;n=n+1;if(n>=M)disp('Warning: 迭代次数太多,可能不收敛!');return;endendExample:>> x0=[0;0;0]x0 =>> [x,n]=Jacobi(A,b,x0)x =0.9739-0.00471.0010n =5(2)Gauss-Seidel迭代法:function [x,n]=gauseidel(A,b,x0,eps,M) if nargin==3eps= 1.0e-6;M = 200;elseif nargin == 4M = 200;elseif nargin<3errorreturn;endD=diag(diag(A)); %求A的对角矩阵L=-tril(A,-1); %求A的下三角阵U=-triu(A,1); %求A的上三角阵f=(D-L)\b;x=G*x0+f;n=1; %迭代次数while norm(x-x0)>=epsx0=x;x=G*x0+f;n=n+1;if(n>=M)disp('Warning: 迭代次数太多,可能不收敛!');return;endendExample:>> x0=[0;0;0]x0 =>> [x,n]=gauseidel(A,b,x0)x =-0.00471.0010n =4(3)对称逐次超松驰迭代法:function [x,n]=SSOR(A,b,x0,w,eps,M) if nargin==4eps= 1.0e-6;M = 200;elseif nargin<4errorreturnelseif nargin ==5M = 200;endif(w<=0 || w>=2)error;return;endD=diag(diag(A)); %求A的对角矩阵L=-tril(A,-1); %求A的下三角阵U=-triu(A,1); %求A的上三角阵B1=inv(D-L*w)*((1-w)*D+w*U);B2=inv(D-U*w)*((1-w)*D+w*L);f1=w*inv((D-L*w))*b;f2=w*inv((D-U*w))*b;x12=B1*x0+f1;x =B2*x12+f2;n=1; %迭代次数while norm(x-x0)>=epsx0=x;x12=B1*x0+f1;x =B2*x12+f2;n=n+1;if(n>=M)disp('Warning: 迭代次数太多,可能不收敛!');return;endendExample:>> [x,n]=SSOR(A,b,x0,1)x =0.9739-0.00471.0010n =3实验结果:一.直接法(1)Gauss消元法:>> A=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898]; >> b=[1 0 1]';>> x=DelGauss(A,b)x =0.9739-0.00471.0010(2)对称正定矩阵之Cholesky分解法:>> A=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898];>> b=[1 0 1]';>> x=Chol_Solve(A,b)x =0.9739 -0.0047 1.0010(3)LU分解法:>> a=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898]; >> b=[1 0 1]';>> x=Chol_Solve(a,b)x =0.9739 -0.0047 1.0010二.迭代法(1)Jacobi迭代法:>> [x,n]=Jacobi(A,b,x0)x =0.9739-0.00471.0010n =5(2)Gauss-Seidel迭代法:>> [x,n]=gauseidel(A,b,x0)x =0.9739-0.00471.0010n =4(3)对称逐次超松驰迭代法:>> [x,n]=SSOR(A,b,x0,1)x =0.9739-0.00471.0010n =3。
河北工业大学数字图像处理之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.课后练习1、建立⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=3104152121A 和⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=114513312B(1)求矩阵A 和B 的乘积,矩阵A 左除B ,以及矩阵A 的2次方(2)求数组A 和B 的乘积,数组A 左除B ,及数组A的2次方程序如下:>> A=[1 2 1;2 5 -1;4 10 3];>> B=[2 -1 3;3 1 -5;4 -1 1];>> C1=A*B;>> C2=A\B;>> C3=A^2;>> D1=A.*B;>> D2=A.\B;>> D3=A.^2;>> C1运行后显示:C1 =12 0 -615 4 -2050 3 -35>> C2C2 =9.5000 4.0000 -7.5000 19.3333 8.6667 -15.6667 44.5000 19.0000 -35.5000 >> C3C3 =9 22 28 19 -636 88 3>> D1D1 =2 -2 36 5 516 -10 3>> D2D2 =0.5000 -2.0000 0.33330.6667 5.0000 0.20001.0000 -10.0000 3.0000>> D3D3 =1 4 14 25 116 100 92.建立矩阵 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=15524974111415412869811105132316A(1)用两种方法索引出A 矩阵第3行第2列的元素,并将其值改为自己的学号加20(2)索引出A 矩阵第2行至第4行、第二列至第5列的所有元素程序如下:>> A=[16 3 2 13 -1 -4;5 10 11 8 7 9;9 6 8 12 -4 2;4 15 14 1 -5 15]A =16 3 2 13 -1 -45 10 11 8 7 99 6 8 12 -4 24 15 14 1 -5 15>> A(3,2)ans =6>> A(7)ans =6>> A(3,2)=21A =16 3 2 13 -1 -45 10 11 8 7 99 21 8 12 -4 24 15 14 1 -5 15(2) >> B=A(2:4,2:5)B =10 11 8 721 8 12 -415 14 1 -53、使用两种方法建立范围为]20,10[的向量,使得向量中的元素相邻元素的间隔是2(1)改变第二个元素的值,并将其赋给一个新的变量(学号加20),并求两个向量的点积(2)从第二个元素开始提取三个元素,并与向量[1 23]做叉积程序如下:>> a=10:2:20 %求(1)a =10 12 14 16 18 20>> b=linspace(10,20,6)b =10 12 14 16 18 20>> b(2)=21b =10 21 14 16 18 20>> dot(a,b)ans =1528>> b=(3:5) %求(2)b =3 4 5>> c=[1 2 3]c =1 2 3>> cross(b,c)ans =2 -4 24、 复数i e z i z i z 63212,21,43π=+=+=表达,及计算321z z z z =。
matlab实验报告实验二

matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。
在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。
图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。
在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。
实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。
例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。
在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。
例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。
在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。
例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。
在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。
例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。
- 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。