广西工学院2010年数学建模暑期培训材料
MATLAB上机练习
实验一 MATLAB入门
1、执行下列指令,观察其运算结果,理解其意义: ⑴[1 2;3 4]+10-2*i
⑵[1 2;3 4].*[0.1 0.2;0.3 0.4] ⑶[1 2;3 4].\\[20 10;9 2] ⑷[1 2;3 4].^2 ⑸exp([1 2;3 4]) ⑹log([1 100 1000]) ⑺prod([1 2;3 4])
⑻[a,b]=min([10 20;30 40]) ⑼abs([1 2;3 4]-pi) ⑽[1 2;3 4]>=[4 3;2 1]
⑾find([10 20;30 40]>=[40 30;20 10])
⑿[a,b]=find([10 20;30 40]>=[40 30;20 10]) ⒀all([1 2;3 4]>1) ⒁any([1 2;3 4]>1) ⒂linspace(3,4,5)
⒃A=[1 2;3 4];A(:,2)
2、执行下列指令,观察其运行结果,变量类型和字节数,理解其意义: ⑴clear;a=1,b=num2str(a),c=a>0,a= =b,a= =c,b= =c ⑵clear;fun=’abs(x)’,x=-2,eval(fun),double(fun)
3、本金K以每年n次,每次p%的增值率(n与p的乘积为每年增值额的百分比)增加,当增加到rK 时所花费的时间为T?r=2,p=0.5,n=12.
4、已知函数f(x)?x?2在(-2,2)内有两个根,取步长h=0.05,通过计算函数值求得函数的最小值点和两个根的近似解。
5、⑴用z=magic(10)得到10阶魔方矩阵; ⑵求z的各列元素之和; ⑶求z 的对角线元素之和; ⑷将z的第二列除以3; ⑸将z的第三行元素加到第8行。
6、先不用MATLAB判断下面语句将显示什么结果?size(B)又得出什么结果? B1={1:9;’David Beckham’}; B2={180:-10:100;[100,80,75;77,60,92;67,28,90;100,89,78]}; B=[B1,B2]; B{1,2}(8)
4xlnrnln(1?0.01p)(单位:年)。用MATLAB表达式写 出该公式并用下列数据计算:
D=cell2struct(B,{‘f1’,’f2’},2);
[a,b]=D.f1
然后用MATLAB验证你的判断,进一步,查看变量类型和字节数,并用Workspace工具栏显示B和D的具体内容。
实验二 MATLAB编程与作图
1、设x 为一个长度为n 的数组,编程求下列均值和标准差 x?1nn?i?1xi,s?1n?1n2[?xi?nx],n?1
i?12function ex=junzhi(x) k=0;
n=length(x); for i=1:n
k=k+x(i); end k=k/n; k
junzhi(x)
function es=junfangcha(x) k=0;
s=0;
n=length(x); for i=1:n
k=k+x(i); end k=k/n;
for j=1:n
s=s+x(j)^2; end
es=sqrt((s-n*(k^2))/(n-1)) junfangcha(x)
m2、求满足?ln(1?n)?100的最小m值。
n?0 sum =0; for i=1:1000 j(i)=log(1+i); sum(i+1)=sum(i)+j(i); while sum(i+1)-100>0 i sum return end
end
1064、分别用for 和while 循环结构编写程序,求出K?较不同算法的运行时间。 k=0;
for i=1:1000000
k=k+sqrt(3)/2^i; end k
?i?132i。并考虑一种避免循环语句的程序设计,比
5、假定某天的气温变化记录如下表,试作图描述这一天的气温变化规律。
时刻t(h) 时刻t(h) 0 13 1 14 14 32 2 14 15 31 3 14 16 29 4 14 17 27 5 15 18 25 6 16 19 24 7 18 20 22 8 20 21 20 9 22 22 18 10 23 23 17 11 25 24 16 12 28 温度T(℃) 15 温度T(℃) 31 y=load('F:\\1.txt'); x=0:24; plot (x,y)
6、作出下列函数图像
⑴曲线y?x2sin(x2?x?2),?2?x?2 (要求分别使用plot 或fplot 完成) x=-1:0.1:2;
y=x.^2.*sin(x.^2-x-2); plot(x,y) ⑵椭圆
x24?y29?1
ezplot('x^2/4+y^2/9-1',[-2,2,-3,3]) ⑶抛物面z?x?y,x?3,y?3 x=-3:0.1:3; y=-3:0.1:3;
z=ones(61)*diag(x.^2)+diag(y.^2)*ones(61); meshc(x,y,z);
⑷曲面z?x?3x?y?2x?2y?2xy?6,x?3,?3?y?13 x=-3:0.1:3;
y=-3:0.2:13;
z=diag(x.^4+3*x.^2-2*x)*ones(61,81)+ones(61,81)*diag(y.^2-2*y)-2*(x.^2)'*y+6*ones(61,81); surf(z)
422222⑸空间曲线x?sint,y?cost,z?cos(2t),0?t?2? t=0:pi/100:2*pi;
x=sin(t);y=cos(t);z=cos(2*t); plot3(x,y,z);
⑹半球面x?2sin?cos?,y?2sin?sin?,z?2cos?,0???2?,0????/2 th=linspace(0,2*pi,100); fai=linspace(0,pi/2,100); x=2*sin(fai).*cos(th); y=sin(fai).*sin(th); z=2*cos(fai); plot3(x,y,z)
⑺三条曲线合成图y1?sinx,y2?sinxsin(10x),y3??sinx,0?x?? x=linspace(0, pi,100); y1=sin(x);
y2= sin(x).* sin(10*x); y3= -1*sin(x);
plot(x,y1,'r', x,y2,'g', x,y3,'b')
8、查询trapz的功能和用法:查找trapz.m所在目录,查看trapz.m的程序结构,查看trapz.m文件所在目录还有哪些文件?
which trapz C:\\MATLAB701\\toolbox\\matlab\\datafun\\trapz.m help trapz what trapz
9、用MATLAB函数表示下列函数,并作图
?0.5457exp(?0.75y2?3.75x2?1.5x) x?y?1?22p(x,y)??0.7575exp(?y?6x) ?1?x?y?1
?220.5457exp(?0.75y?3.75x?1.5x) x?y??1 ?
实验三 用MATLAB解数学问题
1、用矩阵除法解下列线性方程组,并判断解的意义 ?4?⑴?3?1??4?⑵?3?1?12?5?32?5?1??x1??9???????6x2??2;A=[4 1 -1 9;3 2 -6 -2;1 -5 3 1]; rref(A) ?????????3??x3??1??3??x1???1???????6x2??2; ?????????3??x3??1??
相关推荐: