MATLAB 第三章习题
第三章Matlab 绘图与例题 (1)

[X ,Y ] meshgrid(x, y)
mesh(X ,Y , Z )
• mesh(Z) 若提供参数x,y,等价于mesh(x,y,Z),否 则默认
• mesxhc 1除: n了, y生1成: m网格曲面,还在xoy面上生成等高线图
• meshz 除了生成网格曲面,还在曲线下加上一个长方形 台柱。
机动 目录 上页 下页 返回 结束
空间网格曲面。而函数meshgrid就用来生成xoy 平面上的小矩形顶点坐标值的矩阵(格点矩阵)。 函数meshgrid也适用于三元函数。
meshgrid的调用形式
• [X,Y]=meshgrid(x,y) 绘制二维图形时生成小矩形的格点 • [X,Y]= meshgrid(x) 等价于[X,Y]=meshgrid(x,x) • [X,Y,Z]=meshgrid(x,y,z)绘制三维图形生成小矩形的格点 • [X,Y,Z]= meshgrid(x) 等价于[X,Y,Z]=meshgrid(x,x,x)
c青
x叉
> 右三角形 -- 划线
m 洋红 + 十字 < 左三角形
y黄
*星
p 五角形
k黑
s 方块 h 六角形
d 菱形
例、在同一图形窗口画出不同颜色,线形的正、余 弦图形
机动 目录 上页 下页 返回 结束
三、 基本绘图控制参数
常用作图指令 • 清除图形窗口 clf • 显示/不显示格栅 grid on/off • 保留/释放现有图形 hold on/off • 使用/不使用坐标框 box on/off • 暂停直到击键盘 pause
例3-1-1、在同一坐标系中画出两个函数 y cos 2x, y x 的图形,自变量范围为:2 x 2 ,及5个点
数字信号处理及MATLAB实现第三章答案

3-11设是周期为N的周期序列,通过系统H(z)以后,求证序列为 证明:
在单位圆上对H(z)N等分采样,x(n)通过系统H(z)以后,输出频谱为
3-1求序列的DFS展开 解: 已知 ,则 3-2 (1) (2)
(3) (4) (5) (6) 解:(1) (2) (3) (4)
(5) 由,得 所以 (6) 因为,所以 3-3.答案略 3-4若,,,证明 证明: 3-5若,求证 证: 而
(为整数) 0 所以 于是 3-6令表示N点序列的N点DFT,试证明: (1)如果满足关系式,则。 (2)当N为偶数时,如果,则。 证: (1) N为偶数:N奇数: 而中间的一项应当满足:
因此必然有
这就是说,当N为奇数时,也有。 (b)当N为偶数:
当N为偶数时,为奇数,故;又由于故有 3-7 已知是N点有限长序列,。现将的每两点之间补进个零值点,得到 一个点的有限长序列
试求点DFT[]与的关系。 解:由 可得 而 所以是将(周期为N)延拓次形成的,即周期为。 3-8答案略 3-9设是一个2N点序列,具有如下性质
MATLAB基础及其应用教程-周开利-邓春晖课后答案,第三章

第三章习题答案1.代码:a=[1 -1 -1]; roots(a)结果:ans =-0.61801.61802.代码:x=0:10;y=sin(x);xi=0:0.15:10; %选取了67个插值点,要增加n,只需减小步长即可y0=sin(xi); %算精确值y1=interp1(x,y,xi); %分段线性插值y2=interp1(x,y,xi,'spline'); %三次样条插值plot(xi,y0,'o',xi,y1,xi,y2,'-.')legend('精确值','分段线性插值','三次样条插值')结果:3.理论公式为:p=1.0332*exp(-(x+500)/7756),所以拟合模型可写为:p=a*exp(-k*x+b) 式中,a, k, b为常数,两边同时取自然对数,得:log(p)=-k*x+b+log(a)问题转化为线性模型。
注意:自然对数是log(x), 以10为底的对数是log10(x)代码:clear;x=[0 300 600 1000 1500 2000];p=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491];lnp=log(p); %转化为 p 的自然对数值,模型转化为线性模型pk=polyfit(x,lnp,1); % 线性拟合,得到模型的斜率pk(1)和常数pk(2) 模型为: p=exp(pk(1)*x)*exp(pk(2))xi=0:50:2000;p0=1.0332*exp(-(xi+500)/7756); %理论值p1=exp(pk(1)*xi+pk(2)); %拟合模型值p2=interp1(x,p,xi,'spline'); %三次样条插值plot(x,p,'p',xi,p0,xi,p1,'--',xi,p2,'-.');legend('测量值','理论值','拟合值','三次样条值');format long % 数据显示格式为15位有效数字x2=0:200:2000 % 取10个点,比较差异pp1=1.0332*exp(-(x2+500)/7756) %理论值pp2=exp(pk(1)*x2+pk(2)) % 拟合值pp3=interp1(x,p,x2,'spline') % 样条插值err1=sum(abs(pp2-pp1).^2) % 拟合值的误差绝对值总和err2=sum(abs(pp3-pp1).^2) % 样条值的误差绝对值总和结果:0200400600800100012001400160018002000从图像上,都符合得很好,但很难看出差异。
matlab第三章答案

matlab第三章答案第1题:从键盘输入一个3位数,将它反向输出。
如输入639输出936、n1=fix(n/100);n2=rem(fix(n/10),10);n3=rem(n,10);m=n3*100+n2*10+n1;disp(m)请输入一个三位数:489984第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语句:>> s=input('请输入成绩分数:');if s>=90&s<=100disp('A');elseif s>=80&s<=89disp('B');elseif s>=70&s<=79disp('C');elseif s>=60&s<=69disp('D');elseif s>=0&s<60disp('E');elsedisp('false');end请输入成绩分数:89BSwitch语句:>> s=input('请输入成绩分数:');switch fix(s/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {5,4,3,2,1,0}disp('E');otherwisedisp('false');end请输入成绩分数:88B第3题输入20个数,求其中最大数与最小数。
matlab复习课件第3章(gai)

diamond 菱形
第三章 MATLAB图形系统
命令应 该怎么 改?
线宽 也改 了?
第三章 MATLAB图形系统
第三章 MATLAB图形系统
我们还可以将图形窗口进行分割,从而绘制出多条曲线。 例如,将图形窗口分割成2×2的窗格,在每个窗格中分别绘制 出正弦、余弦、正切、余切函数曲线,其MATLAB程序为 x=0:pi/50:2*pi; k=[1 26 51 76 101]; x(k)=[]; %删除对应元素,它们是 删除对应元素, 删除对应元素 它们是正切 %和余切的奇异点 figure(1)
第三章 MATLAB图形系统
第三章 MATLAB图形系统
第三章 MATLAB图形系统
第三章 MATLAB图形系统
3.3 对数和极坐标系中图形绘制
有时变量变化范围很大,如x轴从0.01到100,这时如果仍 采用plot绘图,就会失去局部可视性,因此应采用对数坐标系 进行绘图(函数semilogx)。 例:求0.01~100之间的常用对数(以10为底的对数) x=0.01:.01:100; y=log10(x); figure(1) subplot(2,1,1) plot(x,y, 'r.'), grid on title('\ity=log_{10}(x) in Cartesian coordinates'), ylabel('y')
用于字符串中,表示将{} 中的内容下标显示
第三章 MATLAB图形系统
subplot(2,1,2), grid on semilogx(x,y,'b.') , grid on %半对数绘图
title('\ity=log_{10}(x) in Semi-log coordinates') xlabel('x'), ylabel('y')
matlab课后习题答案第三章

第3章数值数组及其运算习题3及解答1 要求在闭区间]2,0[ 上产生具有10个等距采样点的一维数组。
试用两种不同的指令实现。
〖目的〗●数值计算中产生自变量采样点的两个常用指令的异同。
〖解答〗%方法一t1=linspace(0,2*pi,10)%方法二t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9.t1 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.2832t2 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.28322 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
〖目的〗●数组下标的不同描述:全下标和单下标。
●sub2ind, int2str, disp的使用。
●随机发生器的状态控制:保证随机数的可复现性。
〖解答〗rng('default')A=rand(3,5)[ri,cj]=find(A>0.5);id=sub2ind(size(A),ri,cj);ri=ri';cj=cj';disp(' ')disp('大于0.5的元素的全下标')disp(['行号 ',int2str(ri)])disp(['列号 ',int2str(cj)])disp(' ')disp('大于0.5的元素的单下标')disp(id')A =0.8147 0.9134 0.2785 0.9649 0.95720.9058 0.6324 0.5469 0.1576 0.48540.1270 0.0975 0.9575 0.9706 0.8003大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3列号 1 1 2 2 3 3 4 4 5 5大于0.5的元素的单下标1 2 4 5 8 9 10 12 13 153 采用默认全局随机流,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。
matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。
>> t=0:0.01:pi;>> x1=t;>> y1=2*x1-0.5;>> x2=sin(3*t).*cos(t);>> y2=sin(3*t).*sin(t);>> plot(x1,y1,'r-',x2,y2,'g-')>> axis([-1,2,-1.5,1])>> hold on>> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*');截图:p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。
function [ output_args ] = Untitled2( input_args )%UNTITLED2 Summary of this function goes here% Detailed explanation goes heretheta=0:0.01:2*pi;a=input('请输入a的值:');b=input('请输入b的值:');n=input('请输入n的值:');rho=a*sin(b+n*theta);polar(theta,rho,'k');end下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。
对a的值进行改变:对比发现a只影响半径值的整倍变化对b的值进行改变:对比发现b的值使这个圆转换了一定的角度对n的值进行改变:对比发现当n>=2时有如下规律1、当n为整数时,图形变为2n个花瓣状的图形2、当n为奇数时,图形变为n个花瓣状的图形分别让n为2、3、4、5同时改变b和n的值,对比发现图形变为2n个花瓣状,并且还旋转了一定角度1 绘制sin(x)曲线,通过句柄修改曲线的颜色,要求:a)生成曲线的同时,获取句柄,再修改颜色;>> x=0:pi/50:2*pi;>> y=sin(x);>> h=plot(x,y)h =174.0101>> set(h,'color','r');截图如下:b)先生成曲线,然后再获取句柄,再完成颜色修改。
Matlab通信系统建模与仿真例题源代码-第三章

% ch3example1A.mclear;f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标[n, fn]=buttord(f_p,f_s,R_p,R_s, 's'); % 计算阶数和截止频率Wn=2*pi*fn; % 转换为角频率[b,a]=butter(n, Wn, 's'); % 计算H(s)f=0:100:10000; % 计算频率点和频率范围s=j*2*pi*f; % s=jw=j*2*pi*fH_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值figure(1);subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性axis([0 10000 -40 1]);xlabel('频率Hz');ylabel('幅度dB');subplot(2,1,2); plot(f, angle(H_s)); % 相频特性xlabel('频率Hz');ylabel('相角rad');figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。
% ch3example1B.mclear;f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标[n, fn]=ellipord(f_p,f_s,R_p,R_s,'s'); % 计算阶数和截止频率Wn=2*pi*fn; % 转换为角频率[b,a]=ellip(n,R_p,R_s,Wn,'s'); % 计算H(s)f=0:100:10000; % 计算频率点和频率范围s=j*2*pi*f; % s=jw=j*2*pi*fH_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值figure(1);subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性axis([0 10000 -40 1]);xlabel('频率Hz');ylabel('幅度dB');subplot(2,1,2); plot(f, angle(H_s)); % 相频特性xlabel('频率Hz');ylabel('相角rad');figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。
MATLAB第三章

第三章微积分问题的计算机求解一、实验内容:题目1.试求出如下极限。
①limx→∞(3x +9x )1/ x,②lim x→∞[(x+2)x+2(x+3)x+3 ]/(x+5)2x+5【分析】:该题为单变量函数的极限。
极限问题可以用limit()函数直接求出。
要注意该函数的调用格式为:L=limit(fun,x,x0)(求极限),L=limit(fun,x,x0,’left’或’right’)(求极限)。
还需注意一开始要对函数的字符进行申明。
【解答】:(1)输入如下语句:>> syms x;f=(3^x+9^x)^(1/x);L=limit(f,x,inf)语句运行后显示如下:L =9(2)输入如下语句:>>syms x;f=(x+2)^(x+2)*(x+3)^(x+3)/(x+5)^(2*x+5);>> L=limit(f,x,inf)语句运行后显示如下:L =exp(-5)题目2.试求下面的双重极限。
①lim x→−1y→2 (x2y+xy3)/(x+y) 3,②limx→0 y→0 xy /√(xy+1)−1,③limx→0y→0 [1−cos(x2+y2)]/(x2+y2)e x2+y2。
【分析】:该题为多变量函数的极限问题。
他可以用嵌套使用limit()函数来解决。
在MATLAB上可以用L=limit(limit(f,x,x0),y,y0)或者L=limit(f,y,y0),x,x0)来解决。
其思想是所有的先关于X求导,再所有的关于y求导。
【解答】:(1)输入如下语句:>> syms x y>> f=(x^2*y+x*y^3)/(x+y)^3;>> L=limit(limit(f,x,-1),y,2)语句运行后显示如下:L =-6(2)输入如下语句:>> syms x yf=(x*y)/(sqrt(x*y+1)-1);L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =2(3)输入如下语句:>> syms x yf=(1-cos(x^2+y^2))/(sqrt(x^2+y^2)*exp(x^2+y^2));L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =题目3.求出下面函数的导数。
MATLAB语言与控制系统仿真_参考题答案_第3章

3.5 MATLAB 绘图实训3.5.1 实训目的1.学会MATLAB 绘图的基本知识;2.掌握MATLAB 子图绘制、图形注释、图形编辑等基本方法;3.学会通过MATLAB 绘图解决一些实际问题;4.练习二维、三维绘图的多种绘图方式,了解图形的修饰方法;5.学会制作简单的MATLAB 动画。
图3-46 炮弹发射示意图3.5.2 实训内容1. 炮弹发射问题〔1炮弹发射的基础知识炮弹以角度α射出的行程是时间的函数,可以分解为水平距离)(t x 和垂直距离)(t y 。
)cos()(0αtv t x = %水平方向的行程; 205.0)sin()(gt tv t y -=α %垂直方向的行程;其中,0v 是初速度;g 是重力加速度,为9.82m/s ;t 是时间。
〔2炮弹发射程序举例:分析以下程序以及图3-47各个图形的实际意义。
a=pi/4; v0=300; g=9.8;t=0:0.01:50; x=t*v0*cos<a>;y=t*v0*sin<a>-0.5*g*t.^2;subplot<221>;plot<t,x>;grid;title<‘时间-水平位移曲线'>; subplot<222>;plot<t,y>;grid;title<‘时间-垂直位移曲线'>; subplot<223>;plot<x,y>;grid;title<‘水平位移-垂直位移曲线'>; subplot<224>;plot<y,x>;grid;title<‘垂直位移-水平位移曲线'>; 图3-4745角发射曲线 〔3编程解决炮弹发射问题①假设在水平地面上以垂直于水平面的角度向上发射炮弹,即发射角90=α,假设初速度分别为[310,290,270]m/s,试绘制时间-垂直位移曲线,编程求取最高射程;绘图要求:◆ 标题设为"炮弹垂直发射问题";◆ 在图上通过添加文本的方式表明初速度; ◆ 在x 轴标注"时间";◆ 在y 轴上标注"垂直距离"; ◆ 添加网格线;◆ 将310m/s 的曲线改为线粗为2的红色实线; ◆ 将290m/s 的曲线改为线粗为3的绿色点划线;◆ 将270m/s 的曲线改为线粗为2的蓝色长点划线;a=pi/2; v1=310; g=9.8;t=0:0.01:50; x1=t*v1*cos<a>;y1=t*v1*sin<a>-0.5*g*t.^2;plot<t,y1>;grid; title<'炮弹垂直发射问题'>; xlabel<'时间'>; ylabel<'垂直距离'>; hold on; v2=290;x2=t*v2*cos<a>;y2=t*v2*sin<a>-0.5*g*t.^2; plot<t,y2>; v3=270;x3=t*v3*cos<a>;y3=t*v3*sin<a>-0.5*g*t.^2; plot<t,y3>;zgsc=[max<y1>; max<y2>; max<y3>] %三次发射的最高射程 运行结果如下: zgsc =1.0e+003 * 4.9031 4.29083.7194最高射程分别为:4903.1米,4290.8米,3719.4米。
matlab程序设计第三章课后习题答案资料

m a t l a b程序设计第三章课后习题答案1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。
>> t=0:0.01:pi;>> x1=t;>> y1=2*x1-0.5;>> x2=sin(3*t).*cos(t);>> y2=sin(3*t).*sin(t);>> plot(x1,y1,'r-',x2,y2,'g-')>> axis([-1,2,-1.5,1])>> hold on>> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)');>> plot(double(s.x),double(s.y),'*');截图:p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。
function [ output_args ] = Untitled2( input_args )%UNTITLED2 Summary of this function goes here% Detailed explanation goes heretheta=0:0.01:2*pi;a=input('请输入a的值:');b=input('请输入b的值:');n=input('请输入n的值:');rho=a*sin(b+n*theta);polar(theta,rho,'k');end下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。
对a的值进行改变:对比发现a只影响半径值的整倍变化对b的值进行改变:对比发现b的值使这个圆转换了一定的角度对n的值进行改变:对比发现当n>=2时有如下规律1、当n为整数时,图形变为2n个花瓣状的图形2、当n为奇数时,图形变为n个花瓣状的图形分别让n为2、3、4、5同时改变b和n的值,对比发现图形变为2n个花瓣状,并且还旋转了一定角度1 绘制sin(x)曲线,通过句柄修改曲线的颜色,要求:a)生成曲线的同时,获取句柄,再修改颜色;>> x=0:pi/50:2*pi;>> y=sin(x);>> h=plot(x,y)h =174.0101>> set(h,'color','r');截图如下:b)先生成曲线,然后再获取句柄,再完成颜色修改。
MATLAB程序设计与应用 刘卫国第三章作业

(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。
MATLAB程序:
2.使用函数,实现方阵左旋90度或者右旋90度的功能。例如,原矩阵为A,A左旋后得到B,右旋后得到C。
MATLAB程序:
3.建立一个方阵A求A的逆矩阵和A的行列式的值,并验证A与B是互逆的。
MATLAB程序:
5.求下列矩阵得主对角线元素,上三角阵,下三角阵,秩,范数,条件数和迹。
(1).MATLAB程序:
(2)MATLAB程序:
6.求矩阵A的特征值和相应的的特征向量。
MATLAB程序:
第三章作业
1.写出完成下列操作的命令。
(1)建立3阶单位矩阵。
MATLAB程序:
(2)建立5 6随即矩阵A,其元素为[100,200]范围内的随机整数。MATL NhomakorabeaB程序:
(3)产生均值为1,方差为0.2的500个正态分布的随机数。
(4)产生和A同样大小的幺矩阵。
MATLAB程序:
(5)将矩阵A的对角线元素加30.
matlab答案第三章

第三章1.写出完成下列操作的命令。
(1)建立3阶单位矩阵A 。
(2)建立5x6随机矩阵A ,其元素为[100,200]范围内的随机整数。
(3)产生均值为1,方差为0.2的500个正态分布的随机数。
(4)产生和A 同样大小的幺矩阵。
(5)将矩阵A 对角线的元素加30。
答:(1)A=eye(3)(2) A=100+100*rand(5,6)(3)A=1+sqrt(0.2)*randn(10,50) (4)B=ones(size(A)) (5)A+30*eye(size(A))2.建立一个方阵A ,求A 的逆矩阵和A的行列式的值,并验证A 与A -1是互逆的。
答:B=inv(A) ;A 的逆矩阵 C=det(A) ;A 的行列式的值 D=A*B E=B*AD=E=同阶单位矩阵 因此A 与A -1是互逆的。
3.求下面线性方程组的解。
⎪⎩⎪⎨⎧=+=+-=-+8312102322421321321x x x x x x x x 答:A=[4 2 -1;3 -1 2;12 3 0]; b=[2;10;8]; x=inv(A)*b x =-6.0000 26.6667 27.33334.求下列矩阵的秩、迹、条件数。
(1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=901511250324153211A (2) ⎥⎦⎤⎢⎣⎡-=2149.824343.0B 答: (1)rank(A) ;秩 ans =4cond(A) ;条件数 ans =11.1739trace(A) ;迹 ans =16 (2)略5.求矩阵A 的特征值和相应的特征向量。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=225.05.025.0115.011A 答:A=[1 1 0.5;1 1 0.25;0.5 0.25 2] A =1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.25002.0000 [V,D]=eig(A) V =0.7212 0.4443 0.5315 -0.6863 0.5621 0.4615 -0.0937 -0.6976 0.7103 D =-0.0166 0 0 0 1.4801 0 0 0 2.5365。
Matlab第三章习题答案

Matlab第三章习题答案第三章3.5计算多项式乘法()()222254x x x x ++++>> a=[1 2 2];>> b=[1 5 4];>> c=conv(a,b)c =1 7 16 18 8poly2sym(c)ans =x^4 + 7*x^3 + 16*x^2 + 18*x + 83.6计算多项式的除法()()3231368/4x x x x ++++ >> a=[3 13 6 8];>> b=[1 4];>> [q r]=deconv(a,b)q =3 1 2r =0 0 0 0>> poly2sym(q)ans =3*x^2 + x + 23.8求多项式4324121459x x x x --++的微分和积分(1)微分:>> a=[4 -12 -14 5 9];>> b=polyder(a)b =16 -36 -28 5>> poly2sym(b)ans =16*x^3 - 36*x^2 - 28*x + 5(2)积分:polyint(a)ans =0.8000 -3.0000 -4.6667 2.5000 9.00000 >> poly2sym(ans)ans =(4*x^5)/5 - 3*x^4 - (14*x^3)/3 + (5*x^2)/2 + 9*x3.9求代数⽅程32349x x x +-+=0的解。
>> [x]=solve('x^3+3*x^2-4*x+9')x =- 7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 -1/108*108^(1/2)*4703^(1/2))^(1/3) - 17/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 -(108^(1/2)*4703^(1/2))/108)^(1/3)/2 - (3^(1/2)*i*(7/(3*(15/2 -(108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 -(108^(1/2)*4703^(1/2))/108)^(1/3)/2 + (3^(1/2)*i*(7/(3*(15/2 -(108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 – 1 3.10求线性⽅程组223430x xy y x x ?++=??-+=??的解 eqn1='x^2+x*y+y=3';>> eqn2='x^2-4*x+3=0';[x,y]=solve(eqn1,eqn2)x =13y =1-3/23.11求微分⽅程64dy y x dx=+的通解。
MATLAB程序设计知到章节答案智慧树2023年广西科技大学

MATLAB程序设计知到章节测试答案智慧树2023年最新广西科技大学第一章测试1.当在命令行窗口执行命令时,如果不想立即在命令行窗口中输出结果,可以在命令后加上()。
参考答案:分号(;)2.MATLAB命令行窗口中提示用户输入命令的符号是()。
参考答案:>> ;3.fix(264/100)+mod(264,10)*10的值是()。
参考答案:424.下列可作为MATLAB合法变量名的是()。
参考答案:xyz_2a。
5.在命令行窗口输入下列命令后,x的值是()。
>> clear>> x=i*j参考答案:-1;6.建立矩阵时,不同行的元素之间用()分隔。
参考答案:分号;7.输入字符串时,要用()将字符序列括起来。
参考答案:' ';8.最初的MATLAB核心程序是采用()语言编写的。
参考答案:FORTRAN;9.下列选项中能反应MATLAB特点的是()。
参考答案:编程效率高。
10.如果要重新执行以前输入的命令,可以使用()。
参考答案:上移光标键(↑)。
11.plot(x,y)是一条()命令。
参考答案:绘图;12.以下两个命令行的区别是()。
>> x=5,y=x+10>> x=5,y=x+10;参考答案:第一个命令行同时显示x和y的值,第二个命令行只显示x的值;13.下列选项中,不是MATLAB帮助命令的是()。
参考答案:search;14.下列数值数据表示中错误的是()。
参考答案:2e;15.下列语句中错误的是()。
参考答案:x=y=3;16.已知s='显示"hello"',则s的元素个数是()。
参考答案:9;17.建立矩阵时,同一行的元素之间用()分隔。
参考答案:空格;;逗号;18.在当前文件夹和搜索路径中都有fpp.m文件,那么在命令行窗口输入fpp时,下列说法错误的是()。
参考答案:先执行当前文件夹的fpp.m文件,再执行搜索路径中的fpp.m文件;;先执行搜索路径中的fpp.m文件,再执行当前文件夹的fpp.m文件;;执行搜索路径中的fpp.m文件;19.内存变量文件是二进制格式文件,扩展名为.mat。
MATLAB第三章和第四章作业

习题三1.选择题(1)已知a=4,b='4',下面说法错误的为C 。
A. 变量a比b占用的存储空间大B. 变量a和b可以进行加、减、乘、除运算C. 变量a和b的数据类型相同D. 变量b可以用eval命令执行(2)已知s='显示"hello"',则s的元素个数是B 。
A. 12B. 9C. 7D. 18(3)运行命令>>a=sym('pi','d')则对于变量a的描述D是正确的。
A. a是符号变量B. a显示为10位的数值C. a显示为32位的数值D. a不存在(4)对于符号表达式g=sym('sin(a*z)+cos(w*v)'),如果运行命令diff(g),则求导自变量是D。
A. aB. zC. wD. v(5)运行命令>>a=double(sym('sin(pi/2)')),则变量a是 C。
A. 符号变量B. 字符串'1'C. double型的数值1D. 出错(6)运行命令>>y=dsolve('x*D2y-3*Dy=x^2','t')求解微分方程,则D。
A. Dy是指dy/dxB. 得出的y是通解有一个常数符C1C. D2y是指d2y/dxD. 得出的y是通解有两个常数符C1和C2(7)有一个2行2列的元胞数组c,则c(2)是指C 。
A. 第1行第2列的元素内容B. 第2行第1列的元素内容C. 第1行第2列的元素D. 第2行第1列的元素(8)对于一个2行2列的元胞数组c,如果要删除第二列的元素,应该使用的命令是B 。
A.c{:,2}=[]B.c(:,2)=[]C.A、B两种方式均可D.A、B两种方式均不可(9)有一个3行10列的构架数组student,每个构架有name(姓名)、scores两个字段,其中scores是以1×5数组表示的五门课的成绩,那么要查看第4个学生的第2门课成绩,采用的命令中达不到要求的是。
MATLAB第三章数值数组及其运算

行向量
如:array=[2, pi/2, sqrt(3), 3+5i]
x=[1,2,3,4,5都已知.如对 少量实验数据的处理可用此种方法.
4
(2) 冒号生成法: array=a: inc: b
<向量>
a---数组的第一个元素
inc---采样点之间的间隔, 即步长. 最后一个元素不一定等于b, 其大小为b’=a +inc*[(b-a)/inc]; 步长可以省略, 默认为 1; inc可以取正数或负数, 但要注意当取正时,要保证b>a, 数 组最后一个元素不超过b, 取负时b<a, 最后一个元素不小于b.
(2) 数值计算解法
delt=0.01; x=0:delt:4;
y=exp(-sin(x));
sx=delt*cumtrapz(y);
plot(x,y, 'r', 'LineWidth', 6); hold on;
plot(x, sx, '.b', 'MarkerSize', 15);
plot(x, ones(size(x)), 'k');
a inc>0 b
b inc>0 a
特点: 等差数列
方便对数据之间的间隔(步长)进行控制.但要注意三个数值之 间的关系,可能得到空数组.另外要注意生成的数组的元素的 个数.如x=a: (b-a)/n :b (b>a)得到n+1个元素的数组.
5
x=1:5x=[1,2,3,4,5]
y=5:-1:1y=[5, 4, 3, 2, 1]
2. 在命令窗中输入MyMatrix
11
3.5 二维数组的标识 (mxn, m>1, n>1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章
2,0[ 上产生具有10个等距采样点的一维数组。
试用两种不同的指令实1.要求在闭区间]
现。
方法一
t1=linspace(0,2*pi,10)
t1 = 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832
方法二
t2=0:2*pi/9:2*pi
结果与t1相同
2.由指令rand('state',0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
rand('state',0),A=rand(3,5)
[ri,cj]=find(A>0.5);
id=sub2ind(size(A),ri,cj);
ri=ri';
cj=cj';
disp(' ')
disp('大于0.5的元素的全下标')
disp(['行号 ',int2str(ri)])
disp(['列号 ',int2str(cj)])
disp(' ')
disp('大于0.5的元素的单下标')
disp(id')
A =
0.9501 0.4860 0.4565 0.4447 0.9218
0.2311 0.8913 0.0185 0.6154 0.7382
0.6068 0.7621 0.8214 0.7919 0.1763
大于0.5的元素的全下标
行号 1 3 2 3 3 2 3 1 2
列号 1 1 2 2 3 4 4 5 5
大于0.5的元素的单下标
1 3 5 6 9 11 1
2 1
3 14
3. 已知矩阵⎥⎦
⎤
⎢
⎣⎡=4321A ,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。
(1)请分别写出根据B1, B2恢复原矩阵A 的程序。
(2)用指令检验所得的两个恢复矩阵是否相等。
A=[1,2;3,4]; B1=A.^0.5 B2=A^0.5 A1=B1.*B1; A2=B2*B2;
norm(A1-A2,'fro') B1 =
1.0000 1.4142 1.7321
2.0000 B2 =
0.5537 + 0.4644i 0.8070 - 0.2124i 1.2104 - 0.3186i 1.7641 + 0.1458i
ans =
1.8505e-015
4. 在时间区间 [0,10]中,绘制t e y t 2cos 15.0--=曲线。
要求分别采取“标量循环运算法”
和“数组运算法”编写两段程序绘图。
%标量循环运算法 t=linspace(0,10,200); N=length(t); y1=zeros(size(t)); for k=1:N
y1(k)=1-exp(-0.5*t(k))*cos(2*t(k)); end
subplot(1,2,1), plot(t,y1), xlabel('t'), ylabel('y1'), grid on
%数组运算法
y2=1-exp(-0.5*t).*cos(2*t);
subplot(1,2,2),
plot(t,y2),
xlabel('t'),
ylabel('y2'),
grid on
5.先运行clear,format long,rand('state',1),A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。
clear,
format long
rand('state',1)
A=rand(3,3)
B=diag(diag(A))
C=A-B
A =
0.95278214965662 0.59815852417219 0.83681960067634
0.70406216677500 0.84074319811307 0.51870305972492
0.95387747359223 0.44281884223513 0.02220977857260
B =
0.95278214965662 0 0
0 0.84074319811307 0
0 0 0.02220977857260
C =
0 0.59815852417219 0.83681960067634
0.70406216677500 0 0.51870305972492
0.95387747359223 0.44281884223513 0
6.先运行指令x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off;
Z=sin(X).*sin(Y)./X./Y; 产生矩阵Z。
(1)请问矩阵Z中有多少个“非数”数据?
(2)用指令surf(X,Y,Z); shading interp观察所绘的图形。
(3)请写出绘制相应的“无裂缝”图形的全部指令。
x=-3*pi:pi/15:3*pi;
y=x;
[X,Y]=meshgrid(x,y);
warning off
Z=sin(X).*sin(Y)./X./Y;
NumOfNaN=sum(sum(isnan(Z))) %计算“非数”数目
subplot(1,2,1),surf(X,Y,Z),shading interp,title('有缝图') %产生无缝图
XX=X+(X==0)*eps;
YY=Y+(Y==0)*eps;
ZZ=sin(XX).*sin(YY)./XX./YY;
subplot(1,2,2),surf(XX,YY,ZZ),shading interp,title('无缝图')
NumOfNaN =
181
7. 下面有一段程序,企图用来解决如下计算任务:有矩阵⎥
⎥⎥⎥
⎦⎤⎢⎢⎢
⎢⎣⎡++++=k k k
k k k k k 10229221911 A ,当k 依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵k A “各列元素的和”,并把此求和
结果存放为矩阵Sa 的第k 行。
例如3=k 时,A 阵为⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡306329522841 ,此时它各列元素 的和是一个)101(⨯行数组[]87156 ,并把它保存为Sa 的第3行。
问题:该段程序的计算结果对吗?假如计算结果不正确,请指出错误发生的根源,并改正之。
(1)错误根源 for k=10:-1:1
A=reshape(1:10*k,k,10); Sa(k,:)=sum(A); end Sa
Sa =
55 55 55 55 55 55 55 55 55 55 3 7 11 15 19 23 27 31 35 39 6 15 24 33 42 51 60 69 78 87 10 26 42 58 74 90 106 122 138 154 15 40 65 90 115 140 165 190 215 240 21 57 93 129 165 201 237 273 309 345 28 77 126 175 224 273 322 371 420 469 36 100 164 228 292 356 420 484 548 612 45 126 207 288 369 450 531 612 693 774 55 155 255 355 455 555 655 755 855 955
(2)正确性分析
sum 对二维数组,求和按列施行;而对一维数组,不管行数组或列数组,总是求那数组所有元素的和。
for k=10:-1:1
A=reshape(1:10*k,k,10); Sa(k,:)=sum(A); if k==1 Sa(k,:)=A; end end
Sa
Sa =
1 2 3 4 5 6 7 8 9 10
3 7 11 15 19 23 27 31 35 39
6 15 24 33 42 51 60 69 78 87
10 26 42 58 74 90 106 122 138 154
15 40 65 90 115 140 165 190 215 240
21 57 93 129 165 201 237 273 309 345
28 77 126 175 224 273 322 371 420 469
36 100 164 228 292 356 420 484 548 612
45 126 207 288 369 450 531 612 693 774
55 155 255 355 455 555 655 755 855 955。