matlab实验四

合集下载

实验4 matlab gui设计

实验4 matlab gui设计

实验四 MATLAB GUI设计一.预备知识点1. 图形用户界面(GUI)是用户与计算机程序之间的交互方式,是用户与计算机进行信息交流的方式。

计算机在屏幕显示图形和文本,若有扬声器还可产生声音。

用户通过输入设备,如:键盘、鼠标、跟踪球、绘制板或麦克风,与计算机通讯。

用户界面设定了如何观看和如何感知计算机、操作系统或应用程序。

通常,多是根据悦目的结构和用户界面功能的有效性来选择计算机或程序。

图形用户界面或GUI是包含图形对象,如:窗口、图标、菜单和文本的用户界面。

以某种方式选择或激活这些对象,通常引起动作或发生变化。

最常见的激活方法是用鼠标或其它点击设备去控制屏幕上的鼠标指针的运动。

按下鼠标按钮,标志着对象的选择或其它动作。

2.对“句柄图形”的理解是设计和实现GUI的先决条件。

由图形命令生成的每一事物是一个图形对象。

图形对象不仅包括uimenu和uicontrol对象,而且还包括图形、坐标轴和他们的子对象。

让我们从另一个角度来看这一层次结构。

计算机的屏幕本身是根结点,图形是根对象的子对象,坐标轴,uimenu ,uicontrol是图形的子对象。

根可以包括多个图形,每个图形含有一组或多组坐标轴以及其子对象,每个图形也可以有一个或多个与坐标轴无关的uimenu和uicontrol。

虽然uicontrol对象无子对象结点,但他们确实具有多种类型。

uimenu对象常将其它的uimenu对象作为其子对象。

3. MATLAB的图形用户界面设计实际上是一种面向对象的设计方法。

假设想建立一个图形界面来显示和处理二维图形的颜色、线型及数据点的图标。

要求其基本功能是:(1)建立一个主坐标系,用来显示要绘制的二维图形;(2)建立一个列表框,允许用户选择不同的着色方法;(3)建立一组按扭,用于处理二维图形线型和数据点的图标;(4)为图形界面加入菜单项,用于决定坐标轴是否显示及坐标轴上是否需要网格;(A)最初图形界面的设想如下图所示:(B)根据上面的设想,下面我们就来制作它的图形用户界面:首先,我们先来看其图形窗口的设置。

实验四 Matlab编程

实验四  Matlab编程

实验四Matlab编程【实验目的】1、了解Matlab运行方式2、熟悉Matlab程序流程与结构3、会编写简单的Matlab程序4、掌握M文件编辑器及程序的调试工具【实验内容】1、关系运算与逻辑运算2、m函数文件(function file)和m命令文件(script file)以及m文件的调试3、分支结构和循环结构4、相关语句或函数5、根据要求,完成实验报告中的内容【实验指导】1)关系运算与逻辑运算关系运算符>(大于) <(小于) >=(大于等于) <=(小于等于) ==(等于) ~=(不等于) 逻辑运算符& (与) |(或) ~(非) xor(异或)% 逻辑结果以“1”或者“非零数字”表示真, 以“0”表示假。

测试函数2)m函数文件(function file)基本数学函数自定义函数:以m文件形式出现✓格式:function [y1, y2, ..., yn]=fun_name(x1, x2, ..., xn)✓说明:◆函数名必须符合Matlab变量命名规则。

◆m文件名必须与函数名相同。

◆输出参数只有一个或者没有时,可以省略方括号。

◆输入参数可为0、1、2、...个,但不能省略圆括号。

◆M函数文件第一行必须以funtion开头。

◆函数有自已的工作空间,它与Matlab系统本身的工作空间是分开的。

◆当m文件到终点或者遇到return时结束调用。

◆函数可以调用其他函数,也可以调用自己。

◆一个m文件中可以定义多个函数,第一个出现的为主函数,其他的为子函数。

注意文件名与主函数名相同,子函数只能被主函数调用,而不能被该m文件外的函数或者m文件调用。

✓调用:[y1, y2, ..., yn]=fun_name(x1, x2, ..., xn)3)m命令文件(script file)该文件仅是一连串Matlab指令的集合,执行时按顺序执行。

它没有输入参数与输出参数,中间可以调用函数。

实验四MATLAB数值计算与符号计算

实验四MATLAB数值计算与符号计算

