数学建模MATLAB语言及应用上机作业1
?13579??246810?? 1. 在matlab中建立一个矩阵A????1?2?3?4?5????01234?答案:
A = [1,3,5,7,9;2,4,6,8,10;-1,-2,-3,-4,-5;0,1,2,3,4]
2. 试着利用matlab求解出下列方程的解(线性代数22页例14)
?2x1?x2?5x3?x4?8?x?3x?6x?9?124 ?2x?x?2x??54?23??x1?4x2?7x3?6x4?0答案:
A=[2 ,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6]; B=[8;9;-5;0]; X=A\\B 或
A=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6] b=[8,9,-5,0]' X=inv(A)*b
3. 生成一个5阶服从标准正态分布的随机方阵,并计算出其行列式的值,逆矩阵以及转置矩阵。 答案:
A=randn(5) det(A) inv(A) A'
4. 利用matlab求解出
??110??的特征值和特征向量。
A???430????002??答案:
A=[-1,1,0;-4,3,0;0,0,2] [V,D]=eig(A)
5.画出衰减振荡曲线y?e?t3sin3t在[0,4?]上的图像。
要求,画线颜色调整为黑色,画布底面为白色。
(在实际中,很多打印机时黑白的,因此大多数作图要考虑黑白打印机的效果。) 给出恰当的x,y坐标轴标题,图像x轴的最大值为4?。
6. 生成一个0-1分布的具有10个元素的随机向量,试着编写程序挑选出向量中大于0.5的元素。
数学建模和Matlab上机作业2(2016-9-20)
跟老师做(不用整合进作业中):
上机演示讲解:函数,递归的两个例子的写法。 附:
1. Fibonacci Sequence(斐波那契数列)
在数学上,费波那西数列是以递归的方法来定义: F1= 1;F2= 1;F(n)=F(n-1)+F(n-2) 2. 阶乘举例:
数学描述:n!=1×2×……×n;计算机描述:n!=n*(n-1)!
自己做(需要整合进作业中,提交到系统中):
1. 写一个m文件完成分值百分制到5分制的转换(即输入一个百分制,转换后输出一个5级对应的得分,联系条件控制语句)。 对应规则如下: 优秀[90,100] 良好[80,90) 中等[70,80) 及格[60,70) 不及格[0,60]
完成函数后,利用命令行对所写的函数进行测试。 答案:
score=input('your score is: '); if score>=90 && score<=100 disp('优秀');
if score>=80 && score<90 disp('良好');
if score>=70 && score<80 disp('中等'); if score>=60 && score<70 disp('及格'); if score>=0 && score<60 disp('不及格'); else
disp('请输入正确的成绩');
end end end end end
2. 写一个函数(函数m文件),要求:输入一个数组,可以完成该数组的一阶累加,输出一阶累加序列。(灰色理论中的一阶累加序列)
注:一阶累加序列通俗的讲,就是累加序列中的第k项是原数列前k项的和。 数学表达如下:一阶累加的公式是: 设有变量为的原始数据序列
x(0)?x(0)(1),x(0)(2),?,x(0)(n) 生成一阶累加生成序列
x(1)?x(1)(1),x(1)(2),?,x(1)(n) 其中
????x(k)??x(0)(i)(1)i?1k
k?1,2,?,n答案:
n=input('请输入该数组元素总个数'); i=1; orig=[]; while i<=n
disp('请输入数组元素'); orig(i)=input(''); i=i+1; end j=1; new=[];
new(1)=orig(1); while j new(j+1)= new(j)+orig(j+1); j=j+1; end disp('该数组的一阶累加序列为:'); disp(new); 或 function y=AGO1(x) %x=[1,1,1]; %y=[1,1+1,1+1+1]; y=zeros(1,length(x)); for i=1:length(x) y(i)=sum(x(1:i)); end 3. 求解以下规划问题: ?5x1?3x2?45?x?9?s.t. ?1?x2?15??x1?0,x2?0 答案: c=[40,36]; A=[5,3]; b=45; VLB=[0;0]; VUB=[9;15]; Aeq=[]; beq=[]; [x,fval]=linprog(c,A,b,Aeq,beq,VLB,VUB) 数学建模MATLAB语言及应用上机作业3(2016-9-27) 1. 根据上课讲解的插值程序,求解飞机轮廓线的插值(PPT157) 原题如下: 已知飞机下轮廓线上数据如下,求x每改变0.1时的y值,并作出图像: X Y 0 0 3 1.2 5 1.7 7 2.0 9 2.1 11 2.0 12 1.8 13 1.2 14 1.0 15 1.6 分别利用线性插值方法和三次样条插值方法的插值方式进行插值计算,并分别作出图像进行比较。 答案: 线性插值方法: X=[0,3,5,7,9,11,12,13,14,15]; Y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6]; x=0:0.1:15; y=interp1(X,Y,x); plot(X,Y,x,y,X,Y) xlabel('X'),ylabel('Y') 三次样条插值法: X=[0,3,5,7,9,11,12,13,14,15]; Y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6]; x=0:0.1:15; y=interp1(X,Y,x,'spline'); plot(X,Y,x,y,X,Y) xlabel('X'),ylabel('Y') 2. 上课讲过的PPT拟合问题的引例如下: 求600C时的电阻R。 解: 根据观测数据作图,看似在一条直线上,假定数学模型是R=at+b。 解决程序如下: t=[20.5 32.5 51 73 95.7]; %观测数据的t值 r=[765 826 873 942 1032]; %观测数据的电阻阻抗 aa=polyfit(t,r,1); %由于设定的最高次数是1,因此最后一个参数是1 a=aa(1) %输出拟合得到的最高项次数 b=aa(2) %输出拟合得到的常数项次数 y=polyval(aa,t); %利用同样的t值,计算拟合预测值 plot(t,r,'k+',t,y,'r') %画出图像进行比较 读懂上述解决方案后,解决如下问题: 2.1根据上述程序,从国家统计局网站(http://www.stats.gov.cn)公布的数据可知我国的供电量情况如下,仿照上述程序,请用拟合的方法给出2004年的值,并画出图形进行比较。 年度 2000 2001 2002 2003 2004 2005 2006 2007 答案: t=[1,2,3,4,6,7,8]; r=[13472.7,14632.6,16330.7,19032.2,24940.8,28588.4,32712.4]; aa=polyfit(t,r,2); a=aa(1); b=aa(2); y=polyval(aa,t); 供电量(亿千瓦时) 13472.7 14632.6 16330.7 19032.2 假设统计缺失 24940.8 28588.4 32712.4 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数学建模作业题+答案在线全文阅读。
相关推荐: