Matlab上机编程报告

合集下载

Matlab上机实验报告

Matlab上机实验报告

程序清单及运行结果:>> syms x a=int((x^4*(1-x)^4)/(1+x^2),0,1) a= 22/7 - pi >> f=inline('x.^4.*(1-x).^4./(1+x.*x)','x') f= Inline function: f(x) = x.^4.*(1-x).^4./(1+x.*x) >> quad(f,0,1) ans = 0.0013 2.误差函数 erf(x)的定义是: Erf(x)=2/(pi^0.5)
ezplot(y)
(exp(1) + exp(x))/x 50 40 30 20 10 0 -10 -20 -30 -6 -4 -2 0 x 2 4 6
Matlab11116010224
上机时间:2013-5-14
1 用符号工具箱计算:
1 0
(x 4 ∗ (1 − x)^4)/(1 + x^2)dx
这个积分能用数值积分计算吗?如果能,应该如何做? 方法:符号计算和数值计算。 程序流程图: 新建一个指令窗口 编辑指令 将指令复制到操作窗口 得出结果
0.6778 ans = 0.7421 ans = 0.7969 ans = 0.8427
3.求微分方程 xy’+y-e^x=0 在初值条件 y1=2e 下的特接,并画出解函数的图形(解
析解与数值解) 程序流程图: 新建一个指令窗口 编辑指令 将指令复制到操作窗口 得出结果
程序按及运行结果: y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x') y= (exp(1) + exp(x))/x

MATLAB上机实习报告

MATLAB上机实习报告

MATLAB上机实习报告Matlab上机实习实习报告十八周我们进行了本学期的第二次实习——Matlab上机实习。

本次实习一星期,共实习了五个部分。

分别是:一,Matlab基本操作;二,数值数组及其运算;三,Matlab图形绘制基础;四:SIMULINK仿真基础;五:句柄图形和图形用户界面制作。

下面分别介绍各部分内容:实习内容一Matlab基本操作1.实习目的:●掌握Matlab的启动和退出;●熟悉的命令窗口;●熟悉其它常用窗口和工具栏;2.输入一段程序:t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,’-r’,t,y0,’:b’,t,-y0,’:b’)输出结果:3.了解文件中的一些功能和指令.例如:clear 清除当前工作区中所有变量clc 清除指令窗内容clf 清除图形窗口cd 设置当前工作目录exit,quit 退出MATLAB实习内容二数值数组及其运算1.实习目的●掌握一维数组的创建和寻访●掌握二维数组的创建和寻访●掌握MATLAB的矩阵和数组的运算●熟悉MATLAB关系操作和逻辑操作2.要求在闭区间[0,2pi]上产生50个等距采样的一维数组A,试用两种不同的指令实现。

要访问1到5元素如何实现;寻访7到最后一个元素如何实现;寻访第2.6.8个元素如何实现;寻访大于2的元素如何实现;给第3.5.9个元素赋值100如何实现:(1)>> A=linspace(0,2*pi,50);>> A=0:(50/49):50;>> AA =Columns 1 through 90 1.0204 2.0408 3.0612 4.0816 5.1020 6.1224 7.1429 8.1633Columns 10 through 189.1837 10.2041 11.2245 12.2449 13.2653 14.2857 15.3061 16.3265 17.3469Columns 19 through 2718.3673 19.3878 20.4082 21.4286 22.4490 23.4694 24.4898 25.5102 26.5306Columns 28 through 3627.5510 28.5714 29.5918 30.6122 31.6327 32.6531 33.6735 34.6939 35.7143Columns 37 through 4536.7347 37.7551 38.7755 39.7959 40.8163 41.8367 42.8571 43.8776 44.8980Columns 46 through 5045.9184 46.9388 47.9592 48.9796 50.0000(2)>> whos A>> A(1:5)ans =0 1.0204 2.0408 3.0612 4.0816(3)>> A(7:50)ans =Columns 1 through 86.12247.14298.16339.1837 10.2041 11.2245 12.2449 13.2653Columns 9 through 1614.2857 15.3061 16.3265 17.3469 18.3673 19.3878 20.4082 21.4286Columns 17 through 2422.4490 23.4694 24.4898 25.510226.5306 27.5510 28.5714 29.5918Columns 25 through 3230.6122 31.6327 32.6531 33.6735 34.6939 35.7143 36.7347 37.7551Columns 33 through 4038.7755 39.7959 40.8163 41.8367 42.8571 43.8776 44.8980 45.9184Columns 41 through 4446.9388 47.9592 48.9796 50.0000 (4)>> A([2 6 8])ans =1.0204 5.1020 7.1429(5)>> poison=find(A>2)poison =Columns 1 through 143 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 15 through 2817 18 19 20 21 22 23 24 25 26 27 28 29 30Columns 29 through 4231 32 33 34 35 36 37 38 39 40 41 42 43 44Columns 43 through 4845 46 47 48 49 50 (6)>> A([3 5 9])=100(7)>> A=[1 2 3;4 5 6]A =1 2 34 5 63. 在指令窗口输入A=[1 2 3;4 5 6] 观察结果:分别用“全坐标”“单坐标”来寻访第2行第1列的元素,并说明二维数组元素的存储顺序。

Matlab simulink 上机实验报告 简单版

Matlab simulink 上机实验报告 简单版

201006113 11002 Matlab上机实验报告
◆实验一: Smulink动态仿真集成环境
➢ 1.目的要求
➢熟悉simulink环境, 掌握simulink的仿真方法。

➢ 2.掌握要点
➢熟悉simulink环境, 掌握simulink的仿真方法。

➢ 3.实验内容
➢熟悉simulink环境;
➢熟悉基本的模块库以及功能模块
➢搭建简单的电路进行仿真;
➢对分析参数对结果的影响;
1.建立如图所示的仿真系统.
完成过程:
********* ***** 结果如下:
◆ 2.建立如图所示的仿真系统.
◆将红色区域部分创建并封装装成子系统
完成过程:
没有设置子系统时:
没有设置子系统时的结果如下:
以下开始设置子系统并封装: 修改变量后:
最终如下图所示:
开始封装设置过程: 设置子系统各个参数
设置完成后如下图所示:
双击设置好的封装并分别输入与变量对应的参数如下:
运行结果如下:。

MATLAB语言上机实习报告

MATLAB语言上机实习报告

