《MATLAB及其工程应用》第2讲

合集下载

MATLAB原理与工程应用第二版课程设计

MATLAB原理与工程应用第二版课程设计

MATLAB原理与工程应用第二版课程设计课程设计背景MATLAB是一种数学软件,可以用于数值计算、数据分析、图形化绘制和编程等多种应用。

在工程领域,MATLAB广泛应用于各种工程计算、信号处理和控制等方面。

因此,熟练掌握MATLAB的使用方法对于工程专业的学生来说非常重要。

为了帮助学生更好地掌握MATLAB的应用,许多大学都会设置MATLAB相关课程,其中就包括了MATLAB原理与工程应用课程。

本文旨在介绍MATLAB原理与工程应用第二版课程设计内容。

该课程设计旨在帮助学生了解MATLAB的基础知识,学会通过MATLAB进行数值计算、数据分析、图形化绘制和编程等功能,并将此应用于工程实际中。

课程设计目标本课程设计的主要目标是使学生掌握以下技能:•熟练掌握MATLAB的基本语法,包括变量的定义、运算符、变量类型、数组和矩阵、循环和分支结构等。

•理解MATLAB的函数调用机制,能够使用已经定义好的函数。

•熟悉MATLAB的图形化处理功能,能够绘制各类曲线、图像和三维图像。

•熟练掌握MATLAB编程技巧,能够通过编程实现简单的数值计算、数据分析和图像处理功能。

•能够将MATLAB应用于工程实际中,完成一些涉及数值计算、数据处理和图形展示的工程任务。

课程设计内容本课程设计包括以下几个方面:第一部分:MATLAB基础知识在本部分中,学生将学习MATLAB的基本语法和语言元素,包括变量定义、运算符、变量类型、数组和矩阵、循环和分支结构等。

同时,还将介绍一些基本的MATLAB命令及其使用方法,让学生快速掌握MATLAB的操作技巧。

第二部分:MATLAB图形化表示本部分将介绍MATLAB的图形化处理功能。

学生将学会如何绘制各类曲线、图像和三维图像。

同时,还将介绍MATLAB处理图像的一些基本命令及其使用方法,让学生能够熟练应用MATLAB进行图像处理。

第三部分:MATLAB编程本部分将介绍MATLAB编程技巧,学生将学会如何通过编程实现简单的数值计算、数据分析和图像处理功能。

《MATLAB实用教程》课件

《MATLAB实用教程》课件

4
熟悉数组和矩阵的定义、创建和操作,掌 握各种基本矩阵函数和运算。
5
界面介绍
了解MATLAB的主界面和各种工具栏、窗口、 编辑器等,方便使用MATLAB的各种功能。
变量和数据类型
学习MATLAB中变量的定义和使用方法,掌 握各种数据类型包括数字、字符串、浮点 数等。
循环和条件语句
学习如何使用循环和条件语句实现复杂的 算法,同时掌握MATLAB中的各种流程控制 结构。
MATLAB的进阶应用
图形绘制
掌握MATLAB中绘图的方法和技 巧,包括二维和三维绘图、颜 色和标记等。
数据分析和处理
了解如何使用MATLAB进行数据 分析和处理,包括统计分析、 逆向分析和趋势分析等,支持 各种数据格式和文件类型。
信号处理
学习如何使用MATLAB进行信号 处理,包括数字信号处理、音 频处理、图像处理等应用领域。
介绍MATLAB中一些常用工具箱的使用方法,例如信号分析、图像处理、数据拟合、最优 化等。
3 插件的安装和使用
通过实例,演示MATLAB插件的安装、配置和使用方法,包括数据导入和输出、MATLAB和 其他软件的集成等。
MATLAB的应用案例
1
信号处理实例
2
展示MATLAB如何进行信号处理,以及如
何从信号中提取信息和分析数据。
领域广泛
MATLAB广泛应用于科学、工程、经济、金融、医学等各个领域,支持多种平台和语言。
易学易用
MATLAB具有简单易学、操作方便的特点,且有着友好的界面和多种文档和教程。
MATLAB的基础知识
1
常见命令
2
掌握MATLAB中常见命令,例如变量的定义、
算数运算、简单的函数调用和图形输出。

《- Matlab及其工程应用》课程简介培训课件.doc

《- Matlab及其工程应用》课程简介培训课件.doc

《Matlab及其工程应用》课程简介课程编号0308007 课程性质公共选修课学时/学分40/2 适用专业测控技术与仪器MATLAB是一种以数值计算和数据图示为主的计算机软件,并包含适应多个学科的专业软件包,以及完善程序开发功能。

本课程要求学生掌握MA TLAB的基本的语法及其编程,simulink建模与仿真,输入输出以及图形功能等,并能够熟练地将MA TLAB应用工程中,解决测控专业相关课程中的复杂的数学计算、仿真模拟问题。

上机操作是本课程重要的教学环节,学生只有通过上机实习,才能领会MATLAB中众多功能,才能达到熟练应用的程度。

《测控电路》课程简介课程编号0308005 课程性质专业特色课学时/学分48/3 适用专业测控技术与仪器本课程是测控技术及仪器专业的一门专业特色课。

通过本课程的学习,使学生能掌握测控电路的基本原理和设计方法,为从事测控系统的设计打下必要的基础。

