数学实验七: 遗传算法 实验报告
实验七遗传算法 1.用Matlab编制另一个主程序Genetic2.m,求例1的在第二种终止条件下的最优解. 提示:一个可能的函数调用形式以及相应的结果为: [Count,Result,BestMember]=Genetic2(22,6,'-x*x+2*x+0.5',-1,2,-2,0.01,0.00001) % 附录1 Genetic2.m function [Count,Result,BestMember]=Genetic2(MumberLength,MemberNumber,FunctionFitness,MinX,M axX,Fmin,MutationProbability,Precision) Population=PopulationInitialize(MumberLength,MemberNumber); Error=Precision+1; global Count; global CurrentBest; Count=1; PopulationCode=Population; PopulationFitness=Fitness(PopulationCode,FunctionFitness,MinX,MaxX,MumberLength); %用于计算群体中每一个染色体的目标函数值 PopulationFitnessF=FitnessF(PopulationFitness,Fmin); %用于计算每个染色体的适应函数值 PopulationProbability=Probability(PopulationFitnessF); %用于计算群体中每个染色体的入选概率 [Population,CurrentBest,EachGenMaxFitness]=Elitist(PopulationCode,PopulationFitness ,MumberLength); %用到最佳个体保存方法(“优胜劣汰”思想) EachMaxFitness(Count)=EachGenMaxFitness; MaxFitness(Count)=CurrentBest(length(CurrentBest)); while Error>Precision NewPopulation=Select(Population,PopulationProbability,MemberNumber); Population=NewPopulation; NewPopulation=Crossing(Population,FunctionFitness,MinX,MaxX,MumberLength); Population=NewPopulation; NewPopulation=Mutation(Population,MutationProbability); Population=NewPopulation; PopulationFitness=Fitness(Population,FunctionFitness,MinX,MaxX,MumberLength); PopulationFitnessF=FitnessF(PopulationFitness,Fmin); PopulationProbability=Probability(PopulationFitnessF); Count=Count+1; [NewPopulation,CurrentBest,EachGenMaxFitness]=Elitist(Population,PopulationFitness, MumberLength); EachMaxFitness(Count)=EachGenMaxFitness; MaxFitness(Count)=CurrentBest(length(CurrentBest)); Error=sum(abs(PopulationProbability-mean(PopulationProbability)));
《数学实验》实验指导书
《数学实验》实验指导书 2012-4-12
目录 实验一MATLAB基础 (1) 实验二曲线与曲面 (8) 实验三极限、导数和积分 (15) 实验四无穷级数 (22) 实验五微分方程 (25) 实验六线性代数 (27) 实验七概率论与数理统计 (31) 实验八代数方程与最优化问题 (32) 实验九数据拟合 (34) 实验十综合性实验 (36)
实验一MATLAB基础 【实验目的】 1. 熟悉启动和退出MATLAB的方法,及MATLAB工作窗口的组成; 2. 掌握建立矩阵的方法; 3. 掌握MATLAB的语言特点、基本功能; 4. 掌握MATLAB的文件创建、运行及保存方法; 5. 掌握MATLAB的符号运算; 6. 掌握MATLAB的平面绘图命令及辅助操作; 7. 掌握MATLAB的常用函数及命令; 8. 掌握MATLAB选择结构和循环结构程序设计。 【实验内容】 1. 熟悉MATLAB的工作界面及运行环境,熟悉MATLAB的基本操作。 2. 已知 ? ? ? ? ? ?? ? ? ? ? ? - - - -= 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A (1)求矩阵A的秩(rank) (2)求矩阵A的行列式(determinant) (3)求矩阵A的逆(inverse) (4)求矩阵A的特征值及特征向量(eigenvalue and eigenvector)。 3. 在MATLAB计算生成的图形上标出图名和最大值点坐标。 4. 求近似极限,修补图形缺口。 5. 逐段解析函数的计算和表现。本例演示削顶整流正弦半波的计算和图形绘制。 6. 建立M文件,随机产生20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB 的max和min函数来实现。 7. 建立M文件,分别用if语句和switch语句实现以下计算,其中, c b a, , 的值从键盘输入。
数学软件实验报告实验七
数学软件实验报告 学院名称:理学院专业年级: 姓名:学号: 课程:数学软件实验报告日期:2014年12月6日 实验七SIMULINK建模与工具箱的使用 一.实验目的 MATLAB 具有丰富的可用于各种专业方向的工具箱,这些工具箱已经形成了MATLAB 的系列产品。特别是动态仿真建模工具箱,更是成为许多工具箱的基础。本次实验的目的就是要使大家了解MA TLAB工具箱使用的基本方法,以及如何查询工具箱,主要掌握系统优化工具箱的使用和系统动态仿真建模工具箱的使用。 二.实验要求 MATLAB系统的工具箱十分的丰富,并且随着版本的不断升级,其工具箱还在不断地增加。通过本次实验,要求了解MA TLAB系统工具箱的分类与查询,会使用系统优化工具箱解决一些实际问题。能建立系统仿真方框图,并进行系统仿真模拟。 三.实验内容 最优化工具箱 非线性最小化函数 fgoalattain 多目标达到优化 constr 有约束最小化 fminbnd 有边界最小化 fminunc使用梯度法的无约束最小化 fminsearch 使用简单法的无约束最小化 fzero 非线性方程求解(数量情况) fsolve 非线性方程求解 lsqnonlin 非线性最小二乘 fminimax 最小的最大解 fseminf 半无穷区间最小化 2.矩阵问题的最小化 linprog 线性规划
quadprog 二次规划 lsqnonneg 非负线性最小二乘 lsqlin 约束线性最小二乘 第十章 10.1线性优化 >> f=[-5 4 2]; >> a=[6 -1 1;1 2 4]; >> b=[8 10]; >> 1b=[-1 0 0]; >> ib=[-1 0 0]; >> ub=[3 2]; >> [x,fval,exitflag,output,lambda]=linprog(f,a,b,[],[],ib,ub) Optimization terminated. x = 1.3333 0.0000 0.0000 fval = -6.6667 exitflag = 1 output = iterations: 7 algorithm: 'large-scale: interior point' cgiterations: 0 message: 'Optimization terminated.' constrviolation: 0 lambda = ineqlin: [2x1 double]
北理工数学实验作业
一. 1. 1/e 2. 3 3.1 4.e3 5. ∞ 6. 0 7.∞ 8.0 9.1/2 10.0 11.e2c12.不存在13. 1/12 Matlab实验过程: 1.1/exp(1) syms n; f=(1-1/n)^n; limit(f,n,inf) ans = 1/exp(1) 2.3 syms n; f=(n^3+3^n)^(1/n); limit(f,n,inf) ans = 3 3. 1 syms n; f=(1+sin(2*n))/(1-cos(4*n)); limit(f,n,pi/4) ans = 1 4.e^3 syms x; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) ans = exp(3) 5.inf syms x; f=(x^2)*exp(1/(x^2));
limit(f,x,0) ans = Inf 6.0 syms x; f=(x^2-2*x+1)/(x^3-x); limit(f,x,1) ans = 7.inf syms x; f=((2/pi)*atan(x))^x; limit(f,x,+inf) ans = Inf 8.0 syms x y; f=(1-cos(x^2+y^2))/((x^2+y^2)*exp(x^2+y^2)); limit(limit(f,x,0),y,0) ans = 9.1/2 syms x; f=(1-cos(x))/(x*sin(x)); limit(f,x,0) ans = 1/2 10.0 syms x;
f=atan(x)/(2*x); limit(f,x,inf) ans = 11.exp(2*c) syms c; f=sym('((x+c)/(x-c))^x'); limit(f,'x',inf) ans = exp(2*c) 12.极限不存在 syms x; f=cos(1/x); limit(f,x,0) ans = limit(cos(1/x), x = 0) 13.1/12 syms x; f=1/(x*log(x)^2)-1/(x-1)^2; limit(f,x,1) ans = 1/12 二.观察函数logbx,当b=1/2,1/3,1/4和b=2,3,4时函数的变化特点,总结logbx的图形特点。
数学实验作业汇总终审稿)
数学实验作业汇总 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-
(1)产生一个5阶魔方矩阵M:M=magic(5) (2)将矩阵M的第3行4列元素赋值给变量t:t=M(3,4) (3)将由矩阵M第2,3,4行第2,5列构成的子矩阵赋给变N:N=M(2:4,2:3:5) (4)将由矩阵M的前3行赋给变量N:N=M(1:3,:) (5)将由矩阵M的后3列赋给变量N:N=M(:,end:-1:end-2) (6)提取M的主对角线元素,并以这些对角线元素构成对角矩阵N:N=diag(diag(M))或N=tril(triu(M)) (7)随机产生1000个100以内的整数赋值给变量t:t=round(rand(1,1000)*100) (8)随机产生100*5个100以内的实数赋值给变量M:M=rand(100,5)*100 (1)删除矩阵M的第7个元素M(7)=[] (2)将含有12个元素的向量t转换成3*4的矩阵:reshape(t,3,4) (3)产生和M同样大小的单位矩阵:eye(size(M)) (4)寻找向量t中非零元素的下标:find(t) (5)逆序显示向量t中的元素:t(end:-1:1) (6)显示向量t偶数位置上的元素:t(2:2:end) (7)利用find函数,将向量t中小于10的整数置为0:t(find(t<10&rem(t,1)==0))=0(8)不用find函数,将向量t中小于10的整数置为0:t(t<10&rem(t,1)==0)=0 (9)将向量t中的0元素用机器0(realmin)来代替:t(find(t=0))=realmin (10)将矩阵M中小于10的整数置为0:M(find(M<10)&rem(M,1)==0)=0
华工数学实验七 特征值和特征向量
实验七特征值与特征向量 地点:计算中心202房实验台号:30 实验日期与时间:2018年6月6日评分: 预习检查纪录:实验教师:刘小兰电子文档存放位置: 电子文档文件名:信息工程3班-30-邢靖-实验七.docx 批改意见: 1.实验目的 -掌握特征值、特征向量、特征方程、矩阵的对角化等概念和理论; -掌握将矩阵化为相似对角矩阵的方法; -理解由差分方程x k+1=Ax k所描述的动态系统的长期行为或演化; -提高对离散动态系统的理解与分析能力。 2.问题1 1.当捕食者-被捕食者问题中的捕食参数p是0.125时,试确定该动态系统的 的计算公式).猫头鹰和森林鼠的数量随着时间如何变化?该系统趋向演化(给出x k 一种被称为不稳定平衡的状态。如果该系统的某个方面(例如出生率或捕食率)有轻微的变动,系统会如何变化? 2.1实验原理 1.特征值与特征向量 2.特征值与特征向量的求法
3.矩阵的对角化 4.离散线性动态系统 5.eig命令 函数: d=eig(A) 功能:求矩阵A的特征值。 说明:返回一列向量d,包含方阵A的所有特征值。 函数: [V,D]=eig(A)或[V,D]=eig(X,'nobalance') 功能:求矩阵A的特征值和特征向量。
说明:生成特征值矩阵D和特征向量构成的矩阵V,使得使得A*V=V*D。矩阵D由A的特征值在主对角线构成的对角矩阵。V是由A的特征向量按列构成的矩阵。[V,D]=eig(A)中,先对A作相似变换再求A的特征值和特征向量;而 [V,D]=eig(A,'nobalance)中,直接求矩阵A的特征值和特征向量。 2.2算法与编程 % ex1.m求特征值与特征向量 clc A = [0.5 0.4;-0.125 1.1]; [pc,lambda] = eig(A); %求A的特征值和对应的特征向量 [Y,I] = sort(diag(abs(lambda)),'descend');%对特征值的绝对值降序排列temp = diag(lambda); lambda = temp(I) %输出按特征值的绝对值降序排列的特征值 pc = pc(:,I) %与特征值对应的特 %P8_1.m捕食者-被捕食者解的图像表示 % P8_1.m %捕食者-被捕食者解的图像表示 clear, clc a = 0; b = 2000; c = a; d = b; p = 0.1; %确定画图范围 n = 100; %序列迭代次数 xlabel('|\lambda| >1,|u|<1') axis([a b c d]),grid on,hold on x = linspace(a,b,30); A = [0.5 0.4;-0.125 1.1]; %特征值绝对值<1 [pc,lambda] = eig(A); %求A的特征值和对应的特征向量 [Y,I] = sort(diag(abs(lambda)),'descend'); %对特征值的绝对值降序排列temp = diag(lambda); lambda = temp(I) %输出按特征值的绝对值降序排列的特征值 pc = pc(:,I) pc = -pc; z1 = pc(2,1)/pc(1,1)*x; %特征向量v1 z2 = pc(2,2)/pc(1,2)*x; %特征向量v2 h = plot(x,z1),set(h,'linewidth',2), text(x(7),z1(7)-100,'v1') h = plot(x,z2),set(h,'linewidth',2), text(x(20),z2(20)-100,'v2') button = 1; while button == 1 [xi yi button] = ginput(1); %用鼠标选初始点 plot(xi,yi,'go'),hold on X0 = [xi;yi]; X = X0; for i=1:n
数学实验8月13日作业
1.取不同的初值计算下列平方和形式的非线性规划,尽可能求出所有局部极小点,进 而找出全局极小点,并对不同算法(搜索方向、搜索步长、数值梯度与分析梯度等)的结 果进行分析、比较。 (2). ( )( ) 2 2 2 22 121212min 12114949812324681x x x x x x +-++++-, (4).()()212222 23 12123min10010,1x x x x x x θ??????-++-+?????????????? ,其中 ()()()21112211 1 arc ,02,11arc ,0 22tg x x x x x tg x x x π θπ ?>??=??+?. 解:(2)由题意设()()( ) 22 2 22 121 21 212,12114949812324681f x x x x x x x x =+-++++- 先求12, f f x x δδδδ(文件名为a.m ),再求1 2 00 f x f x δδδδ?=????=??(文件名为b.m ),解得近似解为12 2.900.22x x =-??=?或12 3.460.08x x =?? =-?或1220.6234.53x x =??=-?或1221.1836.47x x =-??=-?或120.280.28x x =??=?或1222.37 17.49 x x =??=-?或 1224.1317.92x x =-?? =-?或120.8323.72x x =-??=-?或12 0.17 47.72x x =-??=-?,取初值()02.90,0.22x =-(exam0705grad_run.m )利用matlab 计算可得以下表中数据:
《数学实验》报告matlab-第五次作业
《数学实验》报告 实验名称 matlab拟合与插值学院机械工程学院 专业班级 姓名 学号
2011年 10月
一、【实验目的】 掌握Matlab关于采用最小二乘法拟合曲线的方法。学会使用matlab求实际中得到数据的插值曲线。 二、【实验任务】 P130第8、10、12题 三、【实验程序】 P130第8题: x=[0.10,0.30,0.40,0.55,0.70,0.80,0.95]; y=[15,18,19,21,22.6,23.8,26]; p1=polyfit(x,y,1); p3=polyfit(x,y,3); p5=polyfit(x,y,5); disp('一阶拟合函数'),f1=poly2str(p1,'x') disp('三阶拟合函数'),f3=poly2str(p3,'x') disp('五阶拟合函数'),f5=poly2str(p5,'x') x1=0.1:0.0017:0.95; y1=polyval(p1,x1); y3=polyval(p3,x1); y5=polyval(p5,x1); plot(x,y,'rp',x1,y1,'--',x1,y3,'k-.',x1,y5); legend('拟合点','一次拟合','三次拟合','七次拟合') P130第10题 x=[10,15,20,25,30]; y=[25.2,29.8,31.2,31.7,29.4]; xi=10:.5:30; yi1=interp1(x,y,xi,'*nearest'); yi2=interp1(x,y,xi,'*linear'); yi3=interp1(x,y,xi,'*spline'); yi4=interp1(x,y,xi,'*cubic'); plot(x,y,'ro',xi,yi1,'--',xi,yi2,'-',xi,yi3,'k.-',xi,yi4,'m:') ,grid on
重庆大学数学实验报告七
开课学院、实验室:数统学院DS1421实验时间:2013年03月17日
由于matlab中小数只能是四位,所以我在编程的过程中将距离扩大了1000倍,但是并不会影响我们所求得的结果。 运行程序之后我们得到的结果为: 我们可以得到当金星与地球的距离(米)的对数值为9.9351799时,只一天恰好是25号。 8.编写的matlab程序如下: x=0:400:2800; y=0:400:2400; z=[1180 1320 1450 1420 1400 1300 700 900 1230 1390 1500 1500 1400 900 1100 1060 1270 1500 1200 1100 1350 1450 1200 1150 1370 1500 1200 1100 1550 1600 1550 1380 1460 1500 1550 1600 1550 1600 1600 1600 1450 1480 1500 1550 1510 1430 1300 1200 1430 1450 1470 1320 1280 1200 1080 940]; [xi,yi]=meshgrid(0:5:2800,0:5:2400); zi=interp2(x,y,z,xi,yi,'cubic'); mesh(xi,yi,zi); xlabel('x'),ylabel('y'),zlabel('高程'); title('某山区地貌图'); figure(2); contour(xi,yi,zi,30); 运行程序我们得到的结果如下所示: 山区的地貌图如下所示:
等高线图如下所示: 三、附录(程序等) 6. y=18:2:30;
数学实验第七次作业
4. 问题: 某公司将3种不同含硫量的液体原料(分别记为甲、乙、丙)混合生产两种产品(分别记为A,B )。按照生产工艺的要求,原料甲、乙必须首先导入混合池中混合,混合后的液体再分别与原料丙混合生产A,B 。一直原料甲、乙、丙的含硫量分别是3%,1%,2%,进货价格分别为6千元/t ,16千元/t ,10千元/t ;产品A,B 的含硫量分别不能超过2.5%,1.5%,售价分别为9千元/t ,15千元/t 。根据市场信息,原料甲、乙、丙的供应量都不能超过500t ;产品A,B 的最大市场需求量分别为100t ,200t 。 (1) 应如何安排生产? (2) 如果产品A 的最大市场需求量增长为600t ,应如何安排生产? (3) 如果乙的进货价格下降为13千元/t ,应如何安排生产?分别对(1)、(2)两种情况进 行讨论。 模型: (只考虑问题1,问题2,3只需改变一些约束条件) 设生产时使用原料甲、乙分别为12,x x t ,分别取混合后的液体34,x x t 再加入原料丙 56,x x t 生产产品A,B 。 有质量守恒,可得 1234x x x x +=+ 甲乙混合后的液体的含硫量可表示为 12 12 3%x x x x ++,根据含硫量的要求,可得 12 353512 124646 12 3%*2%* 2.5%*()3%*2%* 1.5%*() x x x x x x x x x x x x x x x x +?+≤+?+?? +?+≤+?+? 根据市场的限制,易得 12563546500 500500100200 x x x x x x x x ≤?? ≤?? +≤??+≤??+≤? 当然还有非负约束 123456,,,,,0x x x x x x ≥ 公司的净利润为(单位:千元): 35461256123456 9()15()61610()6169155z x x x x x x x x x x x x x x =+++---+=--++-+
生活中的数学小实验
生活中的数学小实验 承德民族中学三年十一班杨涵迪 指导教师:刘红莲 摘要:老师说过,有人对家庭煤气的使用量做了研究,并且提出节省煤气的方案,我们觉得很意思,就利用业余时间在家里做了测量烧开水所需煤气量和所需时间的实验。 关健词:烧开一壶水所用的时间与用气量之间的关系。 一、实验过程 我们仔细观察现在家庭使用的电子打火煤气灶,发现当关着煤气的时候,煤气旋钮(以下简称旋钮)的位置为竖置方向,我们把这个位置定为0°,煤气开到最大时,位置为90°(以0°位置作起始边,旋钮和起始边的夹角)。我们在0-90°中间平均分成五等份,代表不同的煤气流量,它们分别是18°,36°,54°,72°,90°,见图1。 图1不同旋钮位置示意图 我们在这5个位置上,分别以烧开一壶水(3.75升,注入满瓶1. 25升可乐瓶的水即可)为标准,记录所需的时间和所用的煤气量, 数据见表1。 二、处理数据
表1煤气旋钮在不同位置时烧开一壶水(3.75升)所需的时间及煤气量 位置项目开始时间(分)水开时时间(分)所需时间(分)煤气表开始时读数()煤气表水开时讯数()所需煤气量()18°6:066:25199.0809.2100.13036°5:496:05168.9589.0800.12254°5:354:491 38.8198.9580.13972°5:225:34128.6708.8190.14990°5:095:19108.4988.6 700.172根据旋钮位置,以及煤开一壶水所需时间(用S表示)、所用煤气量(用V表示),我们可以算出不同旋钮位置所代表的煤气流量(用L表示)。结果如下:L=V/S。 表2旋钮的不同位置所代表的煤气流量 位置 项目烧开一壶水所需流量时间(分钟)煤气量()/分钟升/秒18°190.1300.0068420.11436°160.1220.0076250.12754°130.1390.010 6920.17872°120.1490.0124170.20790°100.1720.0172000.287 从上表可以看出,当旋钮开得越大时,代表流量(单位时间内从煤气阀门内流出的煤气量也越大。这样我们就可以来考虑煤气流量和烧开一壶水所需的时间及用气量之间的关系了。
数学实验1
数学实验1
重庆大学 学生实验报告 实验课程名称数学实验 开课实验室DS1422 学院计算机学院年级2013专业班物联网2班学生姓名卢锦晔学号20135195 开课时间2014 至2015 学年第2学期 总成绩 教师签名
数学与统计学院制 开课学院、实验室:DS1422实验时间:2015 年3月30 日 课程名称数学实验实验 项目 名 称 MATLAB软件入门实验项 目类型 验证演示综合设计其他 指导教师肖剑成 绩
实验目的 [1] 熟悉MATLAB 软件的用户环境; [2] 了解MATLAB 软件的一般目的命令; [3] 掌握MATLAB 数组操作与运算函数; [4] 掌握MATLAB 软件的基本绘图命令; [5] 掌握MATLAB 语言的几种循环、条件和开关选择结构。 通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。 实验内容 1.MATLAB 软件的数组操作及运算练习; 2.直接使用MATLAB 软件进行作图练习; 3.用MATLAB 语言编写命令M-文件和函数M-文件。 基础实验 一、问题重述 1.设有分块矩阵?? ? ???=????223 22333S O R E A ,其中E,R,O,S 分别为单
位阵、随机阵、零阵和对角阵,试通过数值计算验证 ?? ???? +=22S 0RS R E A 。 2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如表1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。 表1.1 货号 1 2 3 4 5 6 7 8 9 单件进价 7.15 8.25 3.20 10.30 6.68 12.03 16.85 17.51 9.30 单件售价 11.10 15.00 6.00 16.25 9.90 18.25 20.80 24.15 15.50 销量 568 1205 753 580 395 2104 1538 810 694 3.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。 4.编写函数M-文件sq.m :用迭代法求a =x 的值。 求平方根的迭代公式为