MATLAB程序设计1Word文件下载.docx
《MATLAB程序设计1Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计1Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
y2=a
(1)*x1.^5+a
(2)*x1.^4+a(3)*x1.^3+a(4)*x1.^2+a(5)*x1+a(6);
plot(x1,y1,'
b-'
x1,y2,'
r*'
)
legend('
原曲线'
'
拟合曲线'
axis([0,7,-1.2,4])
2.设原始数据为x,在11个点上测得的y值如下:
X=[-2.0-1.6-1.2-0.8-0.400.40.81.21.62.0];
Y=[2.82.962.543.443.565.46.08.49.513.315];
采用2阶和10阶多项式拟合,并画图比较
x=[-2.0-1.6-1.2-0.8-0.400.40.81.21.62.0];
y=[2.82.962.543.443.565.46.08.49.513.315];
a=polyfit(x,y,2);
x1=-2:
0.01:
2;
y2=a
(1)*x1.^2+a
(2)*x1+a(3);
plot(x,y,'
r--'
a=polyfit(x,y,10);
y2=a
(1)*x1.^10+a
(2)*x1.^9+a(3)*x1.^8+a(4)*x1.^7+a(5)*x1.^6+a(6)*x1.^5+a(7)*x1.^4+a(8)*x1.^3+a(9)*x1.^2+a(10)*x1+a(11);
二.图形的保持与子图
1.在4个子图中绘制不同的三角函数图。
(二维子图的绘制)
0.1*pi:
2*pi;
subplot(2,2,1);
plot(x,sin(x),'
-*'
);
title('
sin(x)'
subplot(2,2,2);
plot(x,cos(x),'
-o'
cos(x)'
subplot(2,2,3);
plot(x,sin(x).*cos(x),'
-x'
sin(x)*cos(x)'
subplot(2,2,4);
plot(x,sin(x)+cos(x),'
-h'
sin(x)+cos(x)'
2.对于函数
,
的取值范围0~2,
的取值范围
~0,画出四个三维子图,其中
;
要求每一个子图有标题。
[x,y]=meshgrid(0:
0.1:
2,-2:
0);
z=(x-1).^2+(y+1).^2;
mesh(z);
子图1'
z=2*(x-1).^2+(y+1).^2;
子图2'
z=(x-1).^2+2*(y+1).^2;
子图3'
z=0.8*(x-1).^2+0.5*(y+1).^2;
子图4'
三.龙格-库塔方法
1.用经典的R-K方法求解y’=-2y+2x2+2x。
其中(0<
=x<
=0.5),y(0)=1.
编制函数文件(fun.m)
fun.m
functionf=fun(x,y)
f=-2*y+2*x.^2+2*x
在命令窗口输入
[x,y]=ode23('
fun'
[0,0.5],1);
x'
00.04000.09000.14000.19000.24000.29000.34000.39000.44000.49000.5000
y'
1.00000.92470.84340.77540.71990.67640.64400.62220.61050.60840.61540.6179
再输入:
plot(x,y,'
可等到图形如下:
2.解刚性方程
解如下刚性方程:
(见课本251页)
编制f.m文件
functionf=f(x,y)
f=[-21;
998-999]*y+[2*sin(x);
999*(cos(x)-sin(x))]
在程序窗口输入:
tic;
ode45(@f,[010],[2,3]);
t1=toc
t1=
3.4540
ode23(@f,[010],[2,3]);
2.9839
ode23s(@f,[010],[2,3]);
0.6957
3.用龙格库塔方法求解常微分方程,初始条件为
编制函数文件(f.m)
functionydot=f(t,y)
ydot=[y
(2);
4];
在命令窗口输入:
[T,Y]=ode45(@f,[0:
10],[1,2]);
plot(T,Y(:
1),T,Y(:
2));
4.设有一微分方程组
,已知
当时,
,求微分方程在
上的解,并画出
的轨迹。
编制函数文件(liao.m)
functionf=liao(t,X)
f=[X
(2)+cos(t);
sin(2*t)];
[T,X]=ode45('
liao'
[050],[0.5,-0.5]);
plot(X(:
1),X(:
四.While/for循环
1.用for循环求1!
+2!
+3!
+…+20!
的值
sum=0;
fori=1:
20;
prd=1;
fork=1:
i;
prd=prd*k;
end
sum=sum+prd;
end
sum
sum=
2.5613e+018
五.Simulink电路仿真
Simulink是MATLAB软件的扩展,是实现动态系统建模和仿真的一个软件包。
运行一个仿真完整的步骤:
(1).设置仿真参数
(2).启动仿真
(3).仿真结果分析
1、电阻电路的计算,电路如图
建立Simulink模型,R1=2,R2=4,R3=12,R4=4,R5=12,R6=4,R7=2,Us=10V。
求i3,U4,U7
2.
注:
参数设置
Steptime:
0
Finalvalue:
1e11
Gain1:
2.5e6
Gain:
1e12
Simulationstoptime:
1.5e-5
p