《MATLAB编程设计与应用》课程设计.docx
- 文档编号:12672879
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:13
- 大小:256.35KB
《MATLAB编程设计与应用》课程设计.docx
《《MATLAB编程设计与应用》课程设计.docx》由会员分享,可在线阅读,更多相关《《MATLAB编程设计与应用》课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
《MATLAB编程设计与应用》课程设计
《MATLAB编程设计与应用》课程设计
所在学院:
理学院
专业名称:
应用物理学
所在班级:
物理09-1
学生姓名:
学生学号:
0907120107
2011年6月
一,程序的结构和流程控制:
用Matlab程序的一般语句(循环语句for…end,条件循环语句while…end和条件转向语句if…else…end)分别求1~100的奇数和。
程序一
程序二:
程序三
sum=0;
forx=1:
1:
100;
ifmod(x,2)
sum=sum+x;
elsecontinue;
end
end
sum
clear
x=1;
sum=0;
whilex<101
sum=sum+x;
x=x+2;
end
sum
clear
sum=0;
forx=1:
2:
99;
sum=sum+x;
end
sum
二,2D绘制、函数图形的绘制:
1,用plot语句绘制函数图形,熟悉分区绘图命令(subplot),建立图形命令(figure),以及用title命令和一些指定的线性、颜色和标记对图形作注释的功能。
x=[-pi:
pi/20:
pi];
y1=sin(x);
y2=cos(x);
figure
(1)
subplot(2,2,1),plot(x,y1,'+')
gridon,title('sin(x)')
subplot(2,2,2),plot(x,y2,'k')
gridon,title('cos(x)')
subplot(2,2,3),plot(x,y1,'b*',x,y2,'g-.')
gridon,title('sin(x)andcos(x)')
subplot(2,2,4),plot(x,y1,'-',x,y1,'ro')
gridon,title('sin(x)')
2,用subplot命令将画图区域分为三份,分别用ploy,comet和fplot命令做y=sin(3x+2)的图像。
并用图形标题设置命令(title),X轴标签设置命令(xlabel),y轴标签设置命令(ylabel)对图形作注释。
程序:
x=-2*pi:
pi/20:
2*pi;
y=sin(3*x+2);
subplot(3,1,1)
plot(x,y)
title('y=sin(3x+2)')
xlabel('x[-2*pi,2*pi]')
ylabel('y=sin(3x+2)')
subplot(3,1,2)
comet(x,y,'g')
title('y=sin(3x+2)')
xlabel('x[-2*pi,2*pi]')
ylabel('y=sin(3x+2)')
subplot(3,1,3)
fplot('sin(3*x+2)',[-2*pi,2*pi])
title('y=sin(3x+2)')
xlabel('x[-2*pi,2*pi]')
ylabel('y=sin(3x+2)')
用行结果:
3,练习使用ezplot命令绘制参数曲线图形:
参数方程及程序
用行结果
参数方程:
程序:
subplot(2,1,1)
ezplot('(cos(x))^3','(sin(x)^3)',[-4*pi,4*pi])
subplot(2,1,2)
ezplot('(x-sin(x))','(1-cos(x))',[-4*pi,4*pi]
参数方程:
程序:
subplot(2,1,1)
ezplot('x*(cos(x))^3','x*(sin(x)^3)',[-pi,pi])
subplot(2,1,2)
ezplot('x*(x-sin(x))','x*(1-cos(x))',[-pi,pi])
4,用polar命令绘制极坐标图形,并熟悉gtext命令,用鼠标将文本点击到图形相应的位置上。
在同一坐标区域内绘制三叶玫瑰线和四叶玫瑰线。
程序:
subplot(2,2,1)
ezpolar('sin(2*x)',[0,2*pi])
gtext('ËÄҶõ¹åÏßr=sin(2x)')
subplot(2,2,2)
ezpolar('cos(2*x)',[0,2*pi])
gtext('ËÄҶõ¹åÏßr=cos(2x)')
subplot(2,2,3)
ezpolar('sin(3*x)',[0,2*pi])
gtext('ÈýҶõ¹åÏßr=sin(3x)')
subplot(2,2,4)
ezpolar('cos(3*x)',[0,2*pi])
gtext('ÈýҶõ¹åÏßr=cos(3x)')
用行结果:
5,在同一坐标系中绘制不同函数的图像。
函数表达式及程序
用行结果
,
,
,
程序:
x=[-2*pi:
pi/20:
2*pi];
y1=sin(x);
y2=x-x.^3/prod(1:
3);
y3=x-x.^3/prod(1:
3)+x.^5/prod(1:
5);
y4=y3-x.^7/(prod(1:
7);
plot(x,y1,'r',x,y2,'b',x,y3,'g',x,y4,'k')
函数表达式:
程序:
x=-1:
0.01:
1;
symst
y=(t^2-1)^3+1;
y1=diff(y,'t');
y2=diff(y1,'t');
y=subs(y,t,x);
y1=subs(y1,t,x);
y2=subs(y2,t,x);
plot(x,y,'r',x,y1,'g',x,y2,'b')
6,课外扩展:
分段函数的表达与绘图
编写程序计算
并画出在
上的曲线。
x=-3:
0.01:
3;
y1=zeros(size(x));
y2=zeros(size(x));
y3=zeros(size(x));
N=length(x);
fork=1:
N
ifx(k)<-1&x(k)>=-3;
y1(k)=(-x(k).^2-4*x(k)-3)/2;
elseifx(k)>=-1&x(k)<1;
y2(k)=-x(k).^2+1;
elsex(k)<=3&x(k)>=1;
y3(k)=(-x(k).^2+4*x(k)-3)/2;
end
end
y=y1+y2+y3;
plot(x,y)
三,符号运算与数值运算综合练习
1.已知函数
的表达式为
编写一个函数文件,定义函数
在
处的一阶泰勒多项式。
函数文件myfun.m
调用语句
用行结果
functiony=myfun(x)
symst1t2t3t4t5t6t7
x0=[0.10.30.10.11.5160.75];
u
(1)=174.42*(t1/t5)*(t3/(t2-t1))^0.85*
sqrt((1-2.62*(1-0.36*(t4/t2)^(-0.56))^1.5
*(t4/t2)^1.16)/(t6*t7))
u
(2)=diff(u
(1),'t1');
u(3)=diff(u
(1),'t2');
u(4)=diff(u
(1),'t3');
u(5)=diff(u
(1),'t4');
u(6)=diff(u
(1),'t5');
u(7)=diff(u
(1),'t6');
u(8)=diff(u
(1),'t7');
u=subs(u,{'t1','t2','t3','t4','t5','t6','t7'},x0)
y=u*[1,x-x0]'
>>x=[1:
7];
y=myfun(x)
u=
8721/50*t1/t5*(t3/(t2-t1))^(17/20)*((1-131/50*(1-9/25/(t4/t2)^
(14/25))^(3/2)*(t4/t2)^(29/25))/t6/t7)^(1/2)
u=
Columns1through6
1.725624.5896-5.991114.6675
-4.0281-1.1504
Columns7through8
-0.0539-1.1504
y=
29.820
y=
29.8206
注意事项:
保存时须要以函数名命名,负责不能调用函数。
说明:
用行结果没有完全按MATLAB给出的形式,其中空行被去掉了
2.编辑一个函数文件,实现如下功能:
对输入的矩阵a,若a是方阵,计算其特征值与特征向量,并求出最大特征值及其对应的特征向量。
若a不是方阵,计算a的转置与a的乘积的特征值与特征向量,并求出最大特征值及其对应的特征向量。
函数文件myfun.m
调用语句
用行结果
function[Emax,Dmax]=myfun(x)
n=size(x);
ifn
(1)==n
(2);
b=x;
elseb=x'*x;
end
[e,d]=eig(b)
dmax=d(1,1);
k=1;
fori=2:
n
(2)
if(dmax dmax=d(i,i) k=i; end end Emax=e(: k) Dmax=dmax >>a=[1,2,3,21; 1,4,4,12; 1,2,43,12; 4,2,3,5]; >>myfun(a) e= -0.1182-0.72640.87950.3798 -0.1272-0.51190.3012-0.9188 -0.98040.22020.05790.0040 -0.0928-0.4022-0.36380.1079 d= 44.5164000 013.127600 00-6.80390 0002.1599 Emax= -0.1182 -0.1272 -0.9804 -0.0928 Dmax= 44.5164 四、优化工具箱试验 1,非线性不等式约束最优化问题 求解 约束条件: , 实验步骤 用行结果 一,目标函数文件: functionf=objfun(x) f=exp(x (1))*(4*x (1)^2+2*x (2)^2+4*x (1) *x (2)+2*x (2)+1); Optimizationterminated: first-orderoptimalitymeasureless thanoptions.TolFunandmaximumconstraintviolationisless thanoptions.TolCon. Activeinequalities(towithinoptions.TolCon=1e-006): lowerupperineqlinineqnonlin 1 2 x= -9.54741.0474 fval= 0.0236 二,约束函数文件: function [c,ceq]=confun(x) c=[1.5+x (1)*x (2)-x (1)-x (2); -x (1)*x (2)-10]; ceq=[]; 三,初始化调用函数: >>x0=[-1,1]; >>options=optimset('LargeScale','off'); >>[x,fval]=fmincon(@objfun,x0,[],[],[],[],[],[], @confun,options) 2,线性规划 求解下述问题: 根据函数linprog函数的功能,可知此问题可用linprog函数求解: 函数程序为: f=[-3,-2,-1]'; a=[1,2,4;-2,1,-1;4,-1,-2;-4,1,2]; b=[5,-35,40,-30]';
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB编程设计与应用 MATLAB 编程 设计 应用 课程设计