MATLAB语⾔上机实习报告课程名称:测绘程序设计课程性质:必修测绘程序设计实习报告学院:测绘⼯程学院班级:1220501实习地点:核⼯楼410班级组号:学⽣姓名:赵建新学⽣学号:201220050163指导教师:王建强⽇期:年⽉⽇⽬录实验1 matlab软件练习 (2)实验2 matlab解算⽅程 (5)实验3 matlab绘图 (8)实验4 ⾓度弧度互换 (12)实验5 坐标正反算 (15)实验6 ⽔准⽹计算 (17)实验7 导线⽹计算 (20)实验8 坐标转换 (23)实验⼼得 (26)实验1 matlab软件练习[实验项⽬]:MATLAB软件练习。

[实验⽬的]:熟悉对MATLAB的操作。

[实验仪器设备]:计算机及MATLAB R2009a程序设计语⾔。

[实验原理]:Matlab主要应⽤于数学计算、系统建模与仿真、数学分析与可视化、科学与⼯程制图和⽤户界⾯设计等。

Matlab是⼀个交互式开发系统,其基本数据要素是矩阵。

它的语法规则简单,⽤解释⽅式⼯作,编写程序和运⾏同步,键⼊程序⽴即得出结果,⼈机交互更加简洁和智能化。

[实验内容]:打开matlab,将⿏标放⾄菜单栏和⼯具栏图标上,了解其功能特点以及单击某个图标,熟悉它的界⾯、操作。

例如:(1)命令窗⼝:是进⾏matlab操作最主要的窗⼝,可以把命令窗⼝看成“草稿本”。

在命令窗⼝输⼊matlab的命令和数据后按回车键,⽴即执⾏运算并现实结果。

语句形式为:>>变量=表达式。

(2)历史命令窗⼝:位于界⾯的左下侧,⽤来记录并显⽰已经运⾏过的命令、函数及表达式。

在默认设置下,该窗⼝会显⽰⾃安装⼀来所有使⽤过的命令的历史记录,并标明每次启动软件的时间。

(3)当前⽬录浏览窗⼝:界⾯的左上侧,⽤来设置当前⽬录,并显⽰当前⽬录下的M-⽂件、Mat⽂件、Mdl⽂件等⽂件信息,窗⼝中包括⽂件类型、⽂件⼤⼩、最后修改时间和⽂件的说明信息等。

[实验数据记录及处理]:(1)运⾏matlab,界⾯是⼀个⾼度集成的⼯作界⾯,主要由菜单栏、⼯具栏、当前⼯作⽬录窗⼝、⼯作空间管理窗⼝、历史命令窗⼝和命令窗⼝等组成,如下图所⽰:(2)建⽴“M-⽂件”(“M-⽂件编辑/调试窗⼝集合了代码编辑和程序调试的功能,兵可以分析程序的运⾏效率)[实验结论]:Matlab是⼀款很好的应⽤于数学计算、系统建模与仿真、数学分析与可视化、科学与⼯程制图和⽤户界⾯设计等软件。

MATLAB入门实验报告

MATLAB入门实验报告

MATLAB实验报告题目:第一次实验报告学生姓名:学院:专业班级:学号:年月MATLAB第一次实验报告————入门第一次上机实验刘老师就MATLAB软件进行了大致的讲解,并讲了如何建立M文件,定义函数数组矩阵,如何绘图。

先就老师讲解及自己学习的情况做汇报。

一、建立M文件<1>M文件建立方法:1. 在MATLAB中,点:File→New →M-file2. 在编辑窗口中输入程序内容3. 点File →Save,存盘,M文件名必须与函数名一致<2>课上实例例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2答:建立M文件:fun.mfunction f=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2如此便可以直接使用函数fun.m例如计算f(1,2), 只需在MATLAB命令窗口键入命令:x=[1 2]fun(x)得f =100.<3>课下作业题目:有一函数,写一程序,输入自变量的值,输出函数值.解答:建立M文件:zuoye1.mfunction f=zuoye1(x,y)f=x^2+sin(x*y)+2*y命令行输入x=1,y=1zuoye1(x,y)得ans =3.8415经验算答案正确,所以程序正确。

二、定义数组、矩阵<1>说明逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列<2>课后作业题目:有一个4x5矩阵,编程求出其最大值及其所处的位置.解答:a=round(10*rand (4,5))[temp I]=max(a)[am II]=max(temp)p=[I(II) II]运行得一随机矩阵a =7 7 7 3 70 8 2 0 38 7 7 1 109 4 0 8 0temp =9 8 7 8 10I =4 2 1 4 3am =10II =5p = 3 5即最大值为10,位置为第三行第五列。

概率论与数理统计MATLAB上机实验报告

概率论与数理统计MATLAB上机实验报告

《概率论与数理统计》MATLAB上机实验实验报告一、实验目的1、熟悉matlab的操作。

了解用matlab解决概率相关问题的方法。

2、增强动手能力,通过完成实验内容增强自己动手能力。

二、实验内容1、列出常见分布的概率密度及分布函数的命令,并操作。

概率密度函数分布函数(累积分布函数) 正态分布normpdf(x,mu,sigma) cd f(‘Normal’,x, mu,sigma);均匀分布(连续)unifpdf(x,a,b) cdf(‘Uniform’,x,a,b);均匀分布(离散)unidpdf(x,n) cdf(‘Discrete Uniform’,x,n);指数分布exppdf(x,a) cdf(‘Exponential’,x,a);几何分布geopdf(x,p) cdf(‘Geometric’,x,p);二项分布binopdf(x,n,p) cdf(‘Binomial’,x,n,p);泊松分布poisspdf(x,n) cdf(‘Poisson’,x,n);2、掷硬币150次,其中正面出现的概率为0.5,这150次中正面出现的次数记为X(1) 试计算X=45的概率和X≤45 的概率;(2) 绘制分布函数图形和概率分布律图形。

答:(1)P(x=45)=pd =3.0945e-07P(x<=45)=cd =5.2943e-07(2)3、用Matlab软件生成服从二项分布的随机数,并验证泊松定理。

用matlab依次生成(n=300,p=0.5),(n=3000,p=0.05),(n=30000,p=0.005)的二项分布随机数,以及参数λ=150的泊松分布,并作出图线如下。

由此可以见得,随着n的增大,二项分布与泊松分布的概率密度函数几乎重合。

因此当n足够大时,可以认为泊松分布与二项分布一致。

4、 设22221),(y x e y x f +−=π是一个二维随机变量的联合概率密度函数,画出这一函数的联合概率密度图像。

Matlab实验报告(1)

Matlab实验报告(1)

《Matlab语言与应用》课程实验报告*名:**班级:电信114学号:************指导老师:***二〇一三年十一月二十一日Matlab实验报告实验一一、实验问题求[12 + sin(2)×( 22 −4)]÷3^2的算术运算结果。

二、问题的分析该题主要熟悉Matlab环境下的对数学运算的熟悉,如何输入数据、建立函数输出结果。

三、上机实验结果如图四、实验的总结与体会通过本次实验,我学会了用Matlab来计算数学运算中的复杂技术。

我们也可以自己编写一个可以调用的函数,首先我们要了解Matlab语言函数的基本结构,结构如下:Function [返回变量列表]=函数名(输入变量列表)注释说明语句段,由%引导输入、返回变量格式的检测函数体语句例如:输入变量为k,返回的变量为m和s,其中s为前m项的和Function [m,s]=findsum(k)s=0;m=0;while(s<=k),m=m+1;s=s+m;end编写了函数,就可以将其存为findsum.m文件,这样就可以在Matlab环境中对不同的k值调用该函数了。

这样就可以灵活的实现我们想要的数据。

实验二一、实验问题二、问题分析输入矩阵时,空格或逗号表示间隔,分号表示换行,比如上面的矩阵A应写为A=[1,2,3;4,5,6;7,8,9]三、上机实验结果如图四、实验的总结与体会通过对本次上机实验了解到在Matlab中对矩阵的代数运算矩阵转置、矩阵的加减法运算、矩阵乘法、矩阵的左、右除、矩阵翻转、矩阵乘方运算、点运算等。

实验三一、实验要求画图,理解plot函数用法二、代码如下clear; clf;t=0:pi/20:2*pi;R=5;x=R*sin(t); y=R*cos(t);plot(x,y,'b:'), gridhold onrrr=[x;y;x+y];plot(rrr(1,:),'.','MarkerSize',10,'Color','r')plot(rrr(2,:),rrr(3,:),'o','MarkerSize',15,'Color','b'); axis([-8,20,-8,8]), % axis squarehold off三、Matlab运行结果如图实验四一、实验要求二、代码如下t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b') Grid三、Matlab运行结果如图实验五一、实验要求傅里叶频谱分析二、代码及分析(1)首先生成数据,包含50Hz和120Hz频率的正弦波x >>t = 0:.001:.25;>>x = sin(2*pi*50*t) + sin(2*pi*120*t);(2)再生成噪音信号yy = x + 2*randn(size(t));plot(y(1:50))title('Noisy time domain signal')(3)对y进行快速傅里叶变换Y = fft(y,256);(4)计算功率谱Pyy = Y.*conj(Y)/256;f = 1000/256*(0:127);plot(f,Pyy(1:128))title('Power spectral density')xlabel('Frequency (Hz)')(5)只查看200Hz以下频率段plot(f(1:50),Pyy(1:50))title('Power spectral density')xlabel('Frequency (Hz)')三、上机结果如下图实验六一、实验要求FIR数字滤波器设计代码如下clear;close allf=[0,0.6,0.6,1]; m=[0,0,1,1]; % 设定预期幅频响应b=fir2(30,f,m); n=0:30; % 设计FIR 数字滤波器系数subplot(3,2,1),stem(n,b,'.')xlabel('n'); ylabel('h(n)');axis([0,30,-0.4,0.5]),line([0,30],[0,0])[h,w]=freqz(b,1,256);subplot(3,2,2),plot(w/pi,20*log10(abs(h)));gridaxis([0,1,-80,0]),xlabel('w/pi'); ylabel('幅度(dB)');二、上级结果如图实验七二、实验要求用guide实验一个简单的加减乘除计算器二、实验步骤在命令行输入guide命令,进入guide界面新建一个空白guide文件在空白文件中设置好功能模块如图模块建立好后,就要把编写好的加减乘除代码加入到各自的回调函数中,见下图两个被加数代码如下图加模块代码如下图减模块代码如下图乘模块代码如下图除模块代码如下图各模块的回调函数加完后就可以运行了,运行结果如下图总结:Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

MATLAB上机实验报告

MATLAB上机实验报告

MATLAB上机实验报告实验一、实验目的--------------------------------------------------------------------------------------------------------3二、实验内容--------------------------------------------------------------------------------------------------------3三、实验步骤--------------------------------------------------------------------------------------------------------31. M 文件的编辑----------------------------------------------------------------------------------------------32. 程序流程控制结构---------------------------------------------------------------------------------------31) for 循环结构-----------------------------------------------------------------------------------------42) while 循环结构----------------------------------------------------------------------------------------5练习-----------------------------------------------------------------------------------------------------------53)if-else-end分支结构---------------------------------------------------------------------------------54)switc-case结构----------------------------------------------------------------------------------------63. 子函数和参数传递------------------------------------------------------------------------------------------6练习-----------------------------------------------------------------------------------------------------------74. 局部变量和全局变量--------------------------------------------------------------------------------------8 MATLAB上机练习6.1 M 文件--------------------------------------------------------------------------------------------8(1)脚本文件-----------------------------------------------------------------------------------------------------8(2)函数文件-----------------------------------------------------------------------------------------------------9(3)函数调用-----------------------------------------------------------------------------------------------------9 6.2 MATLAB 的程序控制结构( 1) for 循环----------------------------------------------------------------------------------------------------9(2) while 循环----------------------------------------------------------------------------------------------------12(3)if语句---------------------------------------------------------------------------------------------------------12(4)switch 语句-------------------------------------------------------------------------------------------------13(5)try 语句-----------------------------------------------------------------------------------------------------14(6)程序流的控制--------------------------------------------------------------------------------------------14 6.3 数据的输入与输出-----------------------------------------------------------------------------------14(1)键盘输入语句------------------------------------------------------------------------------------------14(2)屏幕输出语句---------------------------------------------------------------------------------------------14 6.4 MATLAB文件操作(1)fopen 语句-----------------------------------------------------------------------------------------------------15(2) fclose 语句-----------------------------------------------------------------------------------------------------15 6.5 面向对象编程--------------------------------------------------------------------------------------------15(1)创建类目录----------------------------------------------------------------------------------------------------15(2) 建立类的数据结构-----------------------------------------------------------------------------------------15(3)创建类的基本方法---------------------------------------------------------------------------------------------16 6.6 MATLAB 程序优化-----------------------------------------------------------------------------------------17 6.7程序调试------------------------------------------------------------------------------------------------------17 6.8 习题----------------------------------------------------------------------------------------------------------17实验五MATLAB 程序设计一、实验目的掌握MATLAB 程序设计的主要方法,熟练编写MATLAB 函数。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。

2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。

MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。

2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。

4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。

注意:每⼀次M-file的修改后,都要存盘。

四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。

数值分析matlab上机实验报告

数值分析matlab上机实验报告

数值分析matlab上机实验报告matlab软件实验报告数学上机课实验报告matlab实验报告总结数值分析试卷篇一:《MATLAB与数值分析》第一次上机实验报告标准实验报告(实验)课程名称学生姓名:李培睿学号:2013020904026指导教师:程建一、实验名称《MATLAB与数值分析》第一次上机实验二、实验目的1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算操作。

(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序)2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。

(用.m 文件编写进行符号因式分解和函数求反的程序)3. 掌握Matlab函数的编写规范。

4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、三维曲线和面的填充、三维等高线等。

(用.m 文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释)5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。

三、实验内容1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。

并以x,y为坐标显示图像x(n+1) = a*x(n)-b*(y(n)-x(n) ); y(n+1) = b*x(n)+a*(y(n)-x(n) )2. 编程实现奥运5环图,允许用户输入环的直径。

3. 实现对输入任意长度向量元素的冒泡排序的升序排列。

不允许使用sort函数。

四、实验数据及结果分析题目一:①在Editor窗口编写函数代码如下:并将编写的函数文件用“draw.m”储存在指定地址;②在Command窗口输入如下命令:③得到图形结果如下:题目二:①在Editor窗口编写函数代码如下:并将编写的函数文件用“circle.m”储存在指定地址;②再次在Editor窗口编写代码:并将编写的函数文件用“Olympic.m”储存在指定地址;③在Command窗口输入如下指令(半径可任意输入):④按回车执行,将在图形窗口获得五环旗:题目三:①在Editor窗口编写函数代码如下:并用.将编写的函数文件用“qipaofa.m”储存在指定地址;②在Command窗口输入一组乱序数值,则可以得到升序排序结果如下:五、总结及心得体会1. 要熟悉MATLAB编译软件的使用方法,明白有关语法,语句的基本用法,才可以在编写程序的时候游刃有余,不至于寸步难行。

matlab实验报告

matlab实验报告

实验一:MATLAB基本操作一、实验目的1、学习掌握MA TLAB语言的基本操作方法2、掌握命令窗口的使用3、熟悉MA TLAB的数据表示、基本运算和程序控制语句4、熟悉MA TLAB程序设计的基本方法二、实验内容和要求2.b.帮助命令的使用,查找SQRT函数的使用方法按Start-help-search,输入sqrtc.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B输入A=[1 2;3 4];B=[5 5;7 8];A^2*B结果为:ans =105 115229 251(2)矩阵除法已知A=[1 2 3 ;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\BA/B=1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000A\B=1.0e+016 *0.3152 -1.2609 0.9457-0.6304 2.5218 -1.89130.3152 -1.2609 0.9457(3)矩阵的转置及共轭转置已知A=[15+i,2-i,1;6*i,4,9-i];求A.',A'A=15.0000 + 1.0000i 2.0000 - 1.0000i 1.00000 + 6.0000i 4.0000 9.0000 - 1.0000iA.'=15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA'=15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第三列前两个元素;A中所有第二行的元素A =1 2 34 5 67 8 9求A中第三列前两个元素:A([1,2],3)ans =36求A中所有第二行的元素:A(2,1:1:end)ans =4 5 6(5)方括号[]用magic函数生成一个4阶魔方矩阵,删除该矩阵的第四列magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 1a=ans;a(:,[1,2,3])ans =16 2 35 11 109 7 64 14 153..多项式(1)求多项式p(X)=x^3-2x-4的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;(1)a=[1,0,-2,-4]x=roots(a)x =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)求特征多项式系数:A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500求矩阵多项式中未知数为20时的值:c=polyval(p,20)c =7.2778e+004把矩阵A作为未知数代入到多项式中:c=polyval(p,A)c =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.16174、基本程序设计(1)编写命令文件:计算1+2+3+……+n<2000;n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1n =62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。

matlab上机实验报告ppt

matlab上机实验报告ppt

matlab上机实验报告pptMATLAB上机实验报告摘要:本实验报告利用MATLAB软件进行了一系列实验,包括数据处理、图像处理、信号处理等内容。

通过实验,我们掌握了MATLAB软件的基本操作和应用技巧,提高了数据分析和处理的能力。

1. 实验背景MATLAB是一种用于数学计算、数据分析和可视化的高级技术计算语言和交互式环境。

它是工程师和科学家们进行算法开发、数据分析、数据可视化和数值计算的首选工具。

本次实验旨在通过实际操作,掌握MATLAB的基本操作和应用技巧。

2. 实验内容本次实验主要包括以下内容:(1)数据处理:利用MATLAB对一组实验数据进行处理,包括数据的导入、清洗、分析和可视化。

(2)图像处理:利用MATLAB对一幅图像进行处理,包括图像的读取、处理和保存。

(3)信号处理:利用MATLAB对一组信号进行处理,包括信号的生成、滤波和频谱分析。

3. 实验过程(1)数据处理:首先,我们利用MATLAB将实验数据导入到工作空间中,然后对数据进行清洗和分析,最后利用MATLAB绘制出数据的可视化图表。

(2)图像处理:我们利用MATLAB读取一幅图像,并对图像进行处理,比如调整图像的亮度、对比度等参数,最后保存处理后的图像。

(3)信号处理:我们利用MATLAB生成一组信号,并对信号进行滤波处理,然后利用MATLAB进行信号的频谱分析。

4. 实验结果通过本次实验,我们成功地利用MATLAB对实验数据进行了处理和分析,得到了清晰的数据可视化图表;对一幅图像进行了处理,并保存了处理后的图像;对一组信号进行了滤波处理,并进行了频谱分析。

实验结果表明,MATLAB是一款功能强大、灵活多样的工程计算软件,能够满足工程师和科学家们的各种需求。

5. 实验结论本次实验通过MATLAB软件的实际操作,使我们掌握了MATLAB的基本操作和应用技巧,提高了我们的数据分析和处理能力。

同时,也加深了我们对MATLAB软件的理解和认识,为今后的工程计算和科学研究打下了坚实的基础。

matlab上机实验报告

matlab上机实验报告

matlab上机实验报告《Matlab上机实验报告:探索数据分析与图像处理的奇妙世界》摘要:本实验报告基于Matlab平台,探索了数据分析与图像处理的应用。

通过实验,我们发现Matlab具有强大的数据处理和图像处理能力,能够帮助我们快速高效地分析数据和处理图像。

本文将详细介绍实验过程和结果,以及对Matlab在数据分析与图像处理中的应用前景进行探讨。

1. 实验目的本次实验旨在通过Matlab平台进行数据分析与图像处理实验,探索Matlab在这两个领域的应用能力,为学习者提供实践机会,加深对数据分析与图像处理的理解,并为未来的科研工作和工程实践提供技术支持。

2. 实验内容2.1 数据分析我们首先使用Matlab对一组实验数据进行分析,包括数据的可视化、统计特征提取、数据拟合等操作。

通过Matlab强大的数据处理工具,我们可以快速准确地分析数据,提取出其中的规律和特征,为后续的决策和应用提供支持。

2.2 图像处理其次,我们利用Matlab对一组图像进行处理,包括图像的增强、滤波、边缘检测等操作。

通过Matlab丰富的图像处理工具,我们可以对图像进行各种操作,改善图像质量,提取图像特征,甚至实现图像识别和分析。

3. 实验结果在数据分析方面,我们利用Matlab对实验数据进行了可视化展示,并提取了数据的统计特征,得到了数据的分布规律和趋势。

在图像处理方面,我们利用Matlab对图像进行了增强和边缘检测,得到了处理后的图像,观察到了图像质量的改善和边缘特征的提取。

4. 实验结论通过本次实验,我们深刻认识到Matlab在数据分析与图像处理领域的强大能力,能够帮助我们快速高效地分析数据和处理图像,为科研工作和工程实践提供技术支持。

我们相信,在未来的发展中,Matlab将在数据分析与图像处理领域发挥越来越重要的作用。

5. 展望基于本次实验的结果,我们对Matlab在数据分析与图像处理领域的应用前景进行了展望。

我们相信,随着科技的不断发展,Matlab将在数据分析与图像处理领域发挥越来越重要的作用,为人类社会的进步和发展做出更大的贡献。

《数值计算与MATLAB应用》上机报告5-6

《数值计算与MATLAB应用》上机报告5-6

《数值计算与MATLAB应用》上机练习报告(5-6)班级:姓名:学号:总评成绩:汽车工程学院汽车数字应用中心练习5 MATLAB 绘图1. 练习目的(1)了解MA TLAB 的图形窗口;掌握MATLAB 基本二维图形以及基本操作; (2)掌握MA TLAB 三维绘图方法及技巧与MATLAB 图形注释的添加与管理; (3)综合应用数值计算与MA TLAB 编程分析处理数据2. 练习内容(要求:在F 盘创建文件夹,并命名为班级学号姓名(例如:T15_1_02李三)。

在该文件夹内创建子文件夹class4,在m 文件中编写程序计算,文件名为ex1.m ,ex2.m …;在练习报告中写明程序与运行结果)(1)轻型货车的有关数据如下,绘制发动机外特性曲线图,各档的驱动力-行驶阻力平衡图,汽车功率平衡图。

(注意曲线颜色、线性、线宽度/横坐标与纵坐标名称、图例等属性设置)汽油发动机使用外特性的Tq-n 曲线的拟合公式为23419.313295.27()165.44()40.874() 3.8445()1000100010001000q n n n n T =-+-+-式中,Tq 为发动机转矩(N •m );n 为发动机转速(r/min )。

发动机的最低转速n min =600r/min,最高转速n max =4000r/min 。

装载质量 2000kg 整车整备质量 1800kg 总质量 3880kg 车轮半径 0.367m 传动系机械效率 ηt =0.85 滚动阻力系数 f =0.013 空气阻力系数×迎风面积 C D A =2.77m 2 主减速器传动比 i 0=5.83 飞轮转动惯量 I f =0.218kg •m 2四后轮转动惯量I w2=3.598kg•m2变速器传动比ig(数据如下表)轴距L=3.2m质心至前轴距离(满载)a=1.974m质心高(满载)hg=0.9m(2)曲柄连杆机构,曲柄OA 绕转轴O 匀速转动,连杆与曲柄和滑块铰接,设OA =20cm ,AB=60cmt ωθ=,w=15,利用理论力学运动学解析法求连杆上P 点(AP =e=30cm )的运动方程,求滑块B的运动方程、速度和加速度。

数值分析上机实验报告

数值分析上机实验报告

一、实验目的通过本次上机实验,掌握数值分析中常用的算法,如二分法、牛顿法、不动点迭代法、弦截法等,并能够运用这些算法解决实际问题。

同时,提高编程能力,加深对数值分析理论知识的理解。

二、实验环境1. 操作系统:Windows 102. 编程语言:MATLAB3. 实验工具:MATLAB数值分析工具箱三、实验内容1. 二分法求方程根二分法是一种常用的求方程根的方法,适用于连续函数。

其基本思想是:从区间[a, b]中选取中点c,判断f(c)的符号,若f(c)与f(a)同号,则新的区间为[a, c],否则为[c, b]。

重复此过程,直至满足精度要求。

2. 牛顿法求方程根牛顿法是一种迭代法,适用于可导函数。

其基本思想是:利用函数在某点的导数值,求出函数在该点的切线方程,切线与x轴的交点即为方程的近似根。

3. 不动点迭代法求方程根不动点迭代法是一种迭代法,适用于具有不动点的函数。

其基本思想是:从初始值x0开始,不断迭代函数g(x)的值,直至满足精度要求。

4. 弦截法求方程根弦截法是一种线性近似方法,适用于可导函数。

其基本思想是:利用两点间的直线近似代替曲线,求出直线与x轴的交点作为方程的近似根。

四、实验步骤1. 二分法求方程根(1)编写二分法函数:function [root, error] = bisection(a, b, tol)(2)输入初始区间[a, b]和精度要求tol(3)调用函数计算根:[root, error] = bisection(a, b, tol)2. 牛顿法求方程根(1)编写牛顿法函数:function [root, error] = newton(f, df, x0, tol)(2)输入函数f、导数df、初始值x0和精度要求tol(3)调用函数计算根:[root, error] = newton(f, df, x0, tol)3. 不动点迭代法求方程根(1)编写不动点迭代法函数:function [root, error] = fixed_point(g, x0, tol)(2)输入函数g、初始值x0和精度要求tol(3)调用函数计算根:[root, error] = fixed_point(g, x0, tol)4. 弦截法求方程根(1)编写弦截法函数:function [root, error] = secant(f, x0, x1, tol)(2)输入函数f、初始值x0和x1,以及精度要求tol(3)调用函数计算根:[root, error] = secant(f, x0, x1, tol)五、实验结果与分析1. 二分法求方程根以方程f(x) = x^2 - 2 = 0为例,输入初始区间[a, b]为[1, 3],精度要求tol 为1e-6。

MATLAB上机实验实验报告

MATLAB上机实验实验报告

MATLAB上机实验一一、实验目的初步熟悉 MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。

命令窗口二、实验内容(1) 熟悉MATLAB 平台的工作环境。

(2) 熟悉MATLAB 的5 个工作窗口。

(3) MATLAB 的优先搜索顺序。

三、实验步骤1. 熟悉MATLAB 的5 个基本窗口① Command Window (命令窗口)② Workspace (工作空间窗口)③ Command History (命令历史记录窗口)④ Current Directory (当前目录窗口)⑤ Help Window (帮助窗口)(1) 命令窗口(Command Window)。

在命令窗口中依次输入以下命令:>>x=1>> y=[1 2 34 5 67 8 9];>> z1=[1:10],z2=[1:2:5];>> w=linspace(1,10,10);>> t1=ones(3),t2=ones(1,3),t3=ones(3,1)>> t4=ones(3),t4=eye(4)x =1z1 =1 2 3 4 5 6 7 8 9 10 t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写。

答:(1)变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。

当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。

脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。

当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。

MATLAB上机实验实验报告

MATLAB上机实验实验报告

MATLAB上机实验实验报告实验名称:用MATLAB实现多项式拟合及插值一、实验目的:通过使用MATLAB实现多项式拟合及插值的方法,掌握MATLAB软件的基本操作和函数应用,进一步了解多项式拟合及插值的原理和实现过程。

二、实验原理:多项式拟合及插值是一种常见的数值分析方法,通过对已知数据点集合的拟合或插值,构造出一个多项式函数,用于近似表示原始数据。

1.多项式拟合:通过最小二乘法原理,选择一个合适的多项式函数,使得拟合出的多项式与已知数据点之间的误差最小。

拟合函数可以是一次、二次或高阶多项式。

2.多项式插值:通过已知数据点的横纵坐标值,构造一个满足这些点的多项式函数。

插值函数可以是一次、二次或高阶多项式。

插值函数经过每个已知数据点。

三、实验步骤:1.数据准备:选择一组已知数据,包含横纵坐标值。

数据点的个数可以根据具体情况自行确定。

2.多项式拟合:使用MATLAB中的polyfit函数,根据已知数据点进行多项式拟合。

根据拟合结果,获取拟合的多项式系数。

3.多项式插值:使用MATLAB中的polyfit函数,根据已知数据点进行多项式插值。

通过plot函数绘制原始数据点的散点图和插值多项式的曲线图。

可以尝试不同阶数的多项式插值。

4.结果分析:根据实验结果,分析拟合与插值的效果。

对比拟合结果与原始数据的误差大小,评估拟合的准确性。

对比插值结果与原始数据的差异,评估插值的精确度。

五、实验总结:通过这次实验,我熟练掌握了使用MATLAB实现多项式拟合及插值的方法。

在实验中,我了解了多项式拟合的原理,以及如何利用最小二乘法求取多项式拟合的系数。

同时,我也学会了如何使用MATLAB中的polyfit函数实现多项式拟合和插值。

通过实验结果的分析,我对拟合和插值的实际应用和效果有了更加深入的认识。

[1]MATLAB官方文档[2]高等数值分析教程以上为MATLAB上机实验实验报告,共计1200字。

实验一:Matlab基础知识操作和编程

实验一:Matlab基础知识操作和编程

《计算方法与Matlab 》上机实验报告实验一:Matlab 基础知识操作和编程 1. 利用公式21171513114++-+-= π计算π的值。

答案:3.2323 程序代码:sum=0;for i =1:2:21sum=sum+1/i*(-1)^(fix(i/2)) p=4*sumend运行结果附图:2. 编函数计算!!!!!257531+++++ 的值。

答案:1.5537e+025程序代码:编辑窗口:function[h]=comp2(m)h=0for i=1:2:ms=1for j=1:is=s*jendh=h+send命令窗口:Comp2(25)运行结果附图:n 张图 ……3. 编M 文件计算自然数n 的阶乘。

答案:2.6525e+032程序代码:编辑窗口:function[s]=comp3(n)s=1for i=1:ns=s*iend命令窗口;comp3(30)运行结果附图:4. 计算下列格式的数值:023412321cos 3log 1234÷⨯+e ;x x arccos )tan(2-,在25.0=x 和π78.0=x 的函数值。

答案:第一题2.1606e+105 第二题:m=-0.0825 n=0+0.4418i 程序代码:第一题:exp(123)+(1234^34)*(log2(3))/cos((21/180)*pi) 第二题:编辑窗口:function[m,n]=comp4(x,y)m=tan(-x^2)*acos(x)n=tan(-y^2)*acos(y)命令窗口:comp4(0.25,0.78*pi)第一题:运行结果附图:第二题:运行结果附图:。

Matlab编程实验报告

Matlab编程实验报告

中北大学Matlab 编程实验报告班级:姓名:学号: 392013 年 11 月2,实验一 Matlab运算基础一、实验目的1、熟习启动和退出MATLAB的方法。

2、熟习 MATLAB工作窗口的构成。

3、掌握成立矩阵的方法,矩阵剖析与办理。

4、掌握 MATLAB各样表达式的书写规则以及常用函数的使用。

二、实验内容1.先求以下表达式的值,而后显示 MATLAB工作空间的使用状况并保存所有变量。

2sin 85(1)z11e2z1=2*sin(85*pi/180)/(1+exp(2))z1 =(2)z2 1 ln( x2 1 2i 1 x2 ) ,此中x52 0.45 x=[2,1+2*i;,5]x =+z2=1/2*log(x+sqrt(1+x*x))z2 =- ++ -e 0.3 ae 0.3a 3.0, 2.9, 2.8,L ,2.8, 2.9,3.0(3) z32 gsin(a 0.3), a提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。

a=::a =Columns 1 through 9Columns 10 through 18Columns 19 through 27Columns 28 through 36Columns 37 through 45Columns 46 through 54Columns 55 through 61>>z3=(exp.*a)-exp.*a))/2.*sin(a+ z3 =Columns 1 through 9 Columns 10 through 18 Columns 19 through 27Columns 28 through 36Columns 37 through 45 Columns 46 through 54Columns 55 through 61t 2 0 t 1( 4) z4 t 2 1 1 t 2 ,此中 t = 0::t 2 2t 1 2 t 3提示:用逻辑表达式求分段函数值。

数值逼近上机实验报告

数值逼近上机实验报告

一、实验目的1. 理解数值逼近的基本概念和方法;2. 掌握常用的数值逼近算法,如牛顿法、二分法、割线法等;3. 熟练运用Matlab进行数值逼近实验,分析实验结果。

二、实验环境1. 操作系统:Windows 102. 编程语言:Matlab R2018a3. 实验设备:联想ThinkPad X1 Carbon笔记本电脑三、实验内容1. 牛顿法求方程的根2. 二分法求方程的根3. 割线法求方程的根4. 利用多项式逼近函数四、实验步骤1. 牛顿法求方程的根(1)编写牛顿法求方程根的Matlab程序,输入参数为方程f(x)和初始值x0;(2)设置迭代精度和最大迭代次数;(3)运行程序,观察迭代过程,记录迭代结果。

2. 二分法求方程的根(1)编写二分法求方程根的Matlab程序,输入参数为方程f(x)和初始区间[a, b];(2)设置迭代精度和最大迭代次数;(3)运行程序,观察迭代过程,记录迭代结果。

3. 割线法求方程的根(1)编写割线法求方程根的Matlab程序,输入参数为方程f(x)和初始值x0, x1;(2)设置迭代精度和最大迭代次数;(3)运行程序,观察迭代过程,记录迭代结果。

4. 利用多项式逼近函数(1)编写多项式逼近函数的Matlab程序,输入参数为函数f(x)和节点x1,x2, ..., xn;(2)利用多项式拟合方法求出系数a0, a1, ..., an;(3)绘制原始函数和多项式逼近函数的图像,观察拟合效果。

五、实验结果与分析1. 牛顿法求方程的根实验结果显示,牛顿法在满足一定条件下具有较高的收敛速度,且在迭代过程中逐渐逼近方程的根。

然而,当初始值选取不合适时,牛顿法可能会陷入局部收敛,甚至发散。

2. 二分法求方程的根二分法具有简单、易实现的特点,但收敛速度较慢。

在实验中,二分法最终成功求出方程的根,但迭代次数较多。

3. 割线法求方程的根割线法相较于牛顿法和二分法具有较好的稳定性,但在某些情况下收敛速度较慢。

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

MATLAB编程实习报告专业:班级:姓名:学号:指导教师:目录第一章引言 (3)1.1社会及技术背景 (3)1.2MATLAB编程的概述 (3)1.3学习MATLAB的目的与意义 (4)第二章MATLAB编程 (5)2.1实习目的 (5)2.2实习原理及过程 (5)2.2.1闭合导线编程 (5)2.2.2方位角编程 (9)2.2.3水准测量编程 (10)第三章总结 (13)3.1对MATLAB的认识总结 (13)3.2实习心得总结 (13)第一章引言1.1社会及技术背景MATLAB是MathWorks公司于1984年开发的,目前已经发展成国际上最流行、应用最广泛的科学与工程计算软件之一。

MATLAB是功能强大的科学及工程计算软件,它不但具有矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。

MATLAB的应用领域极为广泛,除数学计算和分析外,还被广泛应用于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,也是国内外高校和研究部门进行科学研究的重要工具。

MATLAB 是一个交互式开发系统,其基本数据要素是矩阵。

MATLAB的语法规则简单,适合于专业科技人员的思维方式和书写习惯;它用解释方式工作,编写程序和运行同步,键入程序立即得出结果,因此人机交互更加简洁和智能化;而且MATLAB可适用于多种平台,随着计算机软、硬件的更新而及时升级,是的编程效率大大提高。

1.2MATLAB编程的概述MATLAB提供了完整的编写应用程序的能力,这种能力通过一种被称为M语言的高级语言来实现。

这种编程语言是一种解释性语言,利用该语言编写的代码仅能被MATLAB接受,被MATLAB解释、执行。

其实,一个M语言文件就是由若干MATLAB的命令组合在一起构成的,这些命令都是在前面章节中介绍的合法的MATLAB命令。

和C语言类似,M语言文件都是标准的纯文本格式的文件,其文件的扩展名为.m。

使用M文件最直接的好处就是可以将一组MATLAB命令组合起来,通过一个简单的指令就可以执行这些命令。

这些命令可以完成某些MATLAB的操作,也可以实现某个具体的算法。

其实,MATLAB产品族中包含的工具箱就是由世界上在相应专业领域内的顶尖高手,利用M 语言开发的算法函数文件集合。

读者也可以结合自己工作的需要,为自己的MATLAB开发具体的算法和工具箱。

MATLAB的函数主要有两类,一类被称为内建(Build-in)函数,这类函数是由MATLAB的内核提供的,能够完成基本的运算,例如三角函数、矩阵运算的函数等。

另外一类函数就是利用高级语言开发的函数文件,这里的函数文件既包括用C语言开发的MEX函数文件,又包含了M函数文件。

如前所述,MATLAB的M语言文件是纯文本格式的文件,利用任何一种纯文本编辑器都可以编写相应的文件,例如Windows平台下的记事本、UltraEdit等软件,或者Unix平台下的Emacs软件等。

同样,为了方便编辑M文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。

M语言文件可以分为两类,其中一类是脚本文件,另外一类叫作函数文件。

1.3学习MATLAB的目的与意义MATLAB作为当今世界上应用最为广泛的数学软件,具有非常强大的数值计算、数据分析处理系统分析、图形显示甚至符号运算的功能。

已经在如生物工程,图像处理,语音处理,雷达空,声纳探水,地震探地,以及控制论,系统论等各个领域得到广泛的应用。

它是一个完整的数学平台,在这个平台上,用户只需寥寥数语就可以完成十分复杂的功能,大大提高了工程分析计算、图像处理的效率。

但是MATLAB强大的功能只能在它所提供的平台上才能使用,即用户必须在安装MATLAB系统的机器上才能执行*.m文件。

这样当用户需要将在MATLA下已开发完毕的复杂算法应用到高级语言开发环境下时就带了问题,是将现成的东西集成高级语言开发的程序中呢?还是用高级语言再重新实现一遍?显然大家所期望的是减少工作量,最好能将MATLAB下开发好的程序或函数直接应用到高级语言开发的程序中这就是MATLAB与高级语言的混合编程问题。

第二章MATLAB编程2.1实习目的1.熟练掌握MATLAB中矩阵的运算2.了解程序设计,能够简单分析和解决问题方法,但由于不能整体判读,所以逐句解释运行程序,运行速度略慢。

3.能够进行MATLAB数据及运算,不同的计算机允许定义和使用的数据类型各不相同。

MATLAB在矩阵的基础上形成了十分丰富的基础类型。

4.掌握测绘的一些平差运算,正确的用MATLAB程序语言表示出来。

2.2实习原理及过程2.2.1闭合导线编程闭合导线是导线测量的一种,根据测量夹角和边长,推算出平面坐标的测量称为导线测量。

%起算数据输入xA=input(‘请输入已知点xA坐标:’);yA=input(‘请输入已知点yA坐标:’);xM=input(‘请输入已知点xM坐标:’);yM=input(‘请输入已知点yM坐标:’);dx=XA-XMdy=yA-yM%求方位角if dx>=0&dy>=0fwjAM=atand((yA-yM)/(XA-XM));elseif dx>0&dy<0fwjAM=180-atand(abs((yA-yM)/(XA-XM)));elseif dx<0&dy<0fwjAM=180+atand(abs((yA-yM)/(XA-XM)));elsefwjAM=360-atand(abs((yA-yM)/(XA-XM)));end%输入连接角Lianjiejiao1=input(‘请输入连接角’,‘s’);d1=str2num(lianjiejiao1(1:3));f1=str2num(lianjiejiao1(4:5));m1=str2num(lianjiejiao1(6:7));1j=d1+f1/60+m1/3600;%连接角转化为度;lianjiejiao1=1jn=input(‘请输入边长数:’);for i=1:na=num2str(i)bianchang=char(‘(‘请输入边长:’),‘a’’);jd=char(‘(‘请输入角度:’),‘a’’);bc=input(bianchang,‘s’);jd1=input(jd,‘s’);d1=str2num(jd1(1:3));f1=str2num(jd1(4:5));m1=str2num(jd1(6:7));jd2(i)=d1+f1/60+m1/3600%内角转化为度jd3=sum(jd2)bc1(i)=str2num(bc)end%求角度闭合差Bc2=sum(bc1)Jd4=jd3-(n-2)*180%分配闭合差for j=1:ng=-jd4/n%求改正后内角jd3(j)=jd2(j)+gend%计算各导线边方位角for k=1:nif k==1fwj(1)=fwjAM+180+lianjiejiao1-180 endif k>1fwj(k)=jd3(k)+fwj(k-1)-180*nendend%计算坐标增量和闭合差for h=1:nxz1(h)=bc1(h)*cosd(fwj(h))yz1(h)=bc1(h)*sind(fwj(h))xzl1=sum(xzl)yzl1=sum(yzl)fs=sqrt(xzl1^2+yzl1^2)end%分配闭合差for m=1:nvx(m)=-xzl1/bc2*bc1(m)vy(m)=-yzl1/bc2*bc1(m)end%求改正后的坐标增量for l=1:nxzl2(l)=xzl(l)+vx(l)yzl2(l)=yzl(l)+vy(l)end%求各未知点坐标for p=1:n+1if p==1x(1)=xMy(1)=yMendif p>1x(p)=x(p-1)+xzl2(p-1)y(p)=y(p-1)+yzl2(p-1)endend2.2.2方位角编程通过坐标经过一些转换得到坐标方位角X0=6000;Y0=5000;X1=4000;Y1=3000;d=sqrt((X1-X0)^2+(Y1-Y0)^2);x=X1-X0;y=Y1-Y0;if y>0AZ=acos(x/d);elseAZ=2*pi/d;endAZ运算结果为:AZ=0.0022经过判断就可以的得出的坐标方位角的值。

2.2.3水准测量编程从某一个统一的高程起算面起算,所有的水准测量测定的高程都是以这个面为零起算,也就是高程基准面作为零高程面。

根据平差书上的例题,通过MATLAB编程为:%必要观测n=5t=3三个点的高程设为参数L1=5.835;L2=3.782;L3=9.640;L4=7.384;L5=2.270;S1=3.5;S2=2.7;S3=4.0;S4=3.0;S5=2.5;C=10;%建立矩阵及矩阵赋值B=zeros(5,3);B(1,1)=1;B(2,1)=-1;B(2,2)=1;B(3,2)=1;B(4,2)=1;B(4,3)=-1;B(5,3)=1;P=zeros(5,5);P=diag([C/S1,C/S2,C/S3,C/S4,C/S5]);L=[0;L3-L1-L2;0;L3-L5-L4;0];%测量观测值组成的矩阵X=inv(B'*P*B)*B'*P*L;%计算高程参数的改正值V=B*X-L%观测值得改正值V+[L1;L2;L3;L4;L5]%观测值平差后的值计算平差的结果为:V=-0.0119-0.00920.00200.00870.0073ans=5.82313.77289.64207.39272.2773第三章总结3.1对MATLAB的认识总结MATLAB提供了一种高级编程语言——M语言,这种语言的语法结构与C语言非常类似,任何熟悉C语言的用户学习使用M语言都不会有任何障碍。

尽管M语言是一种解释性的编程语言,但是随着MATLAB 版本的不断升级,以及充分利用MATLAB提供的各种编程技巧,能够有效提高M语言应用程序的执行效率,使M语言成为了工程领域中最适合进行算法开发验证的编程语言。

通过本次的实习之后,我们应该能够比较熟练地利用M语言实现自己的想法。

因为MATLAB是灵活、可靠的开发环境,不仅可以利用已有的MATLAB的功能,而且还能够利用M语言丰富MATLAB的能力。

还能够充分利用MATLAB新版本特性,以及MATLAB丰富的编程调试工具——调试器和性能分析器,编写出高效率可靠的应用程序。

3.2实习心得总结为期一周的MATLAB实训已经结束了,对于MATLAB这一功能强大的软件来说,为期一周的学习是远远不够的,但就是这一周的短暂学习,却让我感受到了MATLAB的巨大魅力。

相关文档
最新文档