matlab 实验4 解答

合集下载

实验4 MATLAB绘图

实验4 MATLAB绘图
3
实验四 MATLAB 绘图
4)在第一小题的基础上加入网格和标注。 3 绘制单位圆。 提示:使用 axis( ‘ square’ )命令保证图形的纵横坐标刻度比例相同。 4 设 R 分别为 1, 5, 10 和 20,绘制伏安特性曲线, U=RI。 5
⎧ x = t ⎪ 绘制方程 ⎨ y = sin(t ) 在 t=[0 ⎪ z = cos(t ) ⎩
三 实验内容
1 已知向量 [1, 2, 4, 0, 5, 10, 11, 21, 3, 1],请绘图表示。 2 绘制一条正弦曲线和一条余弦曲线,分别满足以下条件: 1)在同一窗口,正弦曲线用红色的点线表示,余弦曲线用蓝色的星型线表示; 2)在同一个窗口中,要求分割为一行两列的子图,子图 1 为正弦曲线,子图 2 为余弦曲线 ;(线形与上题一致 ); 3)在两个不同的窗口中绘制这两条曲线;
1
实验四 MATLAB 绘图
1) . 单 窗 口 单 曲 线 绘 图 x=[0, 0.48,0.84,1,0.91,0.6,0.14] plot (x) 2) . 单 窗 口 多 曲 线 绘 图 例: t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) 3) . 单 窗 口 多 曲 线 分 图 绘 图 subplot —— 子图分割命令 调用格式: subplot(m,n,p) —— 按从左至右,从上至下排列 4) . 多 窗 口 绘 图 figure(n) —— 创建窗口函数, n 为窗口顺序号。 例 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) —— 自动出现第一个窗口 figure(2) plot(t,y1) —— 在第二窗口绘图 figure(3) plot(t,y2) ——在第三窗口绘图 5) .可 任 意 设 置 颜 色 与 线 型 plot(t,y,'r-',t,y1,'g:',t,y2,'b*') 6) .图 形 加 注 功 能 将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为: title —— 给图形加标题 xlable —— 给 x 轴加标注 ylable —— 给 y 轴加标注 text —— 在图形指定位置加标注 gtext —— 将标注加到图形任意位置 grid on(off) —— 打开、关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴的刻度 例: t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线 '); legend('正弦 ','余弦 ') xlabel('时间 t'),ylabel('正弦、余弦 ') grid

matlab实验4simulink系统仿真

matlab实验4simulink系统仿真
7.3.2 信号线的操作
1. 模块间连线 先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另 一模块的输入端。
6
Matlab实验讲义
2. 信号线的分支和折曲 (1) 分支的产生 将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,拖动鼠标直到分支线 的终点,释放鼠标;或者按住 Ctrl 键,同时按下鼠标左键拖动鼠标到分支线的终点,如图 7.10 所示。
7.2.2 Simulink 的模型窗口
模型窗口由菜单、工具栏、模型浏览器窗口、模型框图窗口以及状态栏组成。
菜单 工具栏
模型浏览器
模型框图
状态栏
图7.5 双窗口模型窗口
1. 状态栏
3
Matlab实验讲义
2. 工具栏 模型窗口工具栏如图 7.6 所示。
创建并编译生成exe文件
展示父系统 打开调试器
开始仿真 结束仿真
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白 模型窗口“untitled”,则“Sine Wave”模块就被添加到 untitled 窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加到 untitled 窗口,如图 7.2 所示。
显示库链接 显示/隐藏阴影效果 设置不同的采样时间序列的颜色 粗线表示多信号构成的向量信号线 注明向量信号线的信号数 标明端口数据的类型 显示存储类型 数据浏览器 Simulink调试器 用户定义数据类型设计器 线性化分析工具
7.3 模型的创建
7.3.1 模块的操作
1. 对象的选定 (8) 选定单个对象 选定对象只要在对象上单击鼠标,被选定的对象的四角处会出现小黑块编辑框。 (9) 选定多个对象 如果选定多个对象,可以按下 Shift 键,然后再单击所需选定的模块;或者用鼠标拉出 矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中,如图 7.7 所示。

2013MATLAB原理及应用实验报告第四章

