matlab实验报告函数与方程1
MATLAB实验报告

MATLAB实验报告江苏科技⼤学《MATLAB实践》实验报告学号:1341901111姓名:符⾸夫计算机科学与⼯程学院2016.5.31实验⼀ MATLAB的基本使⽤⽅法实验⽬的和要求:通过完成实验⼀,掌握MATLAB的基本使⽤⽅法。
实验内容:(⼀)练习数据和符号输⼊法,将前⾯的命令在命令窗⼝中执⾏通过。
1)>>52)>>x=[1 2 3 4]3)>>g=[1 2 3 4];h=[4 3 2 1]>>s1=g+h, s2=g.*h, s3=g.^hS1=5 5 5 5S2=4 6 6 4S3=1 8 9 4(⼆)输⼊A=[715;256;315],B=[111;222;333],在命令窗⼝中执⾏下列表达式,掌握其含义。
源程序:>>A=[7 1 5;2 5 6;3 1 5];B=[1 1 1;2 2 2;3 3 3];>>A(2,3)>>A(:,2)>>A(:,1:2:3) % A数组中第⼀列和第三列>>A(3,:) %A数组中第三⾏>>A(:,3).*B(:,2) %A中第三列和B中第⼆列相乘>> A(:,3)*B(2,:) %A中第三列和B中第⼆⾏相乘竖着排,形成3*3矩阵>>A*B %A 与B数组相乘>>A.*B>>A^2>>A.^2 % A中所有数平⽅>>B/A %B矩阵除以A矩阵>>B./A % B中数除以A中对应位置数(三) 输⼊C=.1:2:20,则C (i )表⽰什么?其中i=1,2,3…10;源程序:>>c=1:2:20; >>c(1) >>c(10)实验⼆ MATLAB的数值计算实验⽬的和要求:通过完成实验⼆,掌握MATLAB的数值计算。
实验内容:(⼀) ⽤⼆分法计算多项式⽅程X^3-2X-5=0在[0,3]内的⼀个根。
MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。
所以用Maltab 软件很方便地画出规则的直线,方便研究。
实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。
matlab实验报告