实验四 MATLAB数值计算与符号计算一、实验目的1.掌握数据插值和曲线拟合的方法2.掌握求数值导数和数值积分的方法3.掌握代数方程数值求解的方法4.掌握常微分方程数值求解的方法5.掌握求解优化问题的方法6.掌握求符号极限、导数和积分的方法7.掌握代数方程符号求解的方法8.掌握常微分方程符号求解的方法二、实验原理1.数据插值a) 一维数据插值 Y1=interp1(X,Y,X1,’method’)b) 二维数据插值 Z1=interp2(X,Y,Z,X1,Y1,’method’)2.曲线拟合[P,S]=polyfit(X,Y,m)3.符号对象的建立(1)符号量名=sym(符号字符串):建立单个的符号变量或常量;(2)syms arg1 arg2,…,argn:建立n个符号变量或常量。

4.基本符号运算(1)基本四则运算:+,-,*,\,^(2)分子与分母的提取:[n,d]=numden(s)(3)因式分解与展开:factor(s),expand(s)(4)化简:simplify, simple(s)5.符号函数及其应用(1)求极限:limit(f,x,a)(2)求导数:diff(f,x,a);(3)求积分:int(f,v)三、实验内容1.按下表用3次样条方法插值计算0~900范围内整数点的正弦值和0~750范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。

x2=0:75;y1=sin(pi.*x1./180);y2=tan(pi.*x2./180);;a=interp1(x1,y1,45,'cublic')b=interp1(x1,y1,45,'cublic')p1=polyfit(x1,y1,5)p2=polyfit(x2,y2,5)c1=polyval(p1,x1);c2=polyval(p2,x2);subplot(2,1,1);plot(x1,c1,':o',x1,y1,'r');subplot(2,1,2);plot(x2,c2,':o',x2,y2,'r');10203040506070802.(1)求函数33()sin cos f x x x =+在点,,,6432x ππππ=的数值导数。

MATLAB实验四_求微分方程的解

MATLAB实验四_求微分方程的解

参数说明
[T,Y] = solver(odefun,tspan,y0)
odefun 为显式常微分方程,可以用命令 inline 定义,或 在函数文件中定义,然后通过函数句柄调用。
dy 2 2 y 2 x 2x 求初值问题 的数值解,求解范 例: dx 围为 [0,0.5] y( 0 ) 1
dsolve的输出个数只能为一个 或 与方程个数相等。
只有很少一部分微分方程(组)能求出解析解。 大部分微分方程(组)只能利用数值方法求数值解。
Matlab函数数值求解
[T,Y] = solver(odefun,tspan,y0)
其中 y0 为初值条件,tspan为求解区间;Matlab在数值求解 时自动对求解区间进行分割,T (列向量) 中返回的是分割点 的值(自变量),Y (数组) 中返回的是这些分割点上的近似解, 其列数等于因变量的个数。
数学实验
实验四
求微分方程的解
问题背景和实验目的
自牛顿发明微积分以来,微分方程在描述事物运 动规律上已发挥了重要的作用。实际应用问题通过 数学建模所得到的方程,绝大多数是微分方程。 由于实际应用的需要,人们必须求解微分方程。 然而能够求得解析解的微分方程十分有限,绝大多 数微分方程需要利用数值方法来近似求解。 本实验主要研究如何用 Matlab 来计算微分方程 (组)的数值解,并重点介绍一个求解微分方程的 基本数值解法--Euler折线法。
Runge-Kutta 方法
Euler 法与 R-K法误差比较
Matlab 解初值问题
用 Maltab自带函数 解初值问题 求解析解:dsolve 求数值解:
ode45、ode23、 ode113、ode23t、ode15s、 ode23s、ode23tb

Matlab实验四拟合

Matlab实验四拟合

解法 2.用多项式拟合的命令
1)输入以下命令:
x=0:0.1:1;
y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
A=polyfit(x,y,2)
z=polyval(A,x);
plot(x,y,'k+',x,z,'r')
%作出数据点和拟合曲线的图形
r1 (xn ) ... rm (xn ) nm
则线性方程组可表示为: RT Ra RT y
由于当 r1(x), r2 (x), rm (x) 线性无关时,R 列满秩,RT R 可逆所以上述 方程组有唯一解:a (RT R)1 * RT y (称为该线性方程组的最小二乘
意义下的解)。此即线性最小二乘拟合所得系数。
(4)[x, options]=lsqcurvefit (‘fun’,x0,xdata,ydata,…); (5)[x,options,funval]=lsqcurvefit(‘fun’,x0,xdata,ydata,…)
; (6) [x,options,funval,Jacob] = lsqcurvefit (‘fun’,x0,xdata,
用作线性最小二乘拟合的误差也可以考虑以下两种形式:
n
1.最小平方误差: J (a1, a2 ,...am ) ( ( yi f (xi ))2 ) i 1
2.最大偏差: J (a1, a2 ,...am ) max yi f (xi ) 1in
(二)基函数组的选取
线性最小二乘拟合 f(x)=a1r1(x)+ …+amrm(x)中函数
该问题即求解最优化问题:

(打印)实验四 MATLAB 高级图形绘制

(打印)实验四 MATLAB 高级图形绘制

实验四MATLAB 高级图形绘制一、实验目的及要求:1.熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB 中图形窗口的操作。

二、实验内容:1.用图形表示连续调制波形Y=sin(t)sin(9t)及其包络线。

程序代码如下:包络线:2.x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos 2x①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。

程序:结果:②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。

程序:结果:③绘制三维曲线:⎪⎩⎪⎨⎧=≤≤==)cos()sin()200()cos()sin(t t t z t t y t x π程序:结果:3.绘制极坐标曲线ρ=asin(b+nθ),并分析参数a、b、n对曲线形状的影响。

(1)a=1;b=1;n=1(2)a=10;b=1;n=1(3)a=10;b=10;n=1 (4)a=10;b=10;n=10参数a、b、n对曲线形状的影响:由上面绘制的图形可知:a决定图形的大小,当a为整数时,图形半径大小就是a;b决定图形的旋转角度,图形的形状及大小不变;n决定图形的扇叶数,当n 为奇数时,扇叶数为n,当n为偶数时,扇叶数为2n。

三、结论本次实验用到了曲线绘图、三位曲线绘图的知识,与老师上课的内容一致,让我学的matlab绘图的知识得到了巩固,我还学会了如何使用title、subplot、plot、axis等函数。

在做实验的过程复习了hold on指令是覆盖函数继续绘图的意思。

实验四 MATLAB的绘图

实验四  MATLAB的绘图

西安邮电大学《Matlab程序设计基础》课内实验报告题目:实验四MATLAB的绘图院系名称:计算机学院专业名称:计算机科学与技术班级:计科1502班内序号:05141107(29)学生姓名:赵阳指导教师:张老师实验四MATLAB的绘图一、实验目的:掌握基本的绘图函数plot。

二、实验内容:1、在同一坐标系下绘制下面三个函数在[0,4pi]的图象。

代码如下:t=0:pi/100:4*pi;y1=t;y2=sqrt(t);y3=4*pi*exp(-0.1*t).*sin(t);plot(t,y1,t,y2,t,y3)2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。

代码如下:x=linspace(-6,6,100);y=[];for x0=xif x0<=0y=[y,sin(x0)];elseif x0<=3y=[y,x0];elsey=[y,-x0+6];endendplot(x,y)3、用compass函数画下面相量图ua=1;ub=cos(-2*pi/3)+sin(-2*pi/3)*i;uc=cos(2*pi/3)+sin(2*pi/3)*i;compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])代码如下:ua=1;ub=cos(-2*pi/3)+sin(-2*pi/3)*i;uc=cos(2*pi/3)+sin(2*pi/3)*i;compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])4、三维空间曲线绘制z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)代码如下:z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)5、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3]。