2013MATLAB原理及应用实验报告第四章

《MATLAB原理及应用》实验报告第四章MATLAB程序设计一.实验目的1、掌握脚本文件的建立2、掌握条件语句和程序语句的使用3、掌握MATLAB的程序设计方法二.实验内容1.关于M脚本文件和M函数文件M文件是在M文件编辑器窗口中编写的。

在MATLAB的桌面上单击新建按钮,就可以打开M文件编辑器窗口,也可以通过依次单击【File】/【New】/【M-File】打开文件编辑器。

【实验4-1】脚本文件在M文件编辑器窗口输入一下内容:N=3;for m=1:Nfor n=1:Nif m==nA(m,n)=1;elseA(m,n)=0;endendend单击M文件编辑器窗口中的保存按钮,以“ex1.m”为文件名保存在当前工作目录下。

在命令窗口中输入:>> ex1运行后可以在命令窗口中看到变量A的图标,继续在命令窗口输入:>> AA =1 0 00 1 00 0 1这一脚本文件创建了一个3阶单位阵【实验4-2】 M 函数在M 文件编辑器窗口输入一下内容:function [mean,stdev]=stat(x)x=input('请输入x 的值:')%[mean,stdev]=stat(x)计算输入向量的均值和平均差%输入参数x 是向量%第一个输入参数mean 是向量各元素的平均值%第二个输入参数stdev 是向量的均方差%例如,取向量x=[1,2,3,4,5];%调用[mean,stdev]=stat(x),计算可得%均值mean=3%均方差stdev=1.4142n=length(x) %计算向量长度mean=sum(x)/n %计算向量平均值stdev=sqrt(sum((x-mean).^2/n)) %计算均方差输入完毕后,单击保存按钮,把文件保存在当前工作目录下,文件名为“stat.m ”2.MATLAB 程序流程控制【实验4-3】一个简单的for 循环事例。

matlab课后习题答案第四章

matlab课后习题答案第四章

第4章数值运算习题 4 及解答1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff或数值梯度gradient指令计算)(t y',然后把)(t y和)(t y'曲线绘制在同一张图上,观察数值求导的后果。

(模拟数据从prob_data401.mat获得)〖目的〗●强调:要非常慎用数值导数计算。

●练习mat数据文件中数据的获取。

●实验数据求导的后果●把两条曲线绘制在同一图上的一种方法。

〖解答〗(1)从数据文件获得数据的指令假如prob_data401.mat文件在当前目录或搜索路径上clearload prob_data401.mat(2)用diff求导的指令dt=t(2)-t(1);yc=diff(y)/dt; %注意yc的长度将比y短1plot(t,y,'b',t(2:end),yc,'r')(3)用gradent 求导的指令(图形与上相似)dt=t(2)-t(1);yc=gradient(y)/dt;plot(t,y,'b',t,yc,'r')grid on〖说明〗● 不到万不得已,不要进行数值求导。

● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级以上。

● 求导会使数据中原有的噪声放大。

2 采用数值计算方法,画出dt tt x y x ⎰=0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。

〖提示〗● 指定区间内的积分函数可用cumtrapz 指令给出。

● )5.4(y 在计算要求不太高的地方可用find 指令算得。

〖目的〗● 指定区间内的积分函数的数值计算法和cumtrapz 指令。

● find 指令的应用。

〖解答〗dt=1e-4;t=0:dt:10;t=t+(t==0)*eps;f=sin(t)./t;s=cumtrapz(f)*dt;plot(t,s,'LineWidth',3)ii=find(t==4.5);s45=s(ii)s45 =1.65413 求函数x ex f 3sin )(=的数值积分⎰=π0 )(dx x f s ,并请采用符号计算尝试复算。

2019年MATLAB)课后实验答案

2019年MATLAB)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。

(2) 将方程右边向量元素b 3改为再求解,并比较b 3的变化和解的相对变化。

(3) 计算系数矩阵A 的条件数并分析结论。

解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=,,,,,,时的y 值。

MATLAB)课后实验答案

MATLAB)课后实验答案

实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。

