数学建模基础入门小程序

上传人:亦明 文档编号:141883814 上传时间:2020-08-13 格式:DOC 页数:22 大小:103.85KB
返回 下载 相关 举报
数学建模基础入门小程序_第1页
第1页 / 共22页
数学建模基础入门小程序_第2页
第2页 / 共22页
数学建模基础入门小程序_第3页
第3页 / 共22页
数学建模基础入门小程序_第4页
第4页 / 共22页
数学建模基础入门小程序_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数学建模基础入门小程序》由会员分享,可在线阅读,更多相关《数学建模基础入门小程序(22页珍藏版)》请在金锄头文库上搜索。

1、数学建模基础入门小程序 理自己MATLAB知识1入门例1-1绘制正弦曲线和余弦曲线。 x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x);例plot(x,sin(x),x,cos(x);例1-2求方程3x4+7x3+9x2-23=0的全部根。 p=3,7,9,0,-23;%建立多项式系数向量x=roots(p)%求根例求根例1-3求积分quad(x.*log(1+x),0,1)%里是被积函数0,1分别是积分上下限分别是积分上下限例1-4求解线性方程组。 a=2,-3,1;8,3,2;45,1,-9;%方程左面系数b=4;2;17;%方程右面系数x=inv(a)*

2、b%也可是x=ab的形式例1-5水仙花for m=100:999m1=fix(m/100);%求m的百位数字m2=rem(fix(m/10),10);%求m的十位数字m3=rem(m,10);%求m的个位数字if m=m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)end end例1-6已知,当n=100时,求y的值。 程序如下y=0;n=100;for i=1:n y=y+1/(2*i-1);end y例1-7求100,200之间第一个能被21整除的整数for n=100:200if rem(n,21)=0continue endbreak end n例1-8若一个数等于它

3、的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。 求1,500之间的全部完数。 for m=1:500s=0;for k=1:m/2if rem(m,k)=0s=s+k;end endif m=s disp(m);end end例1-9绘制曲线t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);例1-10用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x)和y2=2e-0.5xcos(x)程序如下x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2