matlab实验报告实验1 熟悉matlab 的开发环境及矩阵操作⼀、实验的教学⽬标通过本次实验使学⽣熟悉MATLAB7.0的开发环境,熟悉MA TLAB ⼯作界⾯的多个常⽤窗⼝包括命令窗⼝、历史命令窗⼝、当前⼯作⽬录窗⼝、⼯作空间浏览器窗⼝等。
掌握建⽴表达式书写规则及常⽤函数的使⽤,建⽴矩阵的⼏种⽅法。
⼆、实验环境计算机、MATLAB7.0集成环境三、实验内容1、熟悉命令窗⼝的使⽤,⼯作空间窗⼝的使⽤,⼯作⽬录、搜索路径的设置。
命令历史记录窗⼝的使⽤,帮助系统的使⽤。
2、在当前命令窗⼝中输⼊以下命令:x=0:2:10 y=sqrt(x),并理解其含义。
3、求下列表达式的值(1)w=)1034245.01(26-?+?(2)x=ac b e abc cb a ++-+++)tan(22ππ,其中a=3.5,b=5,c=-9.8 四、实验总结1、熟悉了命令窗⼝的使⽤,⼯作空间窗⼝的使⽤。
2、了解了⼯作⽬录、搜索路径的设置⽅法。
---5317383399351542实验2 MATLAB 基本运算⼀、实验的教学⽬标通过本次实验使学⽣掌握向量和矩阵的创建⽅法;掌握矩阵和数组的算术运算、逻辑运算和关系运算;掌握字符数组的创建和运算;了解创建元胞数组和结构体的⽅法。
⼆、实验环境计算机、MATLAB7.0集成环境三、实验内容1、要求在闭区间]2,0[π上产⽣具有10个等距采样点的⼀维数组。
试⽤两种不同的指令实现。
(提⽰:冒号⽣成法,定点⽣成法)2、由指令rng('default'),A=rand(3,5)⽣成⼆维数组A ,试求该数组中所有⼤于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
(提⽰:find 和sub2ind )3、创建3阶魔⽅矩阵a 和3阶对⾓阵b ,c=a(1:3,1:3)(1)计算矩阵a,b 和c 的⾏列式、逆矩阵并进⾏最⼤值的统计。
(2)⽐较矩阵和数组的算术运算:b 和c 的*、/、^和.*、./、.^。
matlab--函数图形绘制实验报告1

实验报告课程名称: 数学实验学院名称: 数学与统计学院班级:姓名:学号:2012-2013 学年第学期数学与统计学院制(二)参数方程作图例2: 画出星形线{ 及旋轮线{ 的图形解: 输入以下命令:%星形线作图t=linspace(0,2*pi,5000);x=2*(cos(t)).^3;y=2*(sin(t)).^3;plot(x,y),grid;结果:%旋轮线作图t=linspace(0,4*pi,5000); x=2*(t-sin(t));y=2*(1-cos(t));plot(x,y),axis equal; axis(0,8*pi,0,5);grid;结果:(三)极坐标方程图形例3:画出四叶玫瑰线的图形。
知其极坐标方程: ρ=acos(2 )。
解: 取a=5做图。
在命令窗口输入下命令theta=linspace(0,2*pi);r=2*cos(2*theta);polar(theta,r)结果:(四)空间曲面(线)的绘制例4: 绘制双曲抛物面z= 。
解:将其化为参数方程:{ , 编写m文件运行以下命令r=linspace(-4,4,30);s=r;[u,v]=meshgrid(r,s);x=u;y=v;z=(u.^2-v.^2)./4;surf(x,y,z);bix on;结果:(五)空间曲线在坐标平面上的投影曲面和投影柱面例5: 画出螺旋线{ , 在xOz面上的正投影曲线的图形。
解:化为参数方程{ , 运行下列程序t=linspace(-2*pi,2*pi);x=10*cos(t);z=2*t;h=plot(x,z);grid;xlabel('x');ylabel('z');set(h,'linewidth',2);结果:(一)实验分析:(二)在本次实验中我们初步了解了matlab。
(三)学会了一些简单绘图。
(四)在编制中我们要很明确“点乘的重要性”。
matlab实验报告总结

matlab实验报告总结1.求一份matlab的试验报告计算方法试验报告3【实验目的】检查各种数值计算方法的长期行为【内容】给定方程组x'(t)=ay(t),y'(t)=bx(t), x(0)=0, y(0)=b的解是x-y 平面上的一个椭圆,利用你已经知道的算法,取足够小的步长,计算上述方程的轨道,看看那种算法能够保持椭圆轨道不变。
(计算的时间步长要足够多)【实验设计】用一下四种方法来计算:1. Euler法2. 梯形法3. 4阶RK法4. 多步法Adams公式【实验过程】1. Euler法具体的代码如下:clear;a=2;b=1;A=[0 a; -b0];U=[];u(:,1)=[0;b];n=1000000;h=6*pi/n;fori=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5; u(:,i+1)=u(:,i)+h*A*u(:,i);endt=1:n+1;subplot(1, 2,1);plot(1:n,delta);gridon;subplot(1,2,2);plot(u(1,:),u(2,:));gridon;max(abs(delta-ones(1,length(delta))));结果如下:2. 梯形法具体的代码如下:clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=300;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;v1=u(:,i)+h*A*u(:,i);v2=u(:,i)+h*A*(u(:,i)+v1)/2;1u(:,i+1)=u(:,i)+h*A*(u(:,i)+v2)/2;endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下 3. 4阶RK法clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=70;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;k1=A*u(:,i); k2=A*(u(:,i)+h/2*k2); k3=A*(u(:,i)+h*k3); k4=A*(u(:,i)+h*k3); u(:,i+1)=u(:,i)+h/6*(k1+2*k2+2*k3+k4);endt=1:n+1 ;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:4. 多步法Adams公式clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=200;h=6*pi/n;u(:;2)=u(u,1)+h*A*u(:,1);u(:;3)=u(u,2)+h/2*A*(3*u(:,2)-u(:,1));u(:;4)=u(u,3)+h/12*A*(23*u(:,3)-16*u(:,2)+5*u(:, 1)); delta(1)=((u(1,1)/a)^2+(u(2,1)/b^2)^0.5 delta(2)=((u(1,2)/a)^2+(u(2,2)/b^2)^0.5delta(3)=((u(1,3)/a)^2+(u(2,3)/b^2)^0.5for i=4:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h/24*A*(55*u(:,i)-59*u(:,i-1)+37 *u(:,i-1)+37*u(:,i-2)-9*u(:,i-3));endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:【实验分析】通过这几种方法对比,发现最为稳定的是多步法Adams公式和4阶RK法,其次是梯形法,而欧拉法最为不稳定。
matlab数学实验报告

数学实验报告院系:西安交通大学软件学院软件工程系;班级:软件11;项目:MATLAB软件与基础数学实验;指导教师:张芳;日期:2012年6月11日星期一;学生姓名:贺翔;学号:2111601006;题目【一】在同一坐标系下画出函数y=sin x, y=cos x, y=0.2e0.1x sin (0.5x)和y=0.2e0.1x cos(0.5x)在区间[0,2pi]的曲线图,并对该图进行修饰。
(1)解题思路:首先按步长赋值法生成x向量,则生成相应函数值向量;然后运用plot命令,再添加网格或者其他修饰等。
(2)算法设计:x=0:0.07*pi:2*pi;y1=sin(x);y2=cos(x);y3=0.2.*exp(0.1.*x).*sin(0.5.*x);y4=0.2.*exp(0.1.*x).*cos(0.5.*x);plot(x,y1,'r--',x,y2,'k:',x,y3,'g.',x,y4,'b+','linewidth',3,'markersize',5); grid;xlabel('variable\it{x}')ylabel('variable\it{y}')title('four cruves')text(2.6,0.7,'sin(x)')text(3.5,0.3,'0.2.*exp(0.1.*x).*sin(0.5.*x)')text(5.8,0.8,'cos(x)')text(4.1,-0.4,'0.2.*exp(0.1.*x).*cos(0.5.*x)')(3)结果截图:题目【二】某农夫有一个半径10m的圆形牛栏,长满了草。
他要将一头牛拴在牛栏边界的栏桩上,但只让牛吃到一半草,问栓牛鼻的绳子应为多长?(1)解题思路:设R 为牛栏的半径,而栓牛绳长为r; 则根据数学公式:S=12R 2·4arcsin(r 2R )+ 12r 2·2arccos(r 2R )-2×12r √R 2−r 24;以及令S=12πR 2,即可解出方程的解。
MATLAB数学实验 第四章 函数和方程

2 ( y f ( c , x )) i i i 0 n
• 当f关于c是线性函数,问题转化为一个线性方程组求解。 • 如果f关于c是非线性函数,问题转化为函数极值问题
3387/1943*x^2-7637646031980105/4503599627370496*x+4886217849135065/4503599627370496
• >> vpa(fun,5) ans = 1.7432*x^2-1.6959*x+1.0850
• >> xi=-0.2:0.01:0.3; • >> yi=polyval(p,xi); • >> plot(x,y,‘ro’,xi,yi)%拟合效果作图
c= lsqnonlin (Fun,c0) non-linear least squares problems.
使用迭代法搜索最优参数c. 其中Fun是以参数c(可 以是向量)为自变量的函数,表示误差向量yf(c,x)(x, y为数据),c0为参数c的近似初值(与c同 维向量),具体使请看帮助文件。
c=lsqcurvefit(Fun2,c0, x, y) 从外部输入数据, 这里Fun2为两变量c和x的函数 f(c, x)
的调用格式
x= -3 y= -2.7183
• (3) • >> fun3=inline('100*(v(2)-v(1)^2)^2+(1-v(1))^2','v') fun3 = Inline function: fun3(v) = 100*(v(2)-v(1)^2)^2+(1-v(1))^2 • >> [v,fv]=fminsearch(fun3,[1 1]) v= 1 1 fv = 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9x 2 36y 2 4z 2 36 2 2 x 2 y 20z 0 16x x 2 2 y 2 16z 2 0
理论推导或编程说明: [x, f, h]=fsolve(Fun, x0) x 返回一元或多元函数 Fun 在 x0 附近的一个零点, 其中 x0 为迭代初值; 返回 Fun 在 x 的函数值, f 应接近 0; 返回值如果大于 0, h 说明计算结果可靠,否则计算结果不可靠。 程序(或命令) : % M 函数 eg4_4fun.m function f=fun(x) f(1)=9*x(1)^2+36*x(2)^2+4*x(3)^2-36; f(2)=x(1)^2-2*x(2)^2-20*x(3); f(3)=16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2; 指令窗口 >> [x ,f, h]=fsolve(@eg4_4fun ,[0,0,0]) Optimization terminated successfully: first-order optimality is less than options. TolFun. x= 0.1342 0.9972 -0.0985 f= 1.0e-008 * 0.7690 -0.0418 -0.1054 h =1 对实验题目的解答:
实验名称:函数与方程
实验目的: (1)学会 MATLAB 有关非线性方程(组)求解、函数极值和曲线拟合的指令。 (2)了解迭代法的基本原理和非线性拟合问题的线性化处理方法。 (3)学会用 Matlab 解决购房贷款利率与最佳订货量等的实际问题 实验项目: (1)求非线性方程组在原点附近的根。 (2)求购房贷款中的房屋总价格、首付款额、月付款额。 实验背景: (1)在科学研究和工程设计中常常会遇到求解非线性方程组的问题。因此,如 何快速求解非线性方程组是十分重要的。 (2)随着房地产行业的繁荣发展,购房贷款问题在人们的日常生活中会经常遇 到。因此,要学会计算房子的总付款额和月付款额。 实验具体过程: 题目:求解下列非线性方程组在原点附近的根
xk 1 (1 r ) xk a,
则
xk (1 r ) xk (1 r)a a ...
(1 r) k x0 a[1 (1 r) ... (1 r) k 1 ]
(1 r) k x0 a[(1 r ) k 1] / r,
r1=4.05/1200=0.0034;x1=10*10000=100000 a1=(1+r1)^N*r1*x1/((1+r1)^N-1)= 608.6182 a2=(1+r)^N*r*x2/((1+r)^N-1)= 5595.3 a=a1+a2=6203.9 元 实验总结:通过这次实验,我对 matlab 的使用有了更进一步的认识,懂得如何 用 matlab 解决一些生活中的函数问题,如解决购房贷款利率与最佳订货量等的 实际问题,还有非线性方程组求其在原点处根的问题。学到很多。但实验过程 中存在不少问题,自己有时缺乏独立思考问题的能力,有啥问题动不动就请教 同学, 这样不利于对 matlab 的掌握。 我会尽量改正, 从而更深层次的了解 matlab 的作用。
(1 r ) N rx0 a= 及 r=5.04/1200=0.0042,N=20*12=240 (1 r ) N 1
可得 a=(1+r)^N*r*x0/((1+r)^N-1)=6257.5 元 (2) 首付 30%,10 万元为公积金贷款, 其余按揭贷款 由月付还款额公式
a=
(1 r ) N rx0 及 r=5.04/1200,N=20*12=240; (1 r ) N 1
由此可以得到月还款公式
(1 r ) N rx0 a (1 r ) N 1
程序(或命令) : %M 函数 eg4_2f.m function a=eg4_2f(N,r,x0) a=(Hr)^N*r*x/( (Hr)^N-1) 指令窗口 >> r=5.04/1200 r= 0.0042 >> N=20*12 N= 240
>>x=180*7500 x= 1350000 >>y=x*0.3 y= 405000 >>x0=x-y x0= 945000 >>a=eg4_2f(240,0.0042,945000) a= 6.2575e+003 >>r1=4.05/1200 r1 = 0.0034 >>x1=10*10000 x1= 100000 >>a1= eg4_2f(240,0.0042,845000) a1 = 608.6182 >>x2=x0-x1 x2 = 845000 >>a2= eg4_2f(240,0.003375,100000) a2 = 5.5953e+003 >>a=a1+a2 a= 6.2039e+003 对实验题目的解答: 由题目知: 房屋总价格为 x=180*7500=1350000, 首付房款额为 y=x*0.3=1350000*0.3=405000, 则其贷款总额为 x-y=1350000-405000=945000, (1) 首付 30%,其余 70%用 20 年按揭贷款 由月付还款额公式
用函数句柄方式,先写一个 M 函数 % M 函数 eg4_4fun.m function f=fun(x) f(1)=9*x(1)^2+36*x(2)^2+4*x(3)^2-36; f(2)=x(1)^2-2*x(2)^2-20*x(3); f(3)=16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2; 可知迭代初值为 x=0,y=0,z=0,在指令窗口中用 fsolve 命令求解。所以其解为 x=0.1342,y=0.9972,z=-0.0985,这三个方程的误差为 0.7690 10 8 , -0.0418 10 8 和-0.1054 10 8 ,且 h=1>0,这说明结果是可靠的, 题目:作为房产公司的代理人,你要迅速准确的回答客户方面的问题。现在有 个客户看中了你公司一套建筑面积为 180 平方米,每平方米单价为 7500 元的房子。他计划首付 30%,其余 70%用 20 年按揭贷款(贷款年利率 5.04%) 。请你提供下列信息:房屋总价格、首付款额、月付款额。如果 其中 10 万元为公积金贷款(贷款年利率 4.05%)呢? 理论推导或编程说明: 设贷款总额为 x0 ,贷款期限为 N 个月,采取逐月等额方式偿还本息。若 xk 为 第 k 个月的欠款数,a 为月还款数,r 为月利率。我们得到下列迭代关系式