(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0、5:2、5 解:4、 完成下列操作:(1) 求[100,999]之间能被21整除得数得个数。

(2) 建立一个字符串向量,删除其中得大写字母。

解:(1) 结果:(2)、 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果就是:实验二 MATLAB 矩阵分析与处理1、 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。

(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。

(3) 计算系数矩阵A 得条件数并分析结论。

解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。

matlab实验4_循环结构程序设计_参考解答

matlab实验4_循环结构程序设计_参考解答

高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
clear all; close all; clc; y=0; n=1; while y<3
y=y+1/(2*n-1); n=n+1; end n=n-1; y=y-1/(2*n-1) n=n-1
运行结果:
y= 2.9944
x1=a/(b+x0); y=abs(x1-x0); x0=x1;
MATLAB 语言
3
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
n=n+1; end x1 r1=(-b+sqrt(b^2+4*a))/2 r2=(-b-sqrt(b^2+4*a))/2
clear all; close all; clc; prime=[]; for n=2:49
x=n*(n+1)-1; signx=0; for k=2:sqrt(x)
MATLAB 语言
5
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
根据
π2 6
=1 12
+
1 22
+1 32
+"+
1 n2
,求 π 的近似值。当
n
分别取
100、1000、10000
时,
结果是多少?
要求:分别用循环结构和向量运算(使用 sum 函数)来实现。 答:程序设计:
(1) 循环结构

matlab课后习题答案第四章

matlab课后习题答案第四章

第4章数值运算习题 4 及解答1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff或数值梯度gradient指令计算)(t y',然后把)(t y和)(t y'曲线绘制在同一张图上,观察数值求导的后果。

(模拟数据从prob_data401.mat 获得)〖目的〗●强调:要非常慎用数值导数计算。

●练习mat数据文件中数据的获取。

●实验数据求导的后果●把两条曲线绘制在同一图上的一种方法。

〖解答〗(1)从数据文件获得数据的指令假如prob_data401.mat文件在当前目录或搜索路径上clearload prob_data401.mat(2)用diff求导的指令dt=t(2)-t(1);yc=diff(y)/dt; %注意yc的长度将比y短1plot(t,y,'b',t(2:end),yc,'r')grid on(3)用gradent 求导的指令(图形与上相似)dt=t(2)-t(1);yc=gradient(y)/dt;plot(t,y,'b',t,yc,'r')grid on〖说明〗● 不到万不得已,不要进行数值求导。

● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级以上。

● 求导会使数据中原有的噪声放大。

2 采用数值计算方法,画出dt tt x y x ⎰=0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。

〖提示〗● 指定区间内的积分函数可用cumtrapz 指令给出。

● )5.4(y 在计算要求不太高的地方可用find 指令算得。

〖目的〗● 指定区间内的积分函数的数值计算法和cumtrapz 指令。

● find 指令的应用。

〖解答〗dt=1e-4;t=0:dt:10;t=t+(t==0)*eps;f=sin(t)./t;s=cumtrapz(f)*dt;plot(t,s,'LineWidth',3)ii=find(t==4.5);s45=s(ii)s45 =1.65413 求函数x ex f 3sin )(=的数值积分⎰=π0 )(dx x f s ,并请采用符号计算尝试复算。

MATLAB)课后实验答案

MATLAB)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i 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) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044i2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(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]解: M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1 ans =68 44 62309 -72 596154 -5 241 ans =12 102 468 0 2619 -130 49 ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7 ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。

matlab课后习题答案第四章

matlab课后习题答案第四章

第4章数值运算习题 4 及解答1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff或数值梯度gradient指令计算)(ty'曲线y',然后把)(t y和)(t 绘制在同一张图上,观察数值求导的后果。

(模拟数据从获得)〖目的〗强调:要非常慎用数值导数计算。

练习mat数据文件中数据的获取。

实验数据求导的后果把两条曲线绘制在同一图上的一种方法。

〖解答〗(1)从数据文件获得数据的指令假如文件在当前目录或搜索路径上clearload(2)用diff求导的指令dt=t(2)-t(1);yc=diff(y)/dt; %注意yc的长度将比y短1plot(t,y,'b',t(2:end),yc,'r')grid on1234567-2-1.5-1-0.500.511.5(3)用gradent 求导的指令(图形与上相似)dt=t(2)-t(1); yc=gradient(y)/dt; plot(t,y,'b',t,yc,'r') grid on〖说明〗不到万不得已,不要进行数值求导。

假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级以上。

求导会使数据中原有的噪声放大。

2 采用数值计算方法,画出dt ttx y x⎰=0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。

〖提示〗指定区间内的积分函数可用cumtrapz 指令给出。

)5.4(y 在计算要求不太高的地方可用find 指令算得。

〖目的〗指定区间内的积分函数的数值计算法和cumtrapz 指令。

find 指令的应用。

〖解答〗dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==;s45=s(ii) s45 =24681000.20.40.60.811.21.41.61.823 求函数xex f 3sin )(=的数值积分⎰=π0 )(dx x f s ,并请采用符号计算尝试复算。

matlab实验指导答案详解(非常详细正确)

matlab实验指导答案详解(非常详细正确)

实验一MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。

二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条(Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。

(1)(365-52⨯2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667(2)>>area=pi*2.5^2 area = 19.6350(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= >>x=3 >>y=4>>z = x ^2 * y ^3 / (x - y) ^2 z = 576(4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。

m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令>>m1 =[16 2 3 13 ; 5 11 10 8 ; 9 7 6 12 ; 4 14 15 1 ] >>m1( 2 , 3 ) ans = 10 >>m1( 11 ) ans = 6>>m1( : , 3 ) ans =3 10 6 15>>m1( 2 : 3 , 1 : 3 ) ans =5 11 10 9 7 6>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) ans = 34(5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i ) (6)执行命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。

MATLAB原理及应用实验报告第四章答案

MATLAB原理及应用实验报告第四章答案

《MATLAB 原理及应用》实验报告三.课后练习题答案1.为 ⎪⎩⎪⎨⎧<-=>+=01001x x x xx x y 编写赋值程序。

程序如下:①建立如下的M 文件:x=input('x=');%让用户通过键盘输入数值、字符串或表达式if x>0y=x+1;elseif x==0y=x;else x<0y=x-1;e nd程序执行结果如下>> kh1 %在当前工作目录下,文件名为“kh.1.m ” x=1>> yy =22.使用for ... end循环的array向量编程求出1+3+5...+100 的值程序如下:sum=0;>> for k=1:2:100sum=sum+k;end>> sumsum =25003.计算1+3+5...+100 的值,当和大于1000时终止计算。

程序如下:sum=0;for m=1:2:100; %建立1 3 5….100的向量if sum<=1000 %如果sum小于1000则可以继续加sum=sum+m; %累加elsebreak; %若sum的结果不符合条件就跳出整个循环endend结果为:sum =1024k =653.1计算从1开始多少个自然数之和超过100。

程序如下:>> sum=0;n=0;>> while sum<=100n=n+1;sum=sum+n;end结果为:n =14sum =1054.求1!+2!+3!+……+8!的值程序如下:n=1;sum=1;for m=2:8; %循环7次使得得到各次阶乘n=n*m;sum=sum+n; %累加end结果为:sum =462335.写程序,判断一年是否为闰年,符合下面两条件之一:(1990~2014)A、能被4整除,不能被100整除B、能被400整除程序如下count=0;for y=1990:2014;if((rem(y,4)==0&rem(y,100)~=0)|(rem(y,4)==0&rem(y,400)~=0));count=count+1;endend结果为:count =5。

实验四 MATLAB的图形操作(答案)

实验四   MATLAB的图形操作(答案)

MATLAB实验报告专业班级电气1042姓名唐松学号18成绩评定电气与信息学院和谐勤奋求是创新实验教学考核和成绩评定办法1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。

实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。

2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。

3.实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、0.4;原则上根据上述三个方面进行综合评定。

学生未取得1)和2)项成绩时,第3)项成绩无效。

4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。

实验成绩在教师手册中有记载。

实验报告主要内容一.实验目的二.实验仪器及设备三.实验原理四.实验步骤五.实验记录及原始记录六.数据处理及结论七. 思考题八.实验体会(可选项)注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。

2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。

3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。

4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。

5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

>>(2) 绘制函数y=sin2tcos2t的极坐标图形。

>> t=0:.01:2*pi;(3) 设置绘图线的线型、颜色、宽度、标记点的颜色及大小。

>> t=0:.01:2*pi;特殊图形(1)条形图绘制指定坐标x=[1 2 3 4 5];>>(2)饼图x= [10 25 37 66 88],绘制饼图,并将第五个切块分离出来。

实验4答案 Matlab程序设计1

实验4答案 Matlab程序设计1

实验4 Matlab 程序设计1实验目的:1、 掌握建立和执行M 文件的方法;2、 掌握实现选择结构的方法;3、 掌握实现循环结构的方法。

实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。

加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。

a = input('请输入一个四位整数:');a1 = fix(a/1000);a2 = rem(fix(a/100),10);a3 = rem(rem(fix(a/10),100),10);a4 = rem(a,10);a1 = rem(a1+7,10)a2 = rem(a2+7,10)a3 = rem(a3+7,10)a4 = rem(a4+7,10)b1 = a1;a1 = a3;a3 = b1;b2 = a2;a2 = a4;a4 = b2;b = a1*1000+a2*100+a3*10+a42. 求分段函数的值。

,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。

x = input(请输入X 的值:');if x <0 & x~=-3y = x.*x +x-6;elseif x>=0 & x<5 & x~=2 & x~=3y = x.*x-5*x+6;elsey = x.*x-x-1;endy3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:(1)分别用if语句和swich语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

MATLAB实验四:MATLAB程序设计 参考答案

MATLAB实验四:MATLAB程序设计 参考答案

function y=f(x) y=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14)
河南财经政法大学数学与信息科学学院
6
实验报告
f(1)*f(2)+f(3)
function f=f(a,b,c) f=g(a)*g(b)+g(c)^2; function g=g(x) g=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14);
a=rand(1,100); [b,c]=sort(a); index=c(1); i=1; while i<=7 if i==8 disp('You Lost!'); i=i+1; else d=input('please input the number you guess:'); if d>index disp('High'); elseif d<index disp('Low'); elseif d==index disp('You won!'); i=9;
syms i j k l n i=1;k=0; n=input('Input n:'); for j=1:n i=i*j; k=k+j; end fprintf('%d!=%d \n Sum(1,...,%d)=%d\n',n,i,n,k);
4、用 while-end 循环语句求不超过 1000 的偶数之和,并求显示出最大值。 s=0,n=0; while s<=1000 n=n+2; s=s+n; if s>1000 break end

数学实验4(程序设计)参考答案

数学实验4(程序设计)参考答案

实验4 MATLAB 程序设计一、实验目的:1.理解命令式M 文件和函数式M 文件的关系及各自的特点;2.掌握MATLAB 中关系运算和逻辑运算的正确使用方法;3.掌握MATLAB 中两种循环结构及选择结构的正确使用方法;4.能够编制简单的程序解决实际问题。

二、实验内容:1.满足条件01=a ,12=a ,…,n n n a a a +=++12(n=0,1,…)的数列称为Fibonacci 数列,(1)编写一个MATLAB 函数式M 文件fibo.m 来计算Fibonacci 数列的任意项的数值;(2)计算数列中第50项的数值并给出程序运行所用的时间;(3)编写一个MATLAB 命令式M 文件调用函数式M 文件fibo.m 来计算Fibonacci 数列的前n 项和的值;给出n=50时的结果。

(1)计算Fibonacci 数列的程序function x=fibo(n)if n<1|fix(n)~=ndisp('N must be a positive integer.');elseif n==1;x=0;elseif n==2x=[0,1];elsex=zeros(1,n);x(1)=0;x(2)=1;for k=3:nx(k)=x(k-1)+x(k-2);endend(2)计算数列中第50项的数值x= fibo(50);ticF=x(50)toc(3)Fibonacci 数列的前50项和的值x= fibo(50);FF=sum(x)2.利用下面的公式计算π的值14134171513114---++-+-=N N π,选择不同的N 值,比较结果的精确度。

function PI=hw2(n)if n<1|fix(n)~=ndisp('N must be a positive integer.');elsePI=0;for k=1:nx=1/(4*k-3)-1/(4*k-1);PI=PI+x;endendPI=4*PI;n N的最小正整数n。

