中国科学院大学数值分析MATLAB大作业(计算机学院开设)

合集下载

matlab大作业实验报告,《Matlab程序设计》期末实验报告-大作业2015.doc

matlab大作业实验报告,《Matlab程序设计》期末实验报告-大作业2015.doc

matlab⼤作业实验报告,《Matlab程序设计》期末实验报告-⼤作业2015.doc《MATLAB程序设计》实验报告学院: 学号: 姓名:⼀、题⽬:1、(10分)已知矩阵,⽤Matlab代码实现以下要求:(1)将矩阵赋给变量A,并在屏幕上显⽰A;(2)将A按列进列逆序重排,重排后的矩阵赋给变量B,并在屏幕上显⽰B;(3)⽤reshape命令将A重排为⼀个2⾏6列矩阵并赋给变量C;(4)将A重排为⼀个列向量,将其赋给变量D,求D的平均值,在屏幕上显⽰D和它的平均值;(5)⽤命令查看变量A的维数,并显⽰运⾏结果。

2、(10分)写代码实现以下要求:构造菜单项‘Plot’,菜单项Plot有两个⼦菜单项Plot sin(选择此项后执⾏画出曲线,线型为虚线,线条颜⾊为红⾊)和Plot cos(选择此项后执⾏画出曲线 ,线型为实线,线条宽度为2)。

3、(20分)已知,实现下列操作:(1)在同⼀个图形窗⼝,同⼀坐标系下⽤不同的颜⾊和线型绘制三条曲线,并添加图例来区分三条曲线(5分)。

(2)⽤subplot命令,以⼦图的⽅式绘制三条曲线,图形排列⽅式为三⾏⼀列(5分)。

(3) 分别⽤直⽅图(bar)、棒状图(stem)和填充图(fill)绘制三条曲线,以⼦图⽅式绘制,排列⽅式为3⾏3列,共9幅⼦图(10分)。

4、(10分)⽤surf命令绘制曲⾯图形,⽤shading interp命令进⾏插值着⾊处理并添加垂直颜⾊棒。

5、(15分)⾃2011年9⽉1⽇起,我国实⾏新的个⼈所得税征收办法,起征点为3500元,请⽤If-else if-else-end结构实现⼈⼯输⼊⽉收⼊后能计算出个⼈所得税的缴纳额并显⽰⽉收⼊10000元时应缴纳的税款。

级数应纳税所得额x(元)税率备注1x<=15003%x指⽉收⼊扣除起征点3500元之后的余额;215008000045%同上6. (10分)⽤while-end循环结构计算级数和的值,输⼊n值,能计算出f的值,并显⽰结果。

2023年MATLAB大作业题目备选

2023年MATLAB大作业题目备选

MATLAB大作业备选题目1、基于MATLAB旳有噪声语音信号处理本课题规定基于MATLAB对有噪音语音信号进行处理,综合运用数字信号处理旳理论知识对加噪语音信号进行时域、频域分析和滤波,运用MATLAB作为工具进行计算机实现。

在设计实现旳过程中,规定使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并运用MA TLAB作为辅助工具完毕设计中旳计算与图形旳绘制。

2、基于MATLAB旳学生平均学分、绩点计算软件设计学分与绩点,是每位大学生所关怀旳重要指标之一,诸多同学辛劳学习,早出晚归,不停旳奔走于教室、图书馆、食堂、寝室之间,为旳就是可以考个好成绩,获得好旳绩点。

然而在平时我们计算学分与绩点旳时候,大都只能用计算器一种一种数据旳输入,其过程繁琐麻烦,又轻易出错。

因此,本课题规定运用所学旳MATLAB知识,来实现平均学分、绩点旳计算,并开发有关人机界面。

3、基于MATLAB旳试卷分析管理系统本设计规定基于MATLAB中GUI旳编程措施,并波及有关数据库知识。

规定通过一种简易旳顾客交互界面,实现对考试试卷旳成绩录入、查询、修改和试题整体分析等功能,以学习使用MATLAB编程为目旳,尤其是对MATLAB中G UI旳掌握,加深对MATLAB旳理解,学习用MATLAB实现实际应用。

4、基于MATLAB旳图像处理软件设计学习MATLAB GUI程序设计,运用MATLAB图像处理工具箱,设计和实现一种简易旳图像处理软件,实现如下几点功能:1)图像旳读取和保留。

2)设计图形顾客界面,让顾客可以对图像进行任意旳亮度和对比度变化调整,显示和对比变换前后旳图像。

3)设计图形顾客界面,让顾客可以用鼠标选用图像感爱好区域,显示和保留该选择区域。

4)编写程序通过近来邻插值和双线性插值等算法将顾客所选用旳图像区域进行放大和缩小整数倍旳操作,并保留,比较几种插值旳效果。

5)图像直方图记录和直方图均衡,规定显示直方图记录,比较直方图均衡后旳效果。

数值分析matlab实验报告

数值分析matlab实验报告

数值分析matlab实验报告数值分析MATLAB实验报告引言:数值分析是一门研究利用计算机进行数值计算和解决数学问题的学科。

它在科学计算、工程技术、金融等领域中有着广泛的应用。

本实验旨在通过使用MATLAB软件,探索数值分析的基本概念和方法,并通过实际案例来验证其有效性。

一、插值与拟合插值和拟合是数值分析中常用的处理数据的方法。

插值是通过已知数据点之间的函数关系,来估计未知数据点的值。

拟合则是通过一个函数来逼近一组数据点的分布。

在MATLAB中,我们可以使用interp1函数进行插值计算。

例如,给定一组离散的数据点,我们可以使用线性插值、多项式插值或样条插值等方法,来估计在两个数据点之间的未知数据点的值。

拟合则可以使用polyfit函数来实现。

例如,给定一组数据点,我们可以通过最小二乘法拟合出一个多项式函数,来逼近这组数据的分布。

二、数值积分数值积分是数值分析中用于计算函数定积分的方法。

在实际问题中,往往无法通过解析的方式求得一个函数的积分。

这时,我们可以使用数值积分的方法来近似计算。

在MATLAB中,我们可以使用quad函数进行数值积分。

例如,给定一个函数和积分区间,我们可以使用quad函数来计算出该函数在给定区间上的定积分值。

quad函数使用自适应的方法,可以在给定的误差限下,自动调整步长,以保证积分结果的精度。

三、常微分方程数值解常微分方程数值解是数值分析中研究微分方程数值解法的一部分。

在科学和工程中,我们经常遇到各种各样的微分方程问题。

而解析求解微分方程往往是困难的,甚至是不可能的。

因此,我们需要使用数值方法来近似求解微分方程。

在MATLAB中,我们可以使用ode45函数进行常微分方程数值解。

例如,给定一个微分方程和初始条件,我们可以使用ode45函数来计算出在给定时间范围内的解。

ode45函数使用龙格-库塔方法,可以在给定的误差限下,自动调整步长,以保证数值解的精度。

结论:本实验通过使用MATLAB软件,探索了数值分析的基本概念和方法,并通过实际案例验证了其有效性。

中科院-matlab在科学计算中的应用-文档资料

中科院-matlab在科学计算中的应用-文档资料

%求根
2021/4/21
3
2021/4/21
4
2021/4/21
5
▪ 例1-3 求积分 quad('x.*log(1+x)',0,1)
▪ 例1-4 求解线性方程组。 a=[2,-3,1;8,3,2;45,1,-9]; b=[4;2;17]; x=inv(a)*b
2021/4/21
6
2021/4/21
发射台( Launch Pad)、 发射台
工作区( Workspace)、
命令历史( Command
History)、当前路径
( Current Directory)和
命令窗口( Command
Windows)。
历史命令
菜单栏 常用工具栏
工作区
命令 窗口
当前路径
2021/4/21
11
2.1 MATLAB 基本命令简介
• MATLAB 语言的科学运算功能
• MATLAB 语言的绘图功能
• MATLAB 庞大的工具箱与模块集
•202M1/4/2A1 TLAB 强大的动态系统仿真功能
1
本章主要内容
• MATLAB 基本命令简介 • MATLAB 程序设计语言基础 • 基本数学运算 • MATLAB语言流程控制 • MATLAB 函数的编写 • 二维图形绘制 • 三维图形绘制
2021/4/21
21
2.2 MATLAB 程序设计语言基础
• MATLAB 语言的变量命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是
任意字母、数字或下划线,变量名中 不允许使用标点符号

MATLAB大作业

MATLAB大作业

MATLAB大作业一、作业说明MATLAB,即matrix laboratory,作为强大的数学处理软件,在化学化工领域中也有着极为广泛的应用。

而作为化工专业的学生,我认为本课学习MATLAB最直接和有效的意义在于,学生能够利用MATLAB处理实验数据和图形。

而对于MATLAB本身数学逻辑与语言的理解和掌握相信在之前所上交的“高斯消元法”和“二分法改进”两次小作业中得到体现。

因此,本次大作业我选择利用MATLAB处理化工原理实验中已经做过的离心泵实验来进行数据处理和图形制作。

其中实验原始数据皆由本人进行化工原理实验时所记录,水的密度和粘度表由文献查得。

二、编程思路整个M文件的目标是,利用现有的实验做得数据,进行实验数据的处理以及图形绘制,主要分为三个步骤完成:第一部分利用插值和拟合求实验温度下水的密度和粘度值;第二部分利用公式和矩阵变换计算离心泵的扬程He和轴功率Pzhou;第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)。

具体思路已在主程序文件中进行注释。