《测控仪器专业导论》课程简介课程编号0308008 课程性质专业基础课学时/学分8/0.5 适用专业测控技术与仪器测控仪器专业导论课程主要介绍测控技术与仪器专业所涵盖的教学内容、实践环节等。

让新生对该专业有一个初步的、完整的认识,并了解该专业是集光学、机械、电子、计算机、仪器仪表为一体的综合性较强、实践性也较强的专业。

向学生介绍该专业的核心课程体系和最新的技术发展。

让新生了解该专业在社会上的用武之地,以及今后可能的就业岗位和深造渠道。

《传感器原理与应用》课程简介课程编号0308009 课程性质专业基础课学时/学分32/2 适用专业测控技术与仪器传感器原理与应用是测控技术与仪器等专业的一门重要的专业基础课。

本课程可为工程技术人员从事工程设计、科学研究提供必要的技术手段。

《单片机原理及应用》B课程简介课程编号0308010 课程性质专业基础课学时/学分40/2.5 适用专业测控技术与仪器单片机技术是计算机技术的一个独特分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。

Matlab基础及其应用ppt课件 共34页

Matlab基础及其应用ppt课件 共34页

Di

a21

a2,i1
b2
a2,i1
a2n
an1 an,i1 bn an,i1 ann
线性方程组求解
数值求解方法: 1.直接法 Gauss消去法、Gauss-Jordan消去法、矩阵分 解法等。
2.迭代法 Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭 代法等。
菜单 三.Matlab 界面与初步操作
快捷工具栏
workspace
工作目录选择栏 指令窗口
Command window运行入门
• 最简单的计算器使用法; • 数值、变量和表达式; • 指令行中的标点符号; • 计算结果的图形表示;
求 [12 2 (7 4)] 32 的运算结果。
4 2 2 A 1 3 2
1 3 3 3 2 2
35 20 60 B 10 15 50
20 12 45
输入下面Matlab指令 A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B
Cleve Moler 博士
在70年代中期,Cleve Moler博士和其同事在美国 国家科学基金的资助下开发了调用EISPACK和 LINPACK的FORTRAN子程序库.EISPACK是特征 值求解的FORTRAN程序库,LINPACK是解线性方 程的程序库.在当时,这两个程序库代表矩阵运算的 最高水平.
t

画出衰减振荡曲线 其它的包络线 y0

y
t
e3
e 3 sin 3t 及 。的取值范围是
[0,4 ] 。

Matlab编程与工程应用(第二版)习题解答(全)

Matlab编程与工程应用(第二版)习题解答(全)

Matlab编程与工程应用〔第二版习题解答第一章:MATLAB简介1.>> myage = 25;>> myage = myage - 1;>> myage = myage + 2;2.>> myage = 25;>> myage = myage - 1;>> myage = myage + 2;3.>> namelengthmaxans =634.>> format bank>> 1/3ans =0.335.>> format rat>> 5/6 + 2/7ans =47/426.25 19 4.3333 9 97.>> pounds = 100;>> kilos = 2.2 * poundskilos =220.00008.>> R1 = 20; R2 = 30; R3 = 40;>> RT = <R1\1 + R2\1 + R3\1>\1RT =9.23089.>> ftemp = 90;>> ctemp = <ftemp - 32> * 5 / 9ctemp =32.222210. 略11.>> sind<90>ans =112.>> sita = 2 * pi / 3;>> r = 2;>> x = r * cos<sita>x =-1.0000>> y = r * sin<sita>y =1.732113.>> t = 100;V = 50;>> wcf = 35.7 + 0.6 * t - 35.7 + 0.16 * V + 0.43 * t * 0.16 * Vwcf =41214.Fix<3.5> = 3; Floor<3.5> = 3;Fix<3.4> = 3; Fix<-3.4> = -3;Fix<3.2> = 3; Floor<3.2> = 3;Fix<-3.2> = -3; Floor<-3.2> = -4;Fix<-3.2> = -3; Ceil<-3.2> = -3;15.Sqrt<19>3 ^ 1.2Tan<pi>16.Intmin<‘int32’>; intmax<‘int32’>; intmin<‘int64’>;intmax<‘int64’>;17.Realmin<‘double’>; Realmax<‘double’>;18.>> DblNum = 33.8;>> int32Num = int32<DblNum>int32Num =3419.>> A1 = rand;A2 = 20*rand;A3 = 30 * rand + 20;A4 = round<rand * 10>;A5 = round<rand * 11>; /A6 = round<rand * 50> + 50;>> A4 = randi<10>;>> A5 = randi<11>;>> A6 = randi<50> + 50;20. 略21.Double〔‘A’ < Double<‘a’>; 所以大写在前,小写在后;22.>> CharNum = 'xyz';>> CharNum = char<CharNum - 2>CharNum =vwx23.>> vec = [3 : 1 : 6]vec =3 4 5 6>> vec2 = [1.0000:0.5000:3.0000]vec2 =1.0000 1.50002.0000 2.50003.0000>> vec3 = [5 : -1 :2]vec3 =5 4 3 224.>> vec1 = linspace<4,8,3>vec1 =4 6 8>> vec2 = linspace<-3,-15,5>vec2 =-3 -6 -9 -12 -15>> vec3 = linspace<9,5,3>vec3 =9 7 525.>> vec = [1 : 1 : 10]vec =1 2 3 4 5 6 7 8 9 10 >> vec = linspace<1,10,10>vec =1 2 3 4 5 6 7 8 9 10 >> vec2 = [2:5:12]vec2 =2 7 12>> vec = linspace<2,12,3>vec =2 7 12>> myend = randi<4> + 8;>> vec1 = [1 : 3 : myend]vec1 =1 4 7 1027.>> vec = [-1:0.2:1]'vec =-1.0000-0.8000-0.6000-0.4000-0.20000.20000.40000.60000.80001.000028.>> vec = [0 : 1 : 15];>> n = [1 : 2 : numel<vec> - 1];>> vec2 = vec<n>vec2 =0 2 4 6 8 10 12 14 29.function [a b] = PI_CONT<x>%UNTITLED Summary of this function goes here% Detailed explanation goes heren =1 : 1 : fix<numel<x> / 2>;a = x<n>;n = 1+fix<numel<x>/2> : 1 : numel<x>;b = x<n>;endrem<numel<vec>,2>30.rand<2,3>10*rand<2,3>5 + round<15 * rand<2,3>>randint<2,3,[5 15]>31.rows = randi<5>;cols = randi<5>;y = zeros<rows,cols>;>> mat = [ 7 8 9 1012 10 8 6];>> A1 = mat<1,3>>> A2 = mat<2,:>>> A3 = mat<:,1:2>33.>> mymat = [2 3 4;5 6 7]>> mymat1 = fliplr<mymat>>> mymat2 = flipud<mymat>>> mymat3 = rot90<mymat>34.>> mymatzero = zeros<4,2>>> mymatzero<2,:> = [3,6]35.>> x = linspace<-pi,pi,20>;>> y = sin<x>;36.>> randmat = randint<3,5,[-5 5]> >> sign<randmat>37.>> randmat = randint<4,6,[-5 5]>;>> randmat2 = abs<randmat> 38.>> randmat = rand<3,5>>> randmat<3,:> = []39.>> vec = 1 : 1:1000;>> vec<end>>> vec<numel<vec>>>> [a b ] = size<vec>;>> vec<a * b>40.同上41.>> mat = zeros<3,5>;>> mat<:,:,1> = zeros<3,5>;>> mat<:,:,2> = zeros<3,5>; 42.>> myc = clock>> today = myc<1:3>>> now = myc<4:6>>> now = fix<now>第二章 MATLAB程序设计概述1.ri = 2; % Radius internalro = 4; % Radius outerV = 4 * pi / 3 * <ro ^ 3 - ri ^ 3> % calculate volume2.% Calculate Atomic Weight H2O2Weight_O = 15.9994;Weight_H = 1.0079;AtomicWeight = Weight_O * 2 + Weight_H * 2 % Calculate H2O2 Atomic Weight 3.fprintf<'Length of The character string is : %d\n',…length<input<'Please input character string :\n','s'>>>;4.NewNumber = input<'please input a Number :\n'>;fprintf<'Number with 2 decimal is :%0.2f\n',NewNumber>;5.>> vec = input<'Enter a matrix: '>Enter a matrix: [1:1:10;1:1:10]6.>> fprintf<'OUTPUT : %f\n',12345.6789>OUTPUT : 12345.678900>> fprintf<'OUTPUT : %10.4f\n',12345.6789>OUTPUT : 12345.6789>> fprintf<'OUTPUT : %10.2f\n',12345.6789>OUTPUT : 12345.68>> fprintf<'OUTPUT : %6.4f\n',12345.6789>OUTPUT : 12345.6789>> fprintf<'OUTPUT : %2.4f\n',12345.6789>OUTPUT : 12345.67897.>> fprintf<'OUTPUT : %d\n',12345>OUTPUT : 12345>> fprintf<'OUTPUT : %5d\n',12345>OUTPUT : 12345>> fprintf<'OUTPUT : %8d\n',12345>OUTPUT : 12345>> fprintf<'OUTPUT : %3d\n',12345>OUTPUT : 123458.>> x = 12.34;>> y = 4.56;>> fprintf<'x is %.3f\n',x>x is 12.340>> fprintf<'x is %0.0f\n',x>x is 12>> fprintf<'y is %0.1f\n',y>y is 4.6>> fprintf<'y is %0.1f !\n',y>y is 4.6 !9.% Calculate Area of the squarenessfprintf<'The Area of The Squareness is %.2f',…<input<'Please input the Length of the Squareness \n'>> …* <input<'Please input the Width of the Squareness \n'>>>;10.NewName = input<'What is your name? ','s'>;fprintf<'Wow,your name is %s!\n',NewName>;11.NewString = input<'Enter your string : ','s'>;fprintf<'Your String was : ''%s''\n',NewString>;12.WaterSpeed = input<'Enter the folw in m^3/s : '>;WaterSpeedft = 0.028 \ WaterSpeed;fprintf<'A flow rate of %.3f meters per sec \n',WaterSpeed>;fprintf<'is equivalent to %.3f feet per sec\n',WaterSpeedft>;13.IncomeY = input<'Input your income every year?'>;FoodCostY= [IncomeY * 8 / 100 IncomeY*10 / 100];FoodCostM = 12\FoodCostY;fprintf<'Food Cost in every year is %.2f - %.2f\n',FoodCostY<1>,FoodCostY<2>>; fprintf<'Food Cost in every Month is %.2f - %.2f\n',FoodCostM<1>,FoodCostM<2>>;14.Weight = input<'Please input the Weight of the plan \n'>Area = input<'Please input the area of the plan wing \n'>fprintf<'Charge of Plan Win is %.2f \n',Weight / Area>15.x = 10;y = 10;plot<x,y,'g+'>;16.clfx = -2 : 0.1 : 2;y = exp<x>;plot<x,y,'g'>;xlabel<'X'>;ylabel<'Y'>;legend<'Exp<x>'>;Title<'Exp Example'>;17.clfx = 1 : 5 : 100;y = sqrt<x>;plot<x,y,'go'>;hold on;bar<x,y>;18.clfy = randint<1,100,[0 100]>;x = 1 : 1 : length<y>;plot<x,y,'ro'>;hold onplot<x,y,'g+'>;figure<2>;plot<x,y,'k'>;figure<3>;bar<x,y>19.clfx = linspace<0,pi,10>;y = sin<x>;plot<x,y,'r'>;figure<2>;x = linspace<0,pi,100>;y = sin<x>;plot<x,y,'b'>;20.load TimeTemp.datx = TimeTemp<:,1>';y = TimeTemp<:,2>';plot<x,y>;Xlabel<'Height'>;Ylabel<'Temperature'>;Title<'Height - Temperature'>;legend<'TEMP'>21.>> randint<3,6,[50 100]>;>> save RandInt.bat ans -ascii;>> randint<2,6,[50 100]>>> save RandInt.bat randint -ascii –append >> load RandInt.bat>> RandInt22.>> load testtan.bat>> tan<testtan>23.>> load hightemp.dat>> hightemp<:,1> = hightemp<:,1> .+ 1900>> save y2ktemp.dat hightemp –ascii24.function [ fn ] = fn< x >%Calculate y as a function of xfn = x^3 - 4 * x^2 + sin<x>;end25.function [ mwh] = mwh_to_gj<x>%convers from MWh to GJmwh = 3.6 * x;end26.function [ output_args ] = miletometer< x >%Conver mile to meterMile = input<'mile per hours number :'>;meter = Mile * 5280 * 0.3048 / 3600;output_args = meter;fprintf<'Meter of the mile is : % .2f',meter>; end27.function [ Tn ] = Interest< p,i,n >%UNTITLED4 Summary of this function goes hereTn = p * <1 + i> * n;end28.略29.function [ V ] = SpeedConv<pi,ps>%UNTITLED4 Summary of this function goes hereV = 1.016 * sqrt<pi - ps>end30. function [ THR ] =Cal_rate<A>%UNTITLED4 Summary of this function goes hereTHR = <220 - A> * 0.6;end31.function [ nJ ] =STL_calc<n>%UNTITLED4 Summary of this function goes herenJ = sqrt<2 * pi * n> * <n / exp<1>>^n;end32.function [ output_args ] = costn< n >%UNTITLED5 Summary of this function goes hereoutput_args = 5 * n ^ 2 - 44 * n + 11;endn = input<'Enter the number of units :'>;Cn = costn<n>;fprintf<'The cost for 100 units will be $%.2f\n',Cn>;33.略〔仿造32题34.function [ V ] = oblong< length >%UNTITLED8 Summary of this function goes hereV = 1/12*sqrt<2>*length^3;endfprintf<'The volume of oblong is : %.2f\n ',oblong<input<'Enter the length of the oblong:\n'>>>35.function [ y ] = pickone< x >%pickone<x> returns a random element from vector xn = length<x>;y = x<randi<n>>;end36.function [ y ] = vecout< x >%UNTITLED11 Summary of this function goes herey = x : 1 : x+5;end37.b = input<'Enter the first side :'>;c = input<'Enter the second side :'>afa = input<'Enter the angle between them :'>y = sqrt<b^2 + c^2 - 2*b*c*cos<afa *<pi/180>>>;fprintf<'The third side is %.3f\n',y>;38.略39.load floatnums.datfloatnums = round<floatnums>;floatnums = floatnums';save intnums.datfloatnums-ascii;40.load costssales.datn = length<costssales<:,1>>;fprintf<'There were %d quarters in the file ',n>;n = 1 : 1 : n;costs = costssales<:,1>;sales = costssales<:,1>;plot<n,costs,'ko'>;hold onplot<n,sales,'b*'>;legend<'COSTS','SALES'>;xlabel<'COST'>;ylabel<'SALE'>;title<'COST-SALE'>;costssales = costssales'costssales = flipud<costssales>;save newfile.datcostssales-ascii;第三章选择语句2. if <input<'please Enter a x :\n','s'> ~= 'x'>disp<'sorry the char not x'>;end3. function y = Test3<x>if <x == 12>y = 1;elsey = x + 1;end;4. disp<'The program will calculate the volume of a pyramid'>;a = input<'Enter the length of the base :'>;c = input<'Is that i or c?','s'>;if< c == 'c'>a = a/2.54;end;b = input<'Enter the width of the base :','s'>;c = input<'Is that i or c?'>;if< c == 'c'>b = b/2.54;end;d = input<'Enter the length of the base :','s'>;c = input<'Is that i or c?'>;if< c == 'c'>d = d/2.54;end;fprintf<'The Volume of the Pyramid is %.3f cubic inches.',a * b * d / 3>;5.if<input<'Are you an engineer?<Y/N>','s'> == 'Y'>disp<'You are the best!'>;elsedisp<'oh~ soga'>;end;6.Fenzi = input<'Please input enter the FENZI: '>;Fenmu = input<'Please input enter the FENMU: '>;if<Fenmu == 0>disp<'Sorry The Fenmu can not be zero!'>;elsefprintf<'The result is %.2f.\n',Fenzi/Fenmu>;end;7.function Result = Test3_Func< a,b >%TEST3_FUNC Summary of this function goes here% Detailed explanation goes hereResult = sqrt<1 - b^2/a>;EndFunction:a = input<'Please Enter the a : '>;b = input<'Please Enter the b : '>;if <a == 0>disp<'Error 0001'>;elsefprintf<'The Result is %.2f \n',Test3_Func<a,b>>;end;8.a = input<'Please Enter the Shousuo : '>;b = input<'Please Enter the Shuzhang : '>;if <a<120 && b<80>disp<'you are the best choice !'>;elsedisp<'Sorry you can not do this!'>;end;9.A1 = input<'Enter the First Area: '>;A2 = input<'Enter the Second Area: '>;if<A1 > A2>disp<'UP!'>;elseif <A1 < A2>disp<'Down!'>;elsedisp<'Keep!'>;en10.a = input<'Enter the PH number : '>;if <a < 7>disp<'Suan'>;elseif <a > 7>disp<'Jian'>;elsedisp<'Zhong'>;end;11.function Result = Test3_Func< a,b >%TEST3_FUNC Summary of this function goes here % Detailed explanation goes hereif <a < b>Result = a : 1 : b;elseResult = a : -1 : b;end12.function Result = Test3_Func< x >%TEST3_FUNC Summary of this function goes here % Detailed explanation goes here[a b] = size<x>;if <<a ~= 1 && b ~= 1> || <a == 1 && b == 1>> Result = x;elseif<a == 1>Result = fliplr<x>;elseResult = flipud<x>;end13.letter = input<'Enter your answer :','s'>;if <letter == 'Y' || letter == 'y'>disp<'OK,continuing'>;elseif<letter == 'N' || letter == 'n'>disp<'OK,halting'>;elsedisp<'Error'>;end14.switch lettercase {'Y''y'}disp<'OK,contining'>case {'N''n'}disp<'OK,halting'>otherwisedisp<'Error'>end15.Mahe = input<'Enter the Speed of Plan : '>/input<'Enter the Speed of Voice: '>; if<Mahe > 1>disp<'supersonic speed'>;elseif<Mahe < 1>disp<'subsonic speed'>;elsedisp<'transonic speed'>;end;16.X = input<'Enter the temp in degrees C : \n'>;switch <input<'Do you want F or K?','s'>>case'F'fprintf<'The temp in degrees F is %.1f',<9/5>*X + 32>;case'K'fprintf<'The temp in degrees K is %.1f',X + 273.15>;otherwisedisp<'Enter Error!'>;end;17.%function y = Test3<x>X = randi<100>;if rem<X,2> == 0fprintf<'%d ÊÇżÊý\n',X>;elsefprintf<'%d ÊÇÆæÊý\n',X>;end18.function y = Test3<x>switch rem<x,4>case 0y = true;otherwisey =false;end;19.function y = Test3<innum>if innum == int32<innum>y = true;elsey =false;end;20.function y = Test3<a,b,c>if a^2 == b^2 + c^2y = true;elsey =false;end;21.Re = input<'Enter the Re Value :\n'>;if Re <= 2300 disp<'Laminar region'>;elseif Re > 2300 && Re <= 4000 disp<'Transition region'>; else disp<'Turbulent region'>;end;22.d1 = input<'Enter d1 : \n'>;d2 = input<'Enter d2 : \n'>;if d1 <= 0 || d2 <= 0disp<'Error!'>;elsefprintf<'%.2f',Test3_Func<d1,d2>>;end;function y = Test3_Func<a,b>y = a * b / 2;23.V = input<'Enter the speed of the wing: '>;if V <= 38 disp<'tropical depression '>;elseif V >= 73 disp<'typhoon'>;else disp<'revolving storm'>;end;24.V = input<'Enter the speed of the wing :'>;if V >74 && V <= 95disp<'1 : 4-5'>;elseif V > 95 && V <= 110disp<'2 : 6-8'>;elseif V > 110 && V <= 130disp<'3 : 9-12'>;elseif V > 130 && V <= 155disp<'4 : 13-18'>;elseif V > 155disp<'5 : 18'>;elsedisp<'Error'>;end25.略26.H = input<'Enter the hight of the cloude :'>;if H < 6500 && H > 0disp<'Low'>;elseif H >= 6500 && H < 20000disp<'Middle'>;elsedisp<'High'>;27.if letter == 'x'disp<'Hello'>;elseif letter == 'y'||letter == 'Y'disp<'Yes'>;elseif letter == 'Q'disp<'Quit'>;elsedisp<'Error'>;end;28.switch numcase {0 1 2}f2<num>;case {-2 -1}f3<num>;case 3f4<num>;otherwisef1<num>;end;29.switch menu<'menu','1.Cylinder','2.Circle','3.Rectangle'>case 1R = input<'Please enter the radius of buttom circle:'>;H = input<'Enter the height of the Cylinder:'>;A = 2 * pi * R * H + 2 * pi * <R ^ 2>;fprintf<'The area is %.2f',A>;case 2R = input<'Please enter the radius of circle:'>;A = pi * <R ^ 2>;fprintf<'The area is %.2f',A>;case 3a = input<'Please enter the long of Rectangle:'>;b = input<'Please enter the with of Rectangle :'>;A = a * b;fprintf<'The area is %.2f',A>;end30.同2931.同2932.x = input<'Enter the Value X :'>;Y = menu<'Menue Choose','Sin','Cos','Tan'>;switch Ycase 1output = sin<x>;case 2output = cos<x>;case 3output = tan<x>;end;33.略34.function output = Test3_Func<x>Y = menu<'Menue Choose','ceil','round','sign'>;switch Ycase 1output = ceil<x>;case 2output = round<x>;case 3output = sign<x>;end;35.略36.略37.略第四章循环1.>> for i = 1.5:0.2:3.1i = iend2.function output = Test3_Func<x>x = x - <rem<x,2> == 0>;output = 0;for i = 1 : 2 : xoutput = output + i;end;3.function output = Test3_Func<x>x = x - <rem<x,2> == 0>;output = 1;for i = 1 : 2 : xoutput = output * i;end;4.5.>> for i = 32 : 1 : 255char<i>end;6.>> vec = [5.5 11 3.45];>> for i = 1 : length<vec>fprintf<'Element %d is %.2f .\n',i,vec<i>>;end;7.n = randi<4> + 1;sum = 0;for i = 1 : nsum = sum + input<'Enter the value'>;end;fprintf<'Sum = %.1f\n',sum>;8disp<'Please enter the threshold below which samples will be considered to be invalid :'>;Value1 = input<'Considered to be invalid :\n'>;Value2 = input<'Please enter the number of data samples to be entered :\n'>; Sum = 0;num = 0;for i = 1:Value2data = input<'Please enter a data sample :'>;if data > Value1Sum = Sum + data;num = num + 1;endendif num == 0disp<'Data Error !'>;elsefprintf<'The average of the %d valid data samples is %.2f volts.',num,Sum/num>; end9.load MaxTemp.mat[a b] = size<MaxTemp>;for i = 1 : a;Matix1 = zeros<size<MaxTemp>>;Matix1<i,:> = MaxTemp<i,:>end10.sum = 0;for i = 1 : length<pipe>sum = sum + <pipe<i,1> < 2.1 || pipe<i,1> > 2.3>;sum = sum + <pipe<i,2> < 10.3 || pipe<i,2> > 10.4>;endfprintf<'There were %d rejects.\n',sum>;11.略12.略13.x = randint<1,5,[-10,10]>;x2 = 0;for i = 1 : length<x>x1<1,i> = x<1,i> - 3;if x1<1,i> > 0x2 = x2 + 1;end;x3<1,i> = abs<x1<1,i>>;if i > 1x4 = max<x1<1,i>,x1<1,i-1>>;end;end16.17.略18.19.20.略22.略23.略24.10略略第五章向量化代码1.Mat.*2;2.Result = vec;3.cumprod<vec>;4.>> vec = randint<1,6,[0 20]>;>> maxvec = max<vec>;>> minvec = min<vec>;>> cumsumvec = cumsum<vec>5.Sum<vec>6.>> clear>> vec = randint<1,5,[-10 10]>;>> vec_3 = vec - 3;>> ZhengshuNum = length<find<vec > 0>>;>> vec_abs = abs<vec>;>> vec_max = max<vec>;7.max<vec,[],1>max<vec,[],2>max<max<vec>>;8.function output = Test3_Func<r,n>vec = [];for i = 0 : nvec = [vec r.^i];end;output = sum<vec>;>> vec1 = Vec<[1 3 5]>;>> vec2 = Vec<[2 4 6]>;>> CheckSum = vec1.*vec2;11.>> vec = 1 : 1 : 1000;>> Result = sum<1./<vec.^2>>;>> Check = pi.^2/6;>> diff = check – result13.略14.略15.clear;clf;vec_temp = 0 : 0.5 : 10;x1 = input<'Enter the number of level :'>;while<all<vec_temp - x1>>x1 = input<'Enter the number of level :'>;end;disp<x1>16.略17.ticif x==21disp<x>end;tocticswitch xcase 21disp <x>;end;toc18.Ones<3>19.If find<r > 0> == [] && fin<h > 0> == 0V = pi .*<r.^2>*hEnd;第六章 MATLAB 程序1~20 略21.function S = Test3_Func<n>P = 10000;i = 0.05;vec = 1 : 1 : n;S = P * <<1 + i>.^vec>;plot<vec,S>;n = input<'Enter the Year:'>;while ~<n >0 && int32<n> == n>n = input<'Enter the Year:'>;end;Test3_Func<n>;22.Function lenf = lenprompt<>;Lenf = input<‘Enter the length By inches: ’>; Function Leni = covert_f_to_i<lenf>Leni = …<英尺转英寸>Function printlens<lenf,leni>Disp<lenf>;Disp<leni>;23.略24.。

