欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    本科数模培训-matlab2(wyy).ppt

    • 资源ID:6300666       资源大小:224.50KB        全文页数:40页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    本科数模培训-matlab2(wyy).ppt

    2023/10/15,1,第二部分 程序基本流程,Matlab,2023/10/15,2,1 关系运算符和逻辑运算符,运算符 运算=等于=不等于 大于=大于或等于 小于=小于或等于,2023/10/15,3,逻辑运算符&逻辑与|逻辑或xor 逻辑与或 逻辑非,2023/10/15,4,2023/10/15,5,2 选择结构(分支语句),选择结构的语句有if语句和switch语句。1 if语句 格式一:if 条件 语句组 end,格式二:if 条件 语句组1 else 语句组2 end,2023/10/15,6,【例】输入三角形的三条边,求面积。,A=input(请输入三角形的三条边:);if A(1)+A(2)A(3)else disp(不能构成一个三角形。)end运行:请输入三角形的三条边:4 5 6 9.9216,2023/10/15,7,disp(This program solves for the roots of a quadratic);disp(equation of the form A*X2+B*X+C=0.);a=input(Enter the coefficient A:);b=input(Enter the coefficient B:);c=input(Enter the coefficient C:);%Calculate discriminantdiscriminant=b2-4*a*c;if discriminant 0%there are two real roots,so.x1=(-b+sqrt(discriminant)/(2*a);x2=(-b-sqrt(discriminant)/(2*a);,【例】设计并编写一个程序,用来求解一元二次方程的根。,2023/10/15,8,disp(This equation has two real roots:);fprintf(x1=%fn,x1);fprintf(x2=%fn,x2);else if discriminant=0%there is one repeated root,so.x1=(-b)/(2*a);disp(This equation has two identical real roots:);fprintf(x1=x2=%fn,x1);else%there are complex roots,so.real_part=(-b)/(2*a);imag_part=sqrt(abs(discriminant)/(2*a);disp(This equation has complex roots:);fprintf(x1=%f+i%f n,real_part,imag_part);fprintf(x2=%f-i%f n,real_part,imag_part);end,2023/10/15,9,2switch语句 switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:,2023/10/15,10,【例】某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):price200 没有折扣 200price500 3%折扣 500price1000 5%折扣 1000price2500 8%折扣 2500price5000 10%折扣5000price 14%折扣输入所售商品的价格,求其实际销售价格。,2023/10/15,11,程序如下:price=input(请输入商品价格);switch fix(price/100)case 0,1%价格小于200 rate=0;case 2,3,4%价格大于等于200但小于500 rate=3/100;case num2cell(5:9)%价格大于等于500但小于1000 rate=5/100;case num2cell(10:24)%价格大于等于1000但小于2500 rate=8/100;case num2cell(25:49)%价格大于等于2500但小于5000 rate=10/100;otherwise%价格大于等于5000 rate=14/100;endprice=price*(1-rate)%输出商品实际销售价格,2023/10/15,12,while语句的一般格式为:while(条件)循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。,3 while 循环,2023/10/15,13,例:统计问题一组数据的平均数(数学期望)和标准差。平均数的定义如下:其中xi 代表n 个样本中的第i 个样本。如果所有的输入数据都可以在一个数组中得到,这些数据的平均数就可以通过公式(4.1)直接计算出来,或应用MATLAB 的内建函数mean。标准差的定义如下:,2023/10/15,14,%Initialize sums.n=0;sum_x=0;sum_x2=0;%Read in first valuex=input(Enter first value:);%While Loop to read input values.while x=0%Accumulate sums.n=n+1;sum_x=sum_x+x;sum_x2=sum_x2+x2;%Read in next value x=input(Enter next value:);end,2023/10/15,15,%Check to see if we have enough input data.if n 2%Insufficient information disp(At least 2 values must be entered!);else%There is enough information,so%calculate the mean and standard deviation x_bar=sum_x/n;std_dev=sqrt(n*sum_x2-sum_x2)/(n*(n-1);%Tell user.fprintf(The mean of this data set is:%fn,x_bar);fprintf(The standard deviation is:%fn,std_dev);fprintf(The number of data points is:%fn,n);end,2023/10/15,16,for语句的格式为:for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。,4 for 循环,2023/10/15,17,2023/10/15,18,2023/10/15,19,例:计算the day of year%Get day,month,and year to convertdisp(This program calculates the day of year given the);disp(current date.);month=input(Enter current month(1-12):);day=input(Enter current day(1-31):);year=input(Enter current year(yyyy):);%Check for leap year,and add extra day if necessaryif mod(year,400)=0 leap_day=1;%Years divisible by 400 are leap yearselseif mod(year,100)=0 leap_day=0;%Other centuries are not leap yearselseif mod(year,4)=0 leap_day=1;%Otherwise every 4th year is a leap yearelseleap_day=0;%Other years are not leap yearsend,2023/10/15,20,%Calculate day of year by adding current day to the%days in previous months.day_of_year=day;for ii=1:month-1%Add days in months from January to last month switch(ii)case 1,3,5,7,8,10,12,day_of_year=day_of_year+31;case 4,6,9,11,day_of_year=day_of_year+30;case 2,day_of_year=day_of_year+28+leap_day;endend%Tell userfprintf(The date%2d/%2d/%4d is day of year%d.n,.month,day,year,day_of_year);,2023/10/15,21,5 break语句和continue语句,break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。,2023/10/15,22,例 求100,200之间第一个能被21整除的整数。程序如下:for n=100:200 if rem(n,21)=0 continue end breakendn,2023/10/15,23,6 循环的嵌套,如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。,2023/10/15,24,例:若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求1,500之间的全部完数。for m=1:500 s=0;for k=1:m/2 if rem(m,k)=0 s=s+k;end end if m=s disp(m);endend,2023/10/15,25,8 逻辑数组与向量化,“逻辑”数据类型在MATLAB 中并不真实存在。其实,它是带特定逻辑属性标准数字型数据类型。逻辑型数组通过所有的关系运算符和逻辑运算符创建。它们区别于数字型的是在调用whos 命令时,(logical)会出现在类型的后面。,2023/10/15,26,当调用whos 命令时,结果如下。注意b 后面的(logical)修饰符。,2023/10/15,27,语句c=logical(a),将会把a 值赋于c,从而使c 带有一定的逻辑性。一个数组的逻辑属性可以通任何的数学运算去除。例如,如果我们在c 数组加0,数组的值不会改变,而它的逻辑属性将会消失,2023/10/15,28,逻辑数组的作用算术运算中能提供一个屏蔽(mask)。屏蔽(mask)是指一个数组,它从另一个数组选择所需的元素参与运算。指定的运算只在选择的元素上执行,而不执行原有的元素。,2023/10/15,29,2023/10/15,30,用循环结构和选择结构计算上述问题然用逻辑数组的方法运算速度要快得多,2023/10/15,31,例:用最小二乘法画噪声数据的近似曲线 下落物体将会作匀加速度运动,它的速度符合下面的公式 v(t)=at+v0(4.3)v(t)代表物体在t 时刻的速度。加速度为g,初速度v0 为0。,2023/10/15,32,如果我们确定了待定系数m 和b,那么我们就确定了解析式4.4。y=mx+b(4.4)确定待定系数m 和b 的标准方法为最小二乘法。之所以称为最小二乘法,是因为根据偏差的平方和为最小的条件来选择常数m 和b 的。公式如下:,2023/10/15,33,其中,x 代表所有测量值x 之和,y 代表所有测量值y 之和,xy 代表所有对应的x与y 的乘积之和,代表测值量x 的数学期望。代表测值量y 的数学期望。已知有一系列含有噪声的数据(x,y),编写程序用最小二乘法计算出m 和b。数据要求从键盘输入,画出每一个数据点还有画出最适合的直线。,2023/10/15,34,设计算法这个问题被分解为6 个大步骤:Get the number of input data pointsRead the input data valuesCalculate the required statisticsCalculate the slop and interceptWrite out the slop and interceptPlot the input points and the fitted line,2023/10/15,35,%Script file:lsqfit.m,disp(This program performs a leastsquares fit of an);disp(input data set to a straight line.);n_points=input(Enter the number of input x y points:);%Read the input datafor ii=1:n_points temp=input(Enter x y pair:);x(ii)=temp(1);y(ii)=temp(2);end,2023/10/15,36,%Accumulate statisticssum_x=0;sum_y=0;sum_x2=0;sum_xy=0;for ii=1:n_points sum_x=sum_x+x(ii);sum_y=sum_y+y(ii);sum_x2=sum_x2+x(ii)2;sum_xy=sum_xy+x(ii)*y(ii);end%Now calculate the slope and intercept.x_bar=sum_x/n_points;y_bar=sum_y/n_points;slope=(sum_xy-sum_x*y_bar)/(sum_x2-sum_x*x_bar);y_int=y_bar-slope*x_bar;,2023/10/15,37,%Tell user.disp(Regression coefficients for the leastsquares line:);fprintf(Slope(m)=%8.3fn,slope);fprintf(Intercept(b)=%8.3fn,y_int);fprintf(No of points=%8dn,n_points);%Plot the data points as blue circles with no connecting lines.plot(x,y,bo);hold on;%Create the fitted linexmin=min(x);xmax=max(x);ymin=slope*xmin+y_int;ymax=slope*xmax+y_int;,2023/10/15,38,%Plot a solid red line with no markersplot(xmin xmax,ymin ymax,r,LineWidth,2);hold off;%Add a title and legendtitle(bfLeastSquaresFit);xlabel(bfitx);ylabel(bfity);legend(Input data,Fitted line);grid on,2023/10/15,39,作业:1.在邮局发一个包裹,不超过两英磅的则收款为10 美元。超过两英磅每英磅按3.75美元来计费,如果包裹的重量超过了70 英磅,超过了70 英磅的部分,每英磅的价格为1.0美元。如果超过了100 英磅则拒绝邮递。编写一个程序,输入包裹的重量,输出它的邮费。2.均方根平均数(rmsaverage)。均方根平均数是另一种计算数据平均数的方法。它的定义如下 编写一个程序,它能接受任意个数的正输入值,并计算它们的算太平均数和几何平均数。用while 循环读取输入值,当输入一个负数中止输入数据。计算数列10,5,2,5 的均方根平均数,用以检测程序。,2023/10/15,40,3.画轨道。一颗卫星绕地球运行,卫星的轨道是椭圆形的,而地球就处于这个椭圆的某一个焦点上。卫星的轨迹方程满足下式 已知卫星的p=1000km,画出卫星的轨迹。已知(a)=0;(b)=0.25;(c)=0.5 每一颗卫星到地球最近距离是多少?最远距离是多少?比较这三幅图,说出p 代表意义是什么?4.病毒的繁殖。假设某生物学家做实验,测试一种特殊病毒在不同的培养基下的繁殖速率。实验表明A 培养基中的病毒每60 分钟复制一次,A 培养基中的病毒每90 分钟复制一次。假设在两个培养基中开始的时候各有一个病毒。编写一个程序,计算24 小时之内每隔三小时病毒在各自培养基中的个数,并画出图象。画两个图,一个用线性坐标,一个用线性对数坐标。24 小时之后两培养基中的病毒的数目分别是多少,

    注意事项

    本文(本科数模培训-matlab2(wyy).ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开