三、MATLAB主程序clearclose allformat compact,format shortecho off% 处理化工原理实验数据及图形制作% 第一部分求水的密度和粘度%已知条件:(1)实验温度为23.1℃% (2)网上查得15℃-30℃下水的密度和粘度表,记录为excel表% (3)此部分数据存放在原始数据表的sheet1和sheet2中%%主要方法:(1)MATLAB数据读入% (2)矩阵初等变换% (3)函数拟合% (4)函数插值%[num1]=xlsread('原始数据表');%读取excel表格中sheet1的数据x0=[num1(:,1)];%x0x表示温度值,sheet1的第1列y0=[num1(:,2)];%y0表示密度值,sheet1的第2列x1=x0';%进行转置,将列向量转换为相应的行向量y=y0';%进行转置,将列向量转换为相应的行向量%下面开始拟合密度随温度的变化函数n = length(y);ss = '';for k = 1:n;yy = num2str(y(k));ss = strcat(ss,['+''(' yy ')''*''x''^' num2str(n+1-k)]);%将数值转换为字符串格式,在MATLAB内将密度与温度的关系拟合为n次多项式endpause,ss%输出密度随温度变化函数式%%进行图像表示%x轴为温度,y轴为密度,表示在figure窗口的上半部分pause,subplot(2,1,1),line(x1,y,'linewidth',2),title('T-density'),xlabel('温度T/℃'),ylabel('密度/(kg?m^-3)')axis([15,30,995,1000])pause, x2=23.1,y1=interp1(x1,y,x2,'spline');%读取excel表格中sheet2的数据,接下来步骤与密度处理方法相同[num2]=xlsread('原始数据表',2);t0=[num2(:,1)];z0=[num2(:,2)];t1=t0';z=z0';n = length(z);rr= '';for k = 1:n;zz = num2str(z(k));rr = strcat(rr,['+''(' zz ')''*''t''^' num2str(n+1-k)]);endpause,rr%x轴为温度,y轴为粘度,表示在figure窗口的下半部分pause,subplot(2,1,2),line(t1,z,'linewidth',2),title('T-viscosity'), xlabel('温度T/℃'),ylabel('粘度/(Pa?s)')axis([15,30,0.0008 0.0012])pause,t2=23.1,z1=interp1(t1,z,t2,'spline');y1,z1%显示实验温度下流体的密度与粘度值,y1为密度,z1为粘度pause,close all%关闭图像窗口pause,clc% 第二部分计算离心泵的扬程He和轴功率Pzhou%%已知条件:(1)所需数据存放在原始数据表的sheet3中% (2)从左至右分别为“入口压强、出口压强、入口速度、出口速度、流量、电机功率”% (3)计算公式:He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);% Pzhou=P.*0.9;%%主要方法:(1)MATLAB数据读入% (2)矩阵初等运算与变换% (3)利用MATLAB进行实验数据处理%读取excel表格中sheet3的数据%“pin、pout、uin、uout、qv、P、He、Pzhou”分别表示为%“入口压强、出口压强、入口速度、出口速度、流量、电机功率、扬程和轴功率”[num3]=xlsread('原始数据表',3);pout0=[num3(:,2)];pin0=[num3(:,1)];uout0=[num3(:,4)];uin0=[num3(:,3)];qv0=[num3(:,5)];pout=pout0';pin=pin0';uout=uout0';uin=uin0';qv=qv0';He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);P0=[num3(:,6)];P=P0';Pzhou=P.*0.9;pause,clc%输出计算结果pause,HePzhouclose allpause,clcpause,%第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)%%pause,s1=He;s2=Pzhou;x5=qv;yWidth = 60;%设置两个y轴的间隔(像素)axesPosition = [110 40 200 200];%设置图像生成位置x5Limit = [min(x5) max(x5)];%设定自变量范围x5Offset=-yWidth*diff(x5Limit)/axesPosition(3);%建立图像,设置双变量与双坐标轴h1 = axes('Units','pixels','Position',axesPosition,...'Color','w','XColor','k','YColor','r',...'XLim',x5Limit,'YLim',[10 22],'NextPlot','add');h2 = axes('Units','pixels','Position',axesPosition+yWidth.*[-1 0 1 0],...'Color','none','XColor','k','YColor','m',...'XLim',x5Limit+[x5Offset 0],'YLim',[0.3 0.7],...'XTick',[],'XTickLabel',[],'NextPlot','add');xlabel(h1,'qv');ylabel(h2,'Pzhou');%给坐标轴命名pause,plot(h2,x5,s2,'*m');pause,plot(h1,x5,s1,'^r');四、工作日志density_viscosity(密度_粘度)clearclose allformat compact,format shortecho offss =+(999.126)*x^31+(999.05)*x^30+(998.97)*x^29+(998.888)*x^28+(998.802)* x^27+(998.714)*x^26+(998.623)*x^25+(998.53)*x^24+(998.433)*x^23+(998. 334)*x^22+(998.232)*x^21+(998.128)*x^20+(998.021)*x^19+(997.911)*x^18 +(997.799)*x^17+(997.685)*x^16+(997.567)*x^15+(997.448)*x^14+(997.327 )*x^13+(997.201)*x^12+(997.074)*x^11+(996.944)*x^10+(996.813)*x^9+(99 6.679)*x^8+(996.542)*x^7+(996.403)*x^6+(996.262)*x^5+(996.119)*x^4+(9 95.974)*x^3+(995.826)*x^2+(995.676)*x^1x2 =23.1000rr =+(0.0011404)*t^16+(0.0011111)*t^15+(0.0010828)*t^14+(0.0010559)*t^13+ (0.0010299)*t^12+(0.001005)*t^11+(0.000981)*t^10+(0.0009579)*t^9+(0.0009358)*t^8+(0.0009142)*t^7+(0.0008937)*t^6+(0.0008737)*t^5+(0.000854 5)*t^4+(0.000836)*t^3+(0.000818)*t^2+(0.0008007)*t^1t2 =23.1000y1 =997.5432z1 =9.3361e-04He =Columns 1 through 1021.7000 20.9069 19.9348 19.1688 18.7950 18.3412 17.9656 17.1311 16.2075 15.6581Columns 11 through 1415.1075 14.2847 13.4611 12.6543Pzhou =Columns 1 through 100.3240 0.3600 0.4050 0.4500 0.4770 0.5040 0.5310 0.5670 0.5940 0.6120Columns 11 through 140.6300 0.6390 0.6570 0.6750diary off五、附录附录1. 温度在15-30℃时,水的密度表附录2. 温度在15-30℃时,水的粘度表附录3. 离心泵实验原始数据记录表附录4. 生成图像。

MATLAB大作业

MATLAB大作业

M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

90问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。

提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。

第二类:插值与拟合。

(B级)问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。

注意,整个实验过程中从未减速。

在一组时间段50个时间点的速度。

(2)绘制插值图形并标注样本点。

问题二:估算矩形平板各个位置的温度。

已知平板长为5m,宽为3m,平板上3×5栅格点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。

(1)分别使用最近点插值、线性插值和三次样条插值进行计算。

(2)用杆图标注样本点。

(3)绘制平板温度分布图。

对a,b,c,d的值。

提示:曲线拟合并绘图分析第三类:定积分问题。

(B级)问题一:地球密度随着离中心(r=0)距离的变化而变化,不同半径处的密度如表所示,试估问题二:河道平均流量Q(m3/s)可使用速度和深度的乘积的积分来计算(河道横截面不规则),公式如下。

其中V(x)是离岸x(m)距离处的水速(m/s),H(x)是离岸x距离处的水深(m)。

根据收集到过5(1(2(3(Q,单位是m(1(2(1(2(3)将节点1的力改为方向向上,计算这种改变对H2和V2的影响。

(4)将节点1的力撤销,而在节点1和2处施加1500N的水平外力,求节点3处垂直反作用力(V3)。

数值分析大作业(牛顿下山法,拉格朗日法,切比雪夫法)及Matlab程序

数值分析大作业(牛顿下山法,拉格朗日法,切比雪夫法)及Matlab程序

课程设计课程名称:数值分析设计题目:学号:姓名:完成时间:2014.11.18题目一: 解线性方程组的直接法 设方程组Ax b =,其中250002511125555111x x x x x x A x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 矩阵中10.1(0,1,,5)k x k k =+=,b 由相应的矩阵元素计算,使解向量(1,1,,1)T x =。

(1) A 不变,对b 的元素6b 加一个扰动410-,求解方程组;(2) b 不变,对A 的元素22a 和66a 分别加一个扰动610-,求解方程组; (3) 对上述两种扰动方程组的解做误差分析。

一.数学原理:本计算采用直接法中的列主元高斯消元法,高斯列主元消元法原理如下: 1、设有n 元线性方程组如下:1111n n nn a a a a ⎛⎫ ⎪ ⎪ ⎪⎝⎭1nx x ⎛⎫ ⎪ ⎪ ⎪⎝⎭=1nb b ⎛⎫ ⎪ ⎪ ⎪⎝⎭2、第一步:如果a11!=0, 令l i1= ai1/a11, I= 2,3,……,n用(-li1)乘第一个方程加到第i 个方程上,得同解方程组:a (1)11 a (1)12 . . . a (1)1nx 1 b (1)1 a (1)21 a (1)22 . . . a (1)2n x 2 b (1)2 . . . . . . . = . a (1)n-11 a (1)n-12 . . a (1)n-1n x n-1 b (1)n-1 a (1)n1 a (1)n2 . . . a (1)nn x n b (1)n简记为:A (2) x = b (2) 其中a (2)ij = a (1)ij – l i1 * a (1)1j , I ,j = 2,3,..,nb (2)I = b (1)I – l i1 * b (1)1 , I = 2,3,...,n 第二步:如果a (2)22 != 0,令l i2= a (2)i2/a (2)22, I= 3,……,n依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成!最后,得到上三角方程组:a(1)11 a(1)12. . . a(1)1nx1b(1)10 a(1)22 . . . a(1)2nx2b(1)2. . . . . . . = .0 0 . . a(n-1)n-1n xn-1b(n-1)n-10 0 . . . a(n)nn xnb(n)n简记为:A(n) x = b(n)最后从方程组的最后一个方程进行回代求解为:Xn = b(n) / a(n)nnXi = ( b(k)k- ∑ a(k)kj x j ) / a(k)kk二.解题过程:1.由题中所给条件可求出b。

数值分析作业-matlab上机作业

数值分析作业-matlab上机作业

数值分析———Matlab上机作业学院:班级:老师:姓名:学号:第二章解线性方程组的直接解法第14题【解】1、编写一个追赶法的函数输入a,b,c,d输出结果x,均为数组形式function x=Zhuiganfa(a,b,c,d)%首先说明:追赶法是适用于三对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。

%定义三对角矩阵A的各组成单元。

方程为Ax=d%b为A的对角线元素(1~n),a为-1对角线元素(2~n),c为+1对角线元素(1~n-1)。

% A=[2 -1 0 0% -1 3 -2 0% 0 -2 4 -3% 0 0 -3 5]% a=[-1 -2 -3];c=[-1 -2 -3];b=[2 3 4 5];d=[6 1 -2 1];n=length(b);u(1)=b(1);y(1)=d(1);for i=2:nl(i)=a(i-1)/u(i-1);%先求l(i)u(i)=b(i)-c(i-1)*l(i);%再求u(i)%A=LU,Ax=LUx=d,y=Ux,%Ly=d,由于L是下三角矩阵,对角线均为1,所以可求y(i)y(i)=d(i)-l(i)*y(i-1);endx(n)=y(n)/u(n);for i=(n-1):-1:1%Ux=y,由于U是上三角矩阵,所以可求x(i)x(i)=(y(i)-c(i)*x(i+1))/u(i);end2、输入已知参数>>a=[2 2 2 2 2 2 2];>>b=[2 5 5 5 5 5 5 5];>>c=[2 2 2 2 2 2 2];>>d=[220/27 0 0 0 0 0 0 0];3、按定义格式调用函数>>x=zhuiganfa(a,b,c,d)4、输出结果x=[8.147775166909105 -4.073701092835030 2.036477565178471 -1.017492820111148 0.507254485099400 -0.250643392637350 0.119353996493976 -0.047741598597591]第15题【解】1、编写一个程序生成题目条件生成线性方程组A x=b 的系数矩阵A 和右端项量b ,分别定义矩阵A 、B 、a 、b 分别表示系数矩阵,其中1(10.1;,1,2,...,)j ij i i a x x i i j n -==+=或1(,1,2,...,)1ij a i j n i j ==+-分别构成A 、B 对应右端项量分别a 、b 。

数值分析matlab上机作业报告

数值分析matlab上机作业报告

一、给定向量x ≠0,计算初等反射阵H k 。

1.程序功能:给定向量x ≠0,计算初等反射阵H k 。

2.基本原理: 若()xx x R x ∈=,,, 的分量不全为零,则由12112212122()x (,,,)1()22n T T sign x e x x x x σσσρσσρ-⎧=⎪=+=+⎪⎪⎪==+⎨⎪⎪=-=-⎪⎪⎩u x u uu H I I uuu 确定的镜面反射阵H 使得y e Hx =-=σ;当(1)k n ≤<时,由21/2k ()T 1()()()k 1()()()(())(0,,0,,,,)1()()=()2()nk i i kk nk k k n k T k k Tk k k kk k T k k sign x x x x x x σσρσσσρ=+-⎧=⎪⎪⎪=+∈⎨⎪==+⎪⎪=-⎩∑u R u u u H I u u 有T 121(,,,,,0,,0)n k k k x x x σ-=-∈H x R 算法:(1)输入x ,若x 为零向量,则报错 (2)将x 规范化,{}x x x M ,,,max =如果M =0,则报错同时转出停机 否则n i M x x i i ,,2,1, =←(3)计算2x =σ,如果0<1x ,则σσ-= (4))(1x +=σσρ (5)计算1,(1)x σ==+u x u (6)1Tρ-=-H I uu (7)(M ,0,,0)σ=-y(8)按要求输出,结束3.变量说明:x -输入的n维向量;n -n维向量x的维数;M -M是向量x的无穷范数,即x中绝对值最大的一项的绝对值;p -Householder初等变换阵的系数ρ;u -Householder初等变换阵的向量Us -向量x的二范数;x -输入的n维向量;n -n维向量x的维数;p -Householder初等变换阵的系数ρ;u -Householder初等变换阵的向量Uk -数k,H*x=y,使得y的第k+1项到最后项全为零;4.程序代码:(1)function [p,u]=holder2(x)%HOLDER2 给定向量x≠0,计算Householder初等变换阵的p,u%程序功能:函数holder2给定向量x≠0,计算Householder初等变换阵的p,u;%输入:n维向量x;%输出:[p,u]。

MATLAB大作业

MATLAB大作业

MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB 程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。

(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。

(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。

第一类:绘制图形。

(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。

斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。

问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。

其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。

接下来对其余三个小三角形重复上述操作,如图所示。

问题三:其他分形曲线或图形。

分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。

这方面的资料很多(如/content/16/0103/14/5315_525141100.shtml),请分析构图原理并用MATLAB实现。

数值分析Matlab作业

数值分析Matlab作业

数值分析编程作业2012年12月第二章14.考虑梯形电阻电路的设计,电路如下:电路中的各个电流{i1,i2,…,i8}须满足下列线性方程组:121232343454565676787822/252025202520252025202520250i i V R i i i i i i i i i i i i i i i i i i i i -=-+-=-+-=-+-=-+-=-+-=-+-=-+=这是一个三对角方程组。

设V=220V ,R=27Ω,运用追赶法,求各段电路的电流量。

Matlab 程序如下:function chase () %追赶法求梯形电路中各段的电流量 a=input('请输入下主对角线向量a='); b=input('请输入主对角线向量b='); c=input('请输入上主对角线向量c='); d=input('请输入右端向量d='); n=input('请输入系数矩阵维数n='); u(1)=b(1); for i=2:nl(i)=a(i)/u(i-1); u(i)=b(i)-c(i-1)*l(i); endy(1)=d(1); for i=2:ny(i)=d(i)-l(i)*y(i-1); endx(n)=y(n)/u(n); i=n-1; while i>0x(i)=(y(i)-c(i)*x(i+1))/u(i); i=i-1; end x输入如下:请输入下主对角线向量a=[0,-2,-2,-2,-2,-2,-2,-2]; 请输入主对角线向量b=[2,5,5,5,5,5,5,5];请输入上主对角线向量c=[-2,-2,-2,-2,-2,-2,-2,0]; 请输入方程组右端向量d=[220/27,0,0,0,0,0,0,0]; 请输入系数矩阵阶数n=8 运行结果如下:x = 8.1478 4.0737 2.0365 1.0175 0.5073 0.2506 0.1194 0.0477第三章14.试分别用(1)Jacobi 迭代法;(2)Gauss-Seidel 迭代法解线性方程组1234510123412191232721735143231211743511512x x x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=--⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦⎣⎦ 迭代初始向量(0)(0,0,0,0,0)T x =。

数值分析作业MATLAB

数值分析作业MATLAB

数值分析作业MATLAB数值分析是研究用数值方法解决数学问题的一门学科。

它的主要目标是通过计算机编程解决数学问题,尤其是那些无法通过解析方法解决的问题。

MATLAB是一种常用的数值分析软件,它提供了丰富的数值计算函数和工具箱,能够方便地进行各种数值分析方法的实现和计算。

数值分析的研究内容很广泛,包括数值计算方法、数值逼近、数值微分和数值积分等。

在数值计算方法中,最常用的有数值解线性方程组、数值解非线性方程、数值积分、数值微分等。

例如,通过使用MATLAB的线性方程组求解函数或者工具箱中的线性代数函数,可以解决各种形式的线性方程组。

通过MATLAB的非线性方程求解函数,可以解决各种非线性方程的数值解。

而数值积分和数值微分则可以通过MATLAB的积分函数和微分函数来实现,实现对函数的积分和微分操作。

数值逼近是数值分析的重要内容之一,它研究的是如何用简单的函数逼近给定的复杂函数。

在MATLAB中,可以通过多项式逼近、三次样条、拉格朗日插值、最小二乘逼近等方法来实现数值逼近的计算。

例如,使用MATLAB的插值函数interp1可以实现一维函数的插值计算,使用MATLAB 的polyfit函数可以拟合一维数据集合的多项式曲线。

而对于二维函数和三维函数的逼近,可以使用MATLAB的interp2和interp3函数来实现。

数值微分和数值积分是数值分析中的基本操作之一、它们可以根据给定的函数计算函数的导数和积分。

在MATLAB中,使用diff函数可以计算一维函数的导数,使用trapz和quad函数可以计算一维函数的定积分和数值积分。

而对于二维函数和三维函数的微分和积分,可以使用MATLAB 的grad函数和integral2函数来实现。

此外,MATLAB还提供了很多其他的数学函数和工具,包括解微分方程、优化问题、曲线拟合和最小二乘等。

对于一些复杂的数学问题,可以通过使用MATLAB的符号计算工具箱来实现符号计算。

数值分析大作业(利用MATLAB软件)

数值分析大作业(利用MATLAB软件)

实验报告课程名称:数值分析实验项目:曲线拟合/数值积分专业班级:姓名:学号:实验室号:实验组号:实验时间:20.10.24 批阅时间:指导教师:成绩:工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验名称:曲线拟合与函数插值附件A 工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验步骤或程序:附录一:1.利用二次,三次,四次多项式进行拟合:1.1 MATLAB代码如下:clear;clc;close allt=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24];y=[14 13 13 13 13 14 15 17 19 21 22 24 27 30 31 30 28 26 24 23 21 19 17 16 15];%输入数据hold on[p2 s2]=polyfit(t,y,2);%对于上面的数据进行2次多项式拟合,其中s2包括R(系数矩阵的QR分解的上三角阵),%df(自由度),normr(拟合误差平方和的算术平方根)。

y2=polyval(p2,t);%返回多项式拟合曲线在t处的值[p3 s3]=polyfit(t,y,3);y3=polyval(p3,t);[p4 s4]=polyfit(t,y,4);y4=polyval(p4,t);plot(t,y,'ro')%画图plot(t,y2,'g-')plot(t,y3,'m^-')plot(t,y4,'bs-')xlabel('t')ylabel('y')legend('原始数据','2次多项式拟合','3次多项式拟合','4次多项式拟合')1.2 二次,三次,四次多项式拟合的结果分别如下:(1)总的拟合结果在工作区的显示如下:(2)其次二次多项式拟合的结果为:(3)其中三次多项式拟合的结果:(4)其中四次多项式拟合的结果为:1.3 拟合的图像为:1.4 拟合的多项式为:根据工作区得出的数据列出最后的拟合多项式为:(1)y=7.416+2.594t-0.094t^2(2)y=12.251-0.102t+0.193t^2-0.008t^3(3)y=15.604-3.526t+0.866t^2-0.052t^3+0.0009t^42.形如2()()b t c y t ae--=的函数,其中,,a b c 为待定常数。

matlab的大作业

matlab的大作业

华东交通大学matlab 大作业(matlab在信号与系统中的应用)班级:姓名:学号:前言此次的大作业内容是matlab在信号与系统中的应用。

在信号与系统中有各种各样的信号还有系统要分析,而matlab特别适用与信号通过系统的分析。

而且本人对于matlab在信号与系统中的运用蛮感兴趣的,况且当初学习时对于其在信号与系统中的运用不是很了解,故借此机会,也顺便再系统地学习和掌握matlab在信号与系统的运用。

这次设计的程序主要是围绕用matlab求解信号与系统中一些信号描述、零输入响应的求解、冲激响应的求解、卷积的计算、零状态响应的求解、傅里叶的分析(包括方波分解为正弦波之和非周期信号的频谱分析,以及用傅里叶变换计算滤波器的响应和输出)。

接下来就描述一下设计的程序。

一、程序描述Chengxu1是对于信号与系统中的一些信号的描述。

包括单位冲激函数、单位阶跃函数、复数指数信号。

程序中,t0,tf,dt,分别指的是t的起点、终点、间隔。

t1指的是在冲激函数在t1处冲激,在t1处是阶跃函数的转折点。

用matlab来描述这些信号,是根据这些信号的特点来一一描述的。

而且此次的画图用的是stairs而不是plot。

是因为要描述的是连续信号中的不连续点,故用stairs,若要波形光滑些,则用plot效果更好一些。

就如冲激函数和阶跃函数的波形对比如下(此处所取的是t0=0,tf=5,dt=0.05,t1=1):用plot所画用stairs所画此外,复数指数信号可以分解为余弦和正弦信号,他们分别是复数信号的是实部和虚部,即相位差为90度。

图如下(此处alpha=-0.5,w=10):Chengxu2是求解LTI 系统的零输入,题型为:描述n 阶线性时不变连续系统的微分方程为已知y 及其各阶导数的初始值为 求系统的零输入响应。

可以根据具体的函数求解其零输入。

Chengxu3是求解阶LTI 系统的冲激响应,是求解系统函数为: 的冲激响应。

中国科学院大学matlab作业一答案

中国科学院大学matlab作业一答案

MATLAB作业11 、编写一个矩阵相加函数mat_add() ,使其具体的调用格式为A=mat_add(A1 ,A2 ,A3 ,…) ,要求该函数能接受任意多个矩阵进行加法运算。

(注:varargin 变量的应用)mat_add.mfunction A=mat_add(varargin)A=0;for i=1:length(varargin),A=A+varargin{i};end>> a = [1 2;3 4];>> b = [5 6;7 8];>> c = a+b;>> mat_add(a,b,c)ans =12 1620 24>> mat_add(a,b,c,a,c,b)ans =24 3240 48xy在[-π,π]上的三维图和等高线。

2、请绘制出sin()>> [x,y]=meshgrid(-pi:.1:pi);>> z= sin(x.*y);>> surf(x,y,z)>> figure>> contour(x,y,z,30)三维表面图等高线3、 试求出如下极限。

222222001cos()lim ()x y x y x y x y e +→→-++>> syms x y;>> f = (1-cos(x^2+y^2))/((x^2+y^2)*exp(x^2+y^2));>> L = limit(limit(f, x, 0), y, 0)L = 04、 试求出下面函数的导数。

22atanln()y x y x =+ >> syms x y;>> f = -atan(y/x)+log(x^2+y^2);>> F = -diff(f,x)/diff(f,y);>> simplify(F)ans = (2*x + y)/(x - 2*y)5、 假设20(,)xyt f x y e dt -=⎰,试求222222x f f f y x x y y ∂∂∂-+∂∂∂∂。

MATLAB 大作业

MATLAB 大作业

MATLAB 大作业请各位同学,自己完成matlab 大作业的内容。

禁止相互抄袭,如有雷同,零分计算。

大作业的格式按照实验报告的格式书写,务必标明题号,作业完成后,将生成的报告打印出来提交。

正文的字号以宋体五号字,1.5倍行距的格式打印。

请与18周五前将大作业报告由班级负责人统一收齐交给我,过期不收。

1、 试编写名为test01.m 的MATLAB 函数,用以计算下述的值:⎪⎩⎪⎨⎧-<->=t t n t t t n t f 的对所有其他情况的对所有)4/sin()(si )4/sin()sin()4/sin()(si )4/sin()(ππππ要绘制t 关于函数f (t )的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。

(提示:注意要产生一系列的点,这里可考虑t 的输入是向量形式,可以利用find 函数找出所需限定值的元素的位置,对其按需要赋值后,再进行绘图;其次,另外一种思路,也可考虑使用循环的形式来实现)2、 编写函数,在同一窗口的4个子图中利用plot 等语句绘制y=at 2图像,其中a=[1 2 5 10],t错误!未找到引用源。

3、 求函数32)(3-+=x x x f 在区间[-5,5]上的最大值和最小值。

4、 求解函数⎰12dx e x 的数值积分和符号积分,并比较结果。

5、 求解微分方程3|;1|2)1(002='='=''+==x x y y y x y x 的精确解和解析解,并绘制图形。

假设求解区间为[0,10] 。

6、 说说你对MATLAB 及应用这门课程学习后的体会,另外请说明在所学章节中哪一章的内容你最感兴趣,为什么?哪一章的内容你认为是没有必要学习的,为什么?如果可以选择MATLAB 的学习的内容的话,谈谈你所期望学到的知识类别的前三种。

1.实验名称 MATLAB 大作业2.实验目的(1)理解Matlab数据对象的特点;(2)掌握基本Matlab运算规则;(3)掌握Matlab帮助的使用方法;3.实验设备及条件计算机一台(带有MATLAB7.0以上的软件环境)4.实验内容及要求请各位同学,自己完成matlab大作业的内容。

数值分析作业MATLAB

数值分析作业MATLAB

编辑.欢迎下载支持1.用二分法解方程x-lnx=2 在区间【 2 ,4】内的根方法: 二分法算法:f=inline('x-2-log(x)');a=2;b=4;er=b-a; ya=f(a);er0=.00001;while er>er0x0=.5*(a+b);y0=f(x0);if ya*y0<0b=x0;elsea=x0;ya=y0;enddisp([a,b]);er=b-a;k=k+1;end求解结果:>> answer13 43.0000 3.50003.0000 3.25003.1250 3.25003.1250 3.18753.1250 3.15633.1406 3.1563编辑.欢迎下载支持3.1406 3.14843.1445 3.14843.1445 3.14653.1455 3.14653.1460 3.14653.1460 3.14623.1461 3.14623.1462 3.14623.1462 3.14623.1462 3.14623.1462 3.1462最终结果为: 3.14622.试编写MATLAB 函数实现Newton 插值,要求能输出插值多项式。

对函数1f (x) 21在区间[-5 ,5] 上实现10 次多项式插值。

4x 1Matlab 程序代码如下:% 此函数实现y=1/(1+4*x^2) 的n 次Newton 插值,n 由调用函数时指定% 函数输出为插值结果的系数向量(行向量)和插值多项式算法:function [t y]=func5(n)x0=linspace(-5,5,n+1)';y0=1./(1.+4.*x0.^2);b=zeros(1,n+1);for i=1:n+1s=0;文档来源为: 从网络收集整理.word 版本可编辑.欢迎下载支持for j=1:it=1;for k=1:iif k~=jt=(x0(j)-x0(k))*t;end;end;s=s+y0(j)/t;end;b(i)=s;end;t=linspace(0,0,n+1);for i=1:ns=linspace(0,0,n+1);s(n+1-i:n+1)=b(i+1).*poly(x0(1:i));t=t+s;end;t(n+1)=t(n+1)+b(1);y=poly2sym(t);10 次插值运行结果:[b Y]=func5(10)b =Columns 1 through 4-0.0000 0.0000 0.0027 -0.0000Columns 5 through 8-0.0514 -0.0000 0.3920 -0.0000Columns 9 through 11-1.1433 0.0000 1.0000Y =编辑.欢迎下载支持- (*x^10)/12928 + x^9/0616 + (256*x^8)/93425 - x^7/076 - (013693*x^6)/3421312 - (3*x^5)/0 + (36624*x^4)/93425 - (5*x^3)/0 - (*x^2)/ + (7*x)/0 + 1b 为插值多项式系数向量,Y 为插值多项式。

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

7.编程实现题
%{
在微电机设计计算中需要查磁化曲线表,通常给出的表是磁密B每间隔100高斯磁路每厘米长所需安匝数at的值,下面要解决B从4000至11000区间的查表问题。

为节省计算机存储单元,采用每500高斯存入一个at值,在利用差分公式计算。

从差分表中看到三阶差分近似于0,计算时只需两阶差分。

当4000≤B ≤10500时用牛顿前插公式;当10500≤B≤11000时用牛顿后插公式;试在计算机上编程实现求任一在区间[4000,11000]内的函数值。

%}
syms y0
y0=[1.38,1.48,1.58,1.69,1.81,1.94,2.10,2.28,2.50,2.76,3.06,3.41,3.83,4.33,4.93];
b=input('enter the number of b:');
if b>10500&&b<=11000
t=(b-11000)/500.0;
r=4.93+0.6*t+0.1*t*(t+1)/2;
disp(r)
elseif b<=10500&&b>=400
k=(b-4000)/500;
m=floor(k);
t=k-m;
r=y0(m+1)+(y0(m+2)-y0(m+1))*t+t*(t-1)*(y0(m+3)-2*y0(m+2)+y0(m+1))/2;
disp(r)
else
disp('the number is out of consideration')
end
clear
15.用正交多项式(格拉姆-施密特)作最小二乘拟合的程序
syms alpha;
syms beta;
syms a;
syms p;
x=input('enter the value of x(for example:[1,2,3,4,5]):');
y=input('enter the value of y(for example:[1,2,3,4,5]):');
w=input('enter the value of weight(for example:[0.1,0.2,0.3,0.4]):');
n=input('enter the value of n:');
m=length(x);
alpha(2)=sum(w*x)/sum(w);
a(1)=sum(w*y)/sum(w);
p2x= x-alpha(2);
alpha(3)=sum(w*x*(subs(p2x,x))^2)/sum(x*( subs(p2x,x))^2);
beta(2)=sum(w*( subs(p2x,x))^2)/sum(w);
a(2)=sum(w*y*( subs(p2x,x)))/sum(w*( subs(p2x,x))^2);
for k=3:m+1
alpha(k+1)=sum(w*x*((subs(p,{k,x},[k,x]))^2)/sum(w*( subs(p,{k,x},[k,x]))^2);
beta(k)=sum(w*( subs(p,{k,x},[k,x]))^2)/sum(w*( subs(p,{k-1,x},[k-1,x]))^2);
a(k)=sum(w*y* subs(p,{k,x},[k,x]))/sum(w*( subs(p,{k,x},[k,x]))^2);
p=(x-alpha(k+1))*subs(p,{k,x},[k,x])-beta(k)*subs(p,{k-1,x},[k-1,x]);
end,
for i=1:n+1
F=0;
F=F+a(i)* subs(p,{i,t},[i,t]);
end。

相关文档
最新文档