matlab及工程运用全

matlab及工程运用全
Matlab简介: MATLAB的发展历程及影响、特点及应用领域 工作界面与基本操作 Command Window运行入门 Command Window操作要旨 Command History历史指令窗 Current Directory、路径设置器和文件管 工作空间浏览器和变量编辑器 Editor/Debugger和脚本编写初步 帮助系统及其使用
Command Window操作要旨
1.指令窗的显示方式 :默认的输入显示方式、运算
结果的显示、显示方式的永久设置。
2.指令中的标点符号: 3.常用控制指令 4.常用键盘控制
指令窗的显示方式
指令中的 标点符号
常用控制指令
常用键盘控制
帮助系统及其使用

常用帮助指令
help 列出所有函数分组名(Topic Name) help TopicName 列出指定名称函数组中的所有函数 help FunName 给出指定名称函数的使用方法 helpwin 列出所有函数分组名(Topic Name) helpwin TopicName列出指定名称函数组中的所有函数 helpwin FunName 给出指定名称函数的使用方法 doc ToolboxName 列出指定名称工具包中的所有函数名 doc FunName 给出指定名称函数的使用方法

逻辑操作


常用的逻辑运算符:&(与)、|(或)、~(非)和 xor(异或)。在逻辑运算中,非0元素表示true,0元 素表示false。 标量可以与任何维数数组进行逻辑运算。 当逻辑运算中没有标量时,参与运算的数组必须维数 相同。