4、*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);例1-11绘制三维曲线t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title(Linein3-D Space);xlabel(X);ylabel(Y);zlabel(Z);grid on;例1-12绘制三维曲面x,y=meshgrid(0:0.25:4*pi);z=sin(x+sin(y)-x/10;mesh(x,y,z);axis(04*pi04*pi-2.51);例1-13使用switch结构判断学生成绩的等级,90

5、分以上为优,8090为良,7080为中,6070为及格,60分以下为不及格。 score=98;s1=fix(score/10);%取十位数switch s1case9,10s=优case8s=良case7s=中例1-13使用switch结构判断学生成绩的等级,90分以上为优,8090为良,7080为中,6070为及格,60分以下为不及格。 score=98;s1=fix(score/10);%取十位数switch s1case9,10s=优case8s=良case7s=中case6s=及格otherwise s=不及格end例1-14使用for结构计算1+2+3+case6s=及格other

6、wise s=不及格end例1-14使用for结构计算1+2+3+100sum=0;for i=1:100sum=sum+i;end sum另一种方法i=1;100;a=sum(i)第三种方法sum=0;i=1;while i=100sum=sum+i;i=i+1;end sum例1-15+100sum=0;for i=1:100sum=sum+i;end sum另一种方法i=1;100;a=sum(i)第三种方法sum=0;i=1;while i=100sum=sum+i;i=i+1;end sum例1-15例1-16鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内

7、关了多少只兔子和多少只鸡?chicken=1;while1if chicken+(100-2*chicken)/4=36break;end chicken=chicken+1;end chickenrabbit=(100-2*chicken)/4例1-16鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡?chicken=1;while1if chicken+(100-2*chicken)/4=36break;end chicken=chicken+1;end chickenrabbit=(100-2*chicken)/4例1-17设银行年利率为

8、11.25%.将10000元钱存入银行,问多长时间会连本带利翻一番?money=10000;17设银行年利率为11.25%.将10000元钱存入银行,问多长时间会连本带利翻一番?money=10000;years=0;while money20000years=years+1;money=money*(1+11.25/100)end例1-18小猴吃桃问题有一天小猴摘下了若干个桃子,当即吃掉了一半,又多吃了一个.第二天接着吃了剩下的一半,又多吃了一个以后每天都是吃掉尚存的桃子的一半零一个.到第十天早上,小猴准备吃桃子时,看到只剩下1个桃子了.问小猴第一天共摘下了多少个桃子?years=0;whi

9、le money=2k=k-1;p(k)=2*(p(k+1)+1);end p (1)另一种方法x (1)=1;for i=2:10;x(i)=(x(i-1)+1)*2;end x (10)k=10;p(k)=1;while k=2k=k-1;p(k)=2*(p(k+1)+1);end p (1)另一种方法x (1)=1;for i=2:10;x(i)=(x(i-1)+1)*2;end x (10)第三种方法m=1;for i=1:9m=2*(m+1);end m例1-19对任一自然数第三种方法m=1;for i=1:9m=2*(m+1);end m例1-19对任一自然数n n,按如下法则进行

10、运算:若n n为偶数,则将为偶数,则将n n除2;若n n为奇数,则将n n乘3加1。 将运算结果按上面法则继续运算,重复若干次后计算结果最终是1.n=input(input n=);%输入数据while n=1r=rem(n,2);%求n/2的余数if r=0n=n/2%第一种操作else n=3*n+1%第二种操作end end例1-20利用for循环求1!+2!+3!+乘3加1。 将运算结果按上面法则继续运算,重复若干次后计算结果最终是1.n=input(input n=);%输入数据while n=1r=rem(n,2);%求n/2的余数if r=0n=n/2%第一种操作else n=

11、3*n+1%第二种操作end end例1-20利用for循环求1!+2!+3!+.+5!的值sum=0;for i=1:5sum=sum+prod(1:i);.+5!的值sum=0;for i=1:5sum=sum+prod(1:i);end sum例1-21求向量x的各元素的平方和x=input(x=);s=0;for i=1:length(x)s=s+x(i)2;end s例1-22计算f(x)=ex,使用break语句当f(x)1000时终止计算。 x=0:10;for n=x f=exp(n);if f1000break endend例1-23使用for循环将字符串中的数值取出,遇到非

12、数值则跳过。 str=The resultis100.;len=length(str);s=;for n=1:len end sum例1-21求向量x的各元素的平方和x=input(x=);s=0;for i=1:length(x)s=s+x(i)2;ends例1-22计算f(x)=ex,使用break语句当f(x)1000时终止计算。 x=0:10;for n=x f=exp(n);if f1000break endend例1-23使用for循环将字符串中的数值取出,遇到非数值则跳过。 str=The resultis100.;len=length(str);s=;for n=1:len i

13、f str(n)9|str(n)=1y=x.2-1;elseif-19|str(n)=1y=x.2-1;elseif-11000时终止程序。 for循环clear sum=0for n=1:1000sum=nn+sum ifsum1000break endend while循环sum=0;n=1;while sum1000sum=nn+sum n=n+1m=0;while(s1000时终止程序。 for循环clear sum=0for n=1:1000sum=nn+sum ifsum1000break endend while循环sum=0;n=1;while sum1000sum=nn+su

14、m n=n+1?101iii sumend例1-28考虑两个多项式a(x)=x32x23x4和b(x)=x34x29x16的乘积a=1234;b=14916;c=conv(a,b)c=1end例1-28考虑两个多项式a(x)=x32x23x4和b(x)=x34x29x16的乘积a=1234;b=14916;c=conv(a,b)c=162050758464结果是c(x)=x66x520x450x375x284x64。 两个以上的多项式的乘法需要重复使用conv。 例1-29设x=1,2,3,4,5,6;y=2,5,12,16,13,11;试用这6个散点,拟合一条3次多项式曲线.x=1,2,3,4,5,6;y=2,5,12,16,13,11;f=polyfit(x,y,3);X=linspace(0,6,100);Y=polyval(f,X);plot(x,y,ro,X,Y,B-,linewidth,5);例1-30求极限函数limit格式limit(F,x,a)%计算符号表达式F=F(x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号