代码如下:[x,y]=meshgrid(-3:0.5:3);z=-x^2/10+y^2/10;mesh(x,y,z)三、思考题在同一坐标系下,用不同颜色和线型绘制以下两个函数在tÎ[-2p,2p]范围内的图象。

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实验报告四(矩形法梯形法抛物线法求定积分)
x=0.5的方程:
functionf=f1(x)
f=sqrt(1+0.5^2*cos(x).^2);
x=0.9的方程:
functionf=f1(x)
f=sqrt(1+0.9^2*cos(x).^2);
3.结果
f=zuoye(@f1,0,2e1(@f1,0,2*pi,100)
functionf=zuoye(fun,a,b,n)
h=(b-a)/n;
x=a:h:b;
y=x;
fori=2:n+1
y(i)=fun((x(i)+x(i-1))/2);
end
f=h*sum(y(1:end))
梯形法:
functionf=zuoye1(fun,a,b,n)
h=(b-a)/n;
x=a:h:b;
f = 6.2989
f=zuoye3(@f1,0,2*pi,100)
x = 6.2989
4.结论及分析
三、实验小结
y=x;
fori=1:n+1
y(i)=fun(x(i));
end
f=h*(sum(y)-1/2*y(1)-1/2*y(end));
抛物线法:
functionf=zuoye3(fun,a,b,n)
h=(b-a)/(2*n);
x=a:h:b;
y=x;
fori=1:2*n+1
y(i)=fun(x(i));
数学与信息科学系实验报告
实验名称定积分的近似计算
所属课程数学软件与实验
实验类型综合型实验
专业信息与计算科学
班级
学号
姓名
指导教师
一、实验概述
【实验目的】

MATLAB数学实验实验四昆虫鳘殖

MATLAB数学实验实验四昆虫鳘殖

axis off
0
0
0.5
1
16/13
8000
function X=insect(n) 6000
X=[100;100;100];
4000
L=[0 9 13.5;0.1 0 0;0 0.2 0]; 2000
P=X; for k=1:n
0 0
800
10
20
30
X=L*X; P=[P,X]; end figure(1),bar(P(1,:)) figure(2),bar(P(2,:)) figure(3),bar(P(3,:))
2.L1 的主特征值为多少? 3.使用杀虫剂后各组昆虫在 10周内的变化情况
10/13
0 L 0.1
9 0
13.5
0
特征值:
1 1.0731 2 0.727
0 0.2 0
3 0.346
三个线性无关特征向量: 1 , 2 , 3
初始时刻数量分解: X (0) c11 c22 c33
600 400 200
0 0
150
100
50
10
20
30
调用函数 X=insect(27)
0
0
10
20
30
X = 7368.05 686.52 127.97
6/13
实验任务二: 主特征值的特征向量试验
L=[0 9 13.5;0.1 0 0;0 0.2 0]; [P,lamda]=eig(L)
p=-P(:,1); D=sum(p); X=[p(1)/D,p(2)/D,p(3)/D]*300
X (n) Ln X (0) Ln (c11 c2 2 c3 3 )

MATLAB实验四

MATLAB实验四

MATLAB实验四MATLAB程序设计试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3 报告以Word文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc4 试验报告doc文档以附件形式发送到******************。

凡文档命名不符合规范,或者发送方式不正确,不予登记。

一目的和要求(1)熟练掌握MATLAB的程序设计流程控制结构(2)熟练掌握M文件的结构(3)熟练掌握函数调用和参数传递(4)熟练掌握内联函数的使用(5)了解程序性能剖析窗口二内容和步骤1 (必做)编写M脚本文件,实现:1)从键盘逐个输入学生的某科成绩,计算学生的平均分并输出显示。

2)统计学生成绩分布,其中90分以上为A类,80~89分为B类,70~79分为C类,60~69分为D类,60分以下为E类,统计各类的学生人数,并打印显示。

3)将学生成绩保存到结构数组student. score域和统计成绩分布信息保存数组level中并存作为student. level域,最后把结构数组student保存到score. mat文件中。

(提示:1)成绩输入采用input函数,可采用while循环,提示用户连续输入学生成绩,直到用户输入负数成绩,终止成绩录入。

2)成绩保存可采用save函数)score=0;n=0;sum=0;a=0;b=0;c=0;d=0;e=0;while score>=0if score>=90a=a+1;elseif score>=80elseif score>=70c=c+1;elseif score>=60d=d+1;elsee=e+1;ends um=sum+score;n=n+1;score=input('score:');endaverage=sum/(n-1)fprintf(' A类人数:%d',a)fprintf(' B类人数:%d',c)fprintf(' C类人数:%d',c)fprintf(' D类人数:%d',d)fprintf(' E类人数:%d',e-1)2(必做)有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... 采用循环迭代求出这个数列的前n项之和。

matlab实验四

matlab实验四

实验四曲线绘图【实验目的】1.了解曲线的几种表示方法。

2.学习掌握MATLAB软件有关的命令。

【实验内容】绘制下列三种曲线:1.以直角坐标方程x,=表示的正、余弦线。

sin=y cosyxt=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('正弦、余弦')gridaxis square2.以参数方程]y=tx表示的平面曲线(单位圆)。

∈=t t2,0[,sin,cosπ>> t=0:0.1:2*pi;>> x=cos(t);>> y=sin(t);>> plot(x,y)>> title('x=cos(t),y=sin(t)');>>axis square3. 以参数方程]20,0[,,sin 2,2cos2.02.0∈===--t t z t e y t e x t t ππ表示的空间曲线。

>> t=0:0.1:20; >> x=exp(-0.2*t).*cos(pi/2*t);>>y=pi/2*exp(-0.2*t).*sin(t);>>z=t;>>plot3(x,y,z);>> xlabel('x 轴')>> ylabel('y 轴')>> zlabel('z 轴')>> title(' x=exp(-0.2*t)*cos(pi/2*t),y=pi/2*exp(-0.2*t)*sin(t),z=t, t ∈[0:20]')4. 以极坐标方程]2,0[,1),cos 1(πϕϕ∈=+=a a r 表示的心脏线。

实验四 用Matlab求解方程

实验四 用Matlab求解方程

均可以得到实根 2.0946.
温州大学城市学院 1. fzero 的基本用法 [x, fv, ef, out, jac]=fsolve(@F, x0, opt, P1, P2,…)
2 2 x1 + x2 = 4 例 11 求方程组 2 的解. 2 x1 − x2 = 1
Matlab 编程代码: 先建立文件 fangchz.m function y=fangchz(x,a,b,c,d) y(1)=x(1)^2+a*x(2)^2-b; %当a=1,b=4时为第1个方程 y(2)= x(1)^2+c*x(2)^2-d; %当c=-1,d=1时为第2个方程 输入程序: x0=[2,2];
3 2 p 1 = x + 21 x + 20 x 例 12 计算多项式
的根以及由多项式的根得出系数. >> p1=[1 21 20 0]; >> roots(p1) >> poly([0;-20;-1]) % 计算多项式的根 % 计算多项式的系数
温州大学城市学院 例 13 求下列方程的根 f = function y=fun(x)
例 4 求函数 f=3x2+4x+5 对变量 x 的一阶导数.
温州大学城市学院 (3) 积分 格式: int (f, t, a, b) 功能: 求函数 f 对变量 t 从 a 到 b 的定积分. 例 4 求函数 f=ax2+bx+c 对变量 x 的不定积分. >> syms a b c x >> f=a*x^2+b*x+c >> int(f) 求函数 f 对变量 x 从 1 到 5 的定积分, 命令为 >> int(f,1,5)

MATLAB实验四 选择结构和循环结构程序设计

MATLAB实验四 选择结构和循环结构程序设计

实验四 选择结构和循环结构程序设计实验目的:1.掌握建立和执行M 文件的方法 2.掌握利用if 语句实现选择结构的方法 3.掌握利用switch 语句实现多分支选择结构的方法 4.掌握利用for 语句实现循环结构的方法 5.掌握利用while 语句实现循环结构的方法 6. 熟悉利用向量运算来代替循环操作的方法实验内容:1. 求分段函数的值。

3及2其它,1x 且50,653且0,6222≠⎪⎩⎪⎨⎧--≠<≤+--≠<-+=x x x x x x x x x x y用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

x=input('请输入x 的值:x=');if(x<0&x~=-3)y=x.*x+x-6elseif(x>=0&x<5&x~=2&x~=3)y=x.*x-5.*x+6elsey=x.*x-x-1end请输入x 的值:x=[-5.0 -3.0 1.0 2.0 2.5 3.0 5.0]y =29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.00002. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:a) 分别用if 语句和switch 语句实现。

If 语句x=input('请输入分数:')if(x<=100&x>=90)disp('A')elseif(x>=80&x<=89)disp('B')elseif(x>=70&x<=79)disp('C')elseif(x>=60&x<=69)disp('D')elseif(x<60)disp('E')end请输入分数:95x =95Aswitch语句c=input('请输入分数:')switch ccase num2cell(90:100)disp('A')case num2cell(80:89)disp('B')case num2cell(70:79)disp('C')case num2cell(60:69)disp('D')case num2cell(0:59)disp('E')end请输入分数:83c =83Bb)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

MATLAB实验四 矩阵分析答案

MATLAB实验四 矩阵分析答案

实验四 矩阵分析1.实验内容(1)使用函数,实现方阵左旋90°或右旋90°的功能。

例如,原矩阵为A,A 左旋后得到B,右旋后得到C 。

使用函数rot90(A,k)来实现;⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=129631185210741A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=321654987121110B ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=101112789456123C >> A=[1,4,7,10;2,5,8,11;3,6,9,12]A =1 4 7 102 5 8 113 6 9 12>> B=rot90(A)B =10 11 127 8 94 5 61 2 3>> C=rot90(A,3)C =3 2 16 5 49 8 712 11 10(2)建立一个方阵A ,求A 的逆矩阵和A 的行列式的值,并验证A 与A-1是互逆的。

>> A=[-1,2,0;-2,3,0;3,0,2]A =-1 2 0-2 3 03 0 2>> inv(A)ans =3.0000 -2.0000 02.0000 -1.0000 0-4.5000 3.0000 0.5000>> A^-1ans =3.0000 -2.0000 02.0000 -1.0000 0-4.5000 3.0000 0.5000>> A*A^-1ans =1.0000 -0.0000 00.0000 1.0000 0-0.0000 0.0000 1.0000>> det(A)ans =2(3)求下列矩阵的主对角线元素、上三角阵、下三角阵、秩和迹。

参考教材1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=901511250324153211A 2) ⎥⎦⎤⎢⎣⎡-=2149.824343.0B >> A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9]A =1 -12 35 1 -4 23 0 5 211 15 0 9>> B=[0.43,43,2;-8.9,4,21]B =0.4300 43.0000 2.0000 -8.9000 4.0000 21.0000 >> diag(A)ans =1159>> diag(B)ans =0.43004.0000>> triu(A)ans =1 -12 30 1 -4 20 0 5 20 0 0 9>> tril(A)ans =1 0 0 05 1 0 03 0 5 011 15 0 9>> triu(B)ans =0.4300 43.0000 2.00000 4.0000 21.0000>> tril(B)ans =0.4300 0 0-8.9000 4.0000 0>> rank(A)ans =4>> rank(B)ans =2>> trace(A)ans =16>> trace(B)ans =4.4300(4)求矩阵A 的特征值。

Matlab 实验四

Matlab 实验四

实验四姓名:XX 学号:XXXXXXXXXX7.1创建一个正弦信号的仿真模型。

创建模型如下:运行结果:7.2在工作空间计算变量t 和y,将其运算的结果作为系统的输入。

在Command Window中输入:>> t=0:0.1:10;y=sin(t);t=t';y=y';并创建如下模型:运行结果:7.3建立二阶系统的仿真模型。

输入信号源使用阶跃信号,系统使用开环传递函数,接受模块使用示波器来构成模型。

方法一:构建模型如下所示:运行结果:方法二:构建模型如下所示:仿真结果如下:7.4控制部分为离散环节,被控对象为两个连续环节,其中一个有反馈环,反馈环引入了零阶保持器,输入为阶跃信号。

构建模型如下:调整T、Tk d(t)、y(t)的波形变化:T=Tk=0.1 (a) d(k)示波器显示y(t)示波器显示T=0.6 Tk=0.1 (a) d(k)示波器显示y(t)示波器显示T=0.6 Tk=0.6 (a) d(k)示波器显示y(t)示波器显示7.5将例7.4 中的模块结构参数用变量表示,结构图如图7.35所示。

构建模型如下:在Command Window中输入如下指令:T=0.1;Tk=0.6;k=0.03;zt1=1.44;zt2=-1.26;zt3=1;zt4=-1;tf11=6.7;tf12=0.1;tf13=1;tf21=1;tf22=3;tf23=1;运行结果:7.6打开【例7.4】建立的模型,将控制对象中的第一个连续环节中的反馈环建立为一个子系统。

创建子函数后:打开子函数如下:7.7 在【例7.6】的基础上建立新子系统,将【例7.6】模型的控制对象中的第一个对象环节整个作为一个子系统。

构建系统如下:打开子系如下:7.8建立一个用使能子系统控制正弦信号为半波整流信号的模型。

构建模型如下:运行结果如下:7.9建立一个用触发子系统控制正弦信号输出阶梯波形的模型。

构建如下模型:运行结果如下:创建模型如下:创建子系统后如下:封装之后系统为:打开二阶系统其参数输入对话框如下:。

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

matlab实验四函数编写与程序设计

matlab实验四函数编写与程序设计

实验四:函数编写与程序设计一、实验目的1 . 掌握M文件的创建。

2.掌握函数的编写规则。

3.掌握函数的调用。

4 . 掌握基本的输入输出函数以及显示函数的用法。