在MATLAB表达式中同时出现多种运算符时,优先 级按:

设标量a和数组B =[bij]mXn进行算术运算的结果是cij=a#bij 函数f(.)的数组运算规则是指‚该函数对数组的逐个元素 起作用‛(表2.2常用数组运算函数)

MATLAB程序设计及应用第2版课件全全书教学教程完整版电子教案最全幻灯片

MATLAB程序设计及应用第2版课件全全书教学教程完整版电子教案最全幻灯片

第1章 MATLAB入门与基本操作
1.3 MATLAB的安装启动 与操作桌面简介
1.3.1 MATLAB的安装和启动
MATLAB 可以在Windows环境下直接安装。在
MATLAB安装完成后,会在Windows桌面上自动生成
MATLAB的快捷方式图标

1.3.1 MATLAB的安装和启动
双击图标
1.3.2 MATLAB默认窗口简介
• 指令窗(Command Window) 该窗口是进行各种MATLAB操作的最主要窗口。它位于 MATLAB默认窗口的正中间。用户可以在该窗口中提示符 “fx>>”后直接键入指令,按“Enter”键后,即可运行并 显示除窗口外的所有运行结果。当指令窗口提示符为 “fx>>”时,表示系统已经准备好,用户可以输入指令、函 数、表达式,按“Enter”键后便可执行。
1.4 MATLAB指令窗操作入门
,就打开了如图1.1所示的MATLAB默认窗口
(Desktop)。
图1.1
1.3 MATLAB的安装启动 与默认窗口简介
1.3.2 MATLAB默认窗口简介
图1.1所示的MATLAB默认窗口分为5个区域:指令窗、 当前目录窗、历史指令窗、工作空间窗和Details窗。 另外,在MATLAB默认窗口的上方,还嵌入了菜单栏 和工具栏,如图1.1所示。它们的使用及选择方式与 Windows环境中的相同。
图1.2
第1章 MATLAB入门与基本操作
1.4 MATLAB指令窗操作入门
1.4.1 MATLAB指令窗简介
MATLAB指令窗位于MATLAB默认窗口的正中间,如图 1.1所示。如果用户希望得到脱离默认窗口的几何独立的指 令窗,只要单击图1.2中的图标 ,并在下拉菜单中选择