实验4Z变换和系统频域特性的MATLAB实现

实验4Z变换和系统频域特性的MATLAB实现

实验4Z变换和系统频域特性的MATLAB实现⼩实验4 Z 变换和系统频域特性的MATLAB 实现1. 实验⽬的学习通过Z 变换来分析离散系统的频率响应,并⽤MATLAB 实现。

加深对系统的零、极点分布概念的理解。

2. 实例分析2.1通过Z 变换分析求解系统的冲激响应()h n已知⽤线性常系数差分⽅程:1()()()NMk r k r y n a y n k b x n r ===-+-∑∑表⽰的线性时不变系统其系统函数为:01()()()1Mrr r N kk k b zY z H z X z a z-=-===-∑∑ (3-1)上式为两个关于1z -的多项式之⽐,即()H z 为有理分式。

同时,式可以表⽰成部分分式的形式:110()1NM Nkk k k k k R H z C z p z ---===+-∑∑ 则可以通过所熟悉的常见序列的Z 变换形式求得()H z 的Z 反变换,从⽽求得系统的冲激响应函数()h n 。

MATLAB 提供了⼀个内部函数residuez( ),来计算有理多项式的留数和直接项,residuez( )函数有⼏种调⽤⽅式:(1)[R,p,C] = residuez(b,a),在已知以分⼦⾏向量b 和分母⾏向量a 下,得到列向量R 含有留数,列向量p 是极点位置,⾏向量C 包含直接项;(2)[b,a] = residuez(R,p,C),将部分分式展开式转换到分⼦⾏向量b 和分母⾏向量a.MATLAB 还提供了⼀个内部函数impz(b,a,N),在已知分⼦⾏向量b 和分母⾏向量a 下,计算N 点的单位冲激响应()h n 。

例3.1 求系统:123412340.0018360.0073440.0110160.0073740.001836()1 3.0544 3.8291 2.29250.55075z z z z H z z z z z --------++++=-+-+的单位冲激响应()h n 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四:Matlab 的数值计算
一、实习目的
1、了解MATLAB 的数值计算功能
2、掌握常用的MATLAB 数值计算函数及其运用
二、实习要求
1.明确实习任务。

2.充分利用实习教材与教学课件,运行例题,模仿实习。

3.实习后应该认真总结,完成实习报告。

三、实习内容:
问题1:求方程组的一个特解。

A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8]
B=[1 4 0]'
D=rank(A)
x=A\B
Warning: Rank deficient, rank = 2, tol =
8.8373e-015.
x =
-0.5333
0.6000
问题2:设A 是 一个实对称矩阵。

请给出一个算法来验证A 是否是一个正定矩阵,并举实例加以说明。

A=[2 1 3;1 4 5;3 5 6]
A =
2 1 3
1 4 5
3 5 6
⎪⎩⎪⎨⎧=--+=+--=--+0
89544331
3432143214321x x x x x x x x x x x x
B=eig(A)
B =
-0.7527
1.6797
11.0730
问题3:编写一函数,实现多项式的加减运算。

问题4:求
的商及余多项式 format rat
p1=conv([1,0,2],conv([1,4],[1,1]));
p2=[1 0 1 1];
[q,r]=deconv(p1,p2);
cq='商多项式为';cr='余多项式为';
disp([cq,poly2str(q,'s')]),disp([cr,poly2str (r,'s')])
商多项式为 s + 5
余多项式为 5 s^2 + 4 s + 3
问题5:用随机函数生成n 个数据点,对这n 个数据点做3次样条插值并绘出插值曲线。

(如n=10)
问题6:用4次多项式拟合以下数据
X=0:0.1:1; Y=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];
x0=0:0.1:1;
y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];
n=3;
p=polyfit(x0,y0,n)
xx=0:0.01:1;
yy=polyval(p,xx);
plot(xx,yy,'-b',x0,y0,'.r','markersize',20)
legend('拟合曲线','原始数据','location','southEast')
xlabel('x')
p =
5329/94 -18556/213 5721/143 -482/533
1)1)(4)(2(322-+++++s s s s s s。

相关文档
最新文档