5.会用Matlab程序设计实现一些工程算法问题。

二、实验内容1 . 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。

a=input('请输入一个数:')b=input('请输入一个数:');fuhao=input('请输入一个运算符号(+-*/):','s');switch fuhaocase {'+'}he=a+b;disp(['和=',num2str(a),'+',num2str(b),'=',num2str(he)]);case {'-'}he=a-b;disp(['减=',num2str(a),'-',num2str(b),'=',num2str(he)]) case {'*'}he=a*b;disp(['乘=',num2str(a),'*',num2str(b),'=',num2str(he)]) case {'/'}he=a/b;disp(['除=',num2str(a),'/',num2str(b),'=',num2str(he)]) otherwise disp('请输入正确的符号');end2 . 求下列分段函数的值2 2 26,0 56,1,yχχχχχχχχχχχ⎧+-<≠⎪=-+≤≠≠⎨⎪--⎩且-30<10,2且3其他要求:用if语句实现,分别输出x = -5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。

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

matlab实验四
实验目的
(1) 利用计算机完成控制系统的根轨迹作图。

(2) 了解控制系统根轨迹作图的一般规律。

(3) 利用根轨迹进行系统分析。

实验步骤
(1)运行matlab 。

(2)练习根轨迹的相关函数。

rlocus(sys) rlocus(sys,k) r=rlocus(sys)
[r,k]=rlocus(sys) (3)实验内容
1)给定如下系统的开环传递函数,作出它们的根轨迹,并完成给定要求。

()()()21++=
s s s k
s G
要求:准确记录根轨迹的起点、终点和根轨迹的条数。

确定根轨迹的分离点与相应的根轨迹增益。

确定临界稳定时根轨迹增益k 。

(1) num=[1];
den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den); rlocus(sys)
-6
-5-4-3-2-1012
-4-3
-2
-1
1
2
3
4R oot Locus
R eal Axis
I m a g i n a r y A x i s
、-1、0终点为无穷远∞。

(2) num=[1];
den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den); rlocus(sys);
[kd,pd]=rlocfind(sys)
Select a point in the graphics window selected_point = -0.4207 - 0.0000i kd =
0.3849 pd =
-2.1547 -0.4247 -0.4207
-6
-5-4-3-2-1012
-4-3
-2
-1
1
2
3
4
Root Locus
Real Axis
I m a g i n a r y A x i s
(3) num=[1];
den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den); rlocus(sys);
[k,p]=rlocfind(sys)
Select a point in the graphics window selected_point = 0.0153 - 1.4136i k =
6.0566 p =
-3.0051 0.0026 + 1.4197i 0.0026 - 1.4197i
-6
-5-4-3-2-1012
-4-3
-2
-1
12
3
4
Root Locus
Real Axis
I m a g i n a r y A x i s
()()()()164112
++-+=s s s s s k s G 要求:确定根轨迹与虚轴交点并确定系统稳定的根轨迹增益k 。

num=[1 1];
den=conv([1 0],conv([1 -1],[1 4 16])); sys=tf(num,den); rlocus(sys);
-10
-8-6-4
-2024
-8-6
-4
-2
2
4
6
8Root Locus
Real Axis
I m a g i n a r y A x i s
系统稳定的根轨迹增益k 范围为:23 <k<36.3
()()()23++=
s s s k s G 要求:确定系统具有最大超调量时Mp,max 时的根轨迹增益,作时域仿真验证。

确定系统阶跃响应无超调量时的根轨迹增益取值范围,并作时域仿真验证。

num=[1 3];
den=conv([1 0],[1 2]); sys=tf(num,den); rlocus(sys);
此时系统的最大超调量Mp,max=1.17,根轨迹增益为2 以1.96作时域仿真验证
num1=[1.96 6]; den1=[1 4 6]; step(num1,den1)
00.51 1.52 2.53
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Tim e (sec)
A m p l i t u d e
如图可以看出超调量为0的区域取增益为0.4作时域仿真验证
num1=[0.4 1.2]; den1=[1 2.4 1.2]; step(num1,den1)
012345678
0.10.20.30.40.50.6
0.70.80.91Step Response
Tim e (sec)
A m p l i t u d e
实验要求:
记录给定系统与显示的根轨迹图;
完成上述各要求,分析闭环极点在s平面上的位置与系统动态性能的关系。

实验心得:。

相关文档
最新文档