Matlab原理与工程应用函数PPT课件

Matlab原理与工程应用函数PPT课件

ode23s
ode23tb
27
第27页/共51页
常用调用格式:[t,y]=ode45(odefun,tspan,y0)
参数说明: odefun 表示f(t,y)的函数句柄或inline函数,t是标量,y是
标量或向量; tspan 如果是二维向量[t0,tf],表示自变量初值t0和tf;如果
5
第5页/共51页
6
第6页/共51页
5.3 用户自定义函数、函数句柄和feval
➢函数句柄是一种引用函数的方法。函数句柄 由@和函数名构成。 ➢feval就是把已知的数据或符号带入到一个 定义好的函数句柄中。
clc clear all syms t %定义符号变量 f=@(x,y) x^3+y^2 k1=feval(f,2,t) % k2=f(2,t) k3=feval(f,1,2) % k4=f(1,2)
23
第23页/共51页
求定积分。 (1) 建立被积函数文件fesin.m。
function f=fesin(x) f=exp(-0.5*x).*sin(x+pi/6);
(2) 调用数值积分函数quad求定积分。 [S,n]=quad(‘fesin’,0,3*pi) %n可省略 S=
0.9008 n=
20
第20页/共51页
在MATLAB 7语言里,多项式由一个行向量表示,设为p,
它的系数按降序排列,使用roots函数可以求出该多项
式的根。其使用格式为roots(p)。 >> p=[1 0 3 12 -7] %f(x)=x4+3x2+12x-7 p= 1 0 3 12 -7 >> roots(p) ans = 0.7876 + 2.4351i 0.7876 - 2.4351i -2.0872 0.5121 >>

MATLAB语言与应用ppt课件

MATLAB语言与应用ppt课件
例:已知某开环系统传递函数如下所示:要求绘制系统的闭环根轨迹,分 析其稳定性,并绘制出当k=55和k=56时系统的闭环冲激响应。
k(s 2) Go (s) (s 2 4s 3)2
四 频率响应分析
频域分析的一般方法
频率响应是指系统对正弦输入信号的稳态响应,从频率响应中可以得出带 宽、增益、转折频率、闭环稳定性等系统特征。
3.模型的转换与连接(1-5)
模型的转换
2-2
ss2tf: 状态空间模型转换为传递函数模型 ss2zp: 状态空间模型转换为零极点增益模型 tf2ss: 传递函数模型转换为状态空间模型 tf2zp: 传递函数模型转换为零极点增益模型 zp2ss: 零极点增益模型转换为状态空间模型 zp2tf: 零极点增益模型转换为传递函数模型
MATLAB提供了ode23、ode45等微分方程的数值解法函数,不 仅适用于线性定常系统,也适用于非线性及时变系统。
2.传递函数的描述(1-3)
连续系统的传递函数模型
G(s)
C(s) R(s)
b0 s m a0 s n
b1sm1 a1sn1
bm1s an1s
bm an
(n m)
num=[b0,b1,…,bm]
den=[a0,a1,…,an,]
注意:它们都是按s的降幂进行排列的。
零极点增益模型
G(s)
k
(s (s
z1)(s p1)(s
z2 )(s p2 )(s
zm ) pn )
k:传递函数的传递系数
zi:传递函数的零点 pj:传递函数的极点
2.传递函数的描述(2-3)
极点留数型/部分分式展开
(s 1)(s 3)
串联。
例:求闭环系统的传递函数:

MATLAB及应用课件PPT

MATLAB及应用课件PPT
who 和 whos 的作用是列出在 MATLAB 工 作内存中驻留的变量名
exist 命令用来查找或检查变量和函数的存在 性
第1章 Matlab概述
上机练习(1)
( 1)以两种方式打开 MATLAB 工作窗口,进入MATLAB 6.5 的工作环 境,并尝试用不同的方式退出。
( 2)尝试、熟悉 MATLAB 6.5 的各栏菜单以及各个工具栏的功能。 ( 3)重新启动 MATLAB 6.5,进入 MATLAB 工作窗口,用 who 命令
x=(1:0.1:10); %给出自变量 x
的定义域
y=2*sin(1+x); %写出函数形

plot(x,y)
%绘出函数图形
y=2*sin(1+0.5) %求当 x=0.5
时的 y 值,其
后不加分号,
直接在窗口中
给出结果
y =1.9950
%输出 y 的计
算结果
第1章 Matlab概述
例 1-4 绘制函数 y=3x3-10x2+5x-8的图像
主程序包括了 MATLAB 语言、工作环境、句柄 图形、数学函数库和应用程序接口五部分.
第1章 Matlab概述
1.2、Matlab的工作环境
1. MATLAB 的启动
桌面快捷方式启动 开始菜单方式启动
2. MATLAB和退出
Matlab菜单命令/关闭按钮 在Matlab命令窗口输入exit或quit

123

456

789
第1章 Matlab概述
当然我们也可以采用分行输入的形式
>> A=[1,2,3

4,5,6

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

Subarray
• Select and use subsets of a array
c = [1 2 3; 4 5 6]; a = c(1, [ 2 3]) b = c([1 2], [ 2 3])
• The end function • Assignment to subarray
c(1, 2:end) c(1, [ 2 3]) = [12 13]
Initialize the Array
There are 3 common ways:
• Using assignment statement • Read from a file • From keyboard
Initializing Variables in Assignment Statement
A MATLAB variable is a region of memory containing an array, which is known by a user-specified name.
Naming Rule
• must begin with a letter, followed by any combinations of letters, numbers, and the underscore character. C can begin with ‘_’ !!! • Only the first 31 characters are significant.
Firmly grasp the naming rules of MATLAB variables. Fully grasp the initialize and addressing method of a array. Memorize the basic special variables, such as pi, i, j, ans, NaN. Grasp how to save and load MATLAB variiables with Keyboard Input
• var = input(‘Enter an input value:’)
Multi-dimensional Arrays
• Create a multi-dimensional array
e.g. c is a 2x3x2 array
• Var = zeros(?) • Var = ones(?)
Initializing Variables from file
• MATLAB formatted file
• load xxx.mat • save file_name var1, var2, var3…
• ASCII file
• load file_name.xxx -ascii
• Assigning a scalar to a subarray
c(2, [ 2 3]) = 99
Assignment:
• Excises
2.1, 2.2, 2.3 2.4
• Using assignment statement
• Var = expression
• Initializing with shortcut expression
• Var = first : incr : last
• Initializing with build-in functions
• Must using meaningful names • Include a data dictionary in the header of the program • Use lowercase letters to name a variable • Use underscore as separator if the name is long
• c(:, :, 1) = [1 2 3; 4 5 6]; • c(:, :, 2) = [7 8 9; 0 1 2];
• MATLAB always allocates array elements in column major order.
• a(1, 1, 1) -> a(2, 1, 1) -> a(1, 2, 1) -> a(2, 2, 1) -> a(1, 3, 1)… • a(10) = 1
Special Variables
MATLAB has some predefined variables and users should avoid using them create new variables.
i, j, pi, NaN, ans, eps
Good Programming Practice
MATLAB & Its Applications In Engineering
李清都 副教授 liqd@
Lect. 2: Variables & Arrays
Contents Covered: basic conceptions of MATLAB variables and arrays initialize/save/load MATLAB variables and arrays Objectives:
Arrays
All data, even scalars, are arrays.
• Vectors: 1 dimension • Matrix: 2 or more dimensions
A scalar is an array with only one row and one column.
Variables
相关文档
最新文档