北京交通大学matlab复习资料Word文档下载推荐.docx
《北京交通大学matlab复习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《北京交通大学matlab复习资料Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
p'
axisequal;
title('
x^5+6x^4-3x^2=10'
xlabel('
realaxis'
ylabel('
imagineaxis(j)'
6.某班同学成绩已经存放在矩阵A中,每行为某一位同学的数据,第1列为学号,第2列至第4列为其三门课程的成绩,试编程按照3门课平均成绩由小到大的顺序重新排列成绩表,并放在矩阵B中。
A=[99234012,95,73,88;
99234033,84,77,80;
99234009,66,80,72;
99234067,92,93,59];
[y,index]=sort(mean(A(:
2:
end),2));
B=A(index,:
disp(B);
9.figure
(1)
[u,v,b]=ginput(5);
line(u,v);
fori=1:
5;
str=['
('
num2str(u(i)),'
)'
];
text(u(i),v(i),str);
end
11.解如下微分方程,并绘制出图像y(x).
(1)functionydot=f(x,y)
ydot=zeros(2,1);
ydot
(1)=y
(2);
ydot
(2)=2*(y
(2).^2);
t0=0;
tf=1;
x0=[0,-1];
[t,x]=ode45('
f'
[t0,tf],x0);
plot(t,x);
title('
y=f(x)'
xlabel('
y'
(2)t0=1;
tf=2;
x0=[1,0];
[t,x]=ode45('
plot(t,x);
functionxdot=f(t,x)
xdot=zeros(2,1);
xdot
(1)=x
(2);
xdot
(2)=-1./(x
(1).^3);
p87
3.在同一坐标系下绘制t2,-t2,t2sint在t[0,2pi]内的曲线图;
选择合适的“曲线线型”,“曲线颜色”、“标记符号”选项,并在图形上加注坐标轴名和图名。
closeall;
t=linspace(0,2*pi,1024);
y1=t.^2;
y2=-t.^2;
y3=(t.^2).*sin(t);
figure
(2);
plot(t,y1,'
:
t,y2,'
--g'
t,y3,'
-r'
legend('
y=t^2'
y=-t^2'
y=t^2*sin(t)'
三个函数图形'
t'
f(t)'
4.
theta=linspace(0,16*pi,2048);
subplot(2,2,1);
polar(theta,1.0013*theta.^2);
subplot(2,2,2);
polar(theta,cos(3.5*theta));
subplot(2,2,3);
polar(theta,sin(theta)./theta);
subplot(2,2,4);
polar(theta,1-(cos(7*theta)).^3);
5.ttl={'
主视图'
左视图'
俯视图'
三维图'
};
angle={[0,0],[-90,0],[090],[-37.5,30]};
4
subplot(2,2,i);
x=0:
0.01:
1;
y=0:
0.02:
2;
[x,y]=meshgrid(x,y);
z=1./sqrt((1-x.^2)+y.*2)+1./sqrt((1+x.^2)+y.^2);
mesh(x,y,z)
view(angle{i});
title(ttl{i});
6.用鼠标左键在图形窗口上取5个点,在每个点的位置处写出一个字符串来显式鼠标点的横坐标值,然后将这些点连成折线。
axis([0,5,0,5]);
holdon;
boxon;
x=[];
y=[];
gtext('
'
fori=1:
5
[x1,y1,button]=ginput
(1);
if(button~=1)
break;
end
plot(x1,y1,'
o'
x=[x,x1];
y=[y,y1];
text(x1,y1,num2str(x1));
line(x,y);
holdoff
老师:
figure
(1)
油桶
clear;
symsxyh;
w=ezplot('
x^2/(2.5^2)+(y-2)^2/4-1=0'
%绘制椭圆.
set(w,'
Color'
k'
holdon;
axis([-2.55,2.55,0,4.05]);
%设置坐标值.
set(gca,'
XTick'
[],'
XColor'
w'
%%%将坐标隐去.
YTick'
YColor'
line([0,0],[0,4],'
LineStyle'
-'
)%画出中间刻度线.
s=int(((100-25*(y-2).^2)/16).^0.5,0,h);
%用int函数求不定积分.
25
H(i)=solve(s-0.3125*i,h);
%求得各个刻度的高度.
ifmod(i,4)==0
plot([-0.3,0.3],[H(i),H(i)],'
b'
);
%每四格为一长刻度.
else
plot([-0.1,0.1],[H(i),H(i)],'
%标注长刻度分别为20,40,60,80,100,120.
text(0.4,0.86,'
20'
text(0.4,1.42,'
40'
text(0.4,1.93,'
60'
text(0.4,2.43,'
80'
text(0.35,2.97,'
100'
text(0.35,3.64,'
120'
用循环语句形成一个有20个分量的数组,满足fibonacci规则,令第K+2个元素满足a(k+2)=a(k)+a(k+1)
a
(1)=1;
a
(2)=1;
fork=1:
18
a(k+2)=a(k)+a(k+1);
a
在同一图形窗口上分成四个绘图区域,试分别绘制主视图,左视图,俯视图和默认视角的三位表面图。
ttl={'
ezmesh('
关于x,y,z的关系表达式'
[取值范围]);
1/((1-X)^2+Y^2)^0.5+1/((1+X)^2+Y^2)^0.5'
[-22]);
End
试用文字和数学公式描述下面指令要完成的计算任务roots([110-620-3])
roots为求多项式的根,其向量表达多项式的系数,对应降幂排列,那么就有本题对应求解11x^5-6x^3+2x^2-3的根。
试举例说明matlab语言中三位数组是如何定义的。
在Matlab中习惯性的会将二维数组中的第一维称为“行”第二维称为“列”,而对于三维数组的第三位则是习惯性的称为“页”。
在Matlab中将三维及三维以上的数组统称为高维数组,三维数组也是高级运算的基础。
举例如课本31页。
在程序段中插入语句A=zeros(10000,1);
能显著缩短程序运行时间。
因为插入本语句后,在循环语句前预先为变量A分配了足够的单元,循环时只需向各元素内填数,如果不插入的话则未预先定义A的大小,每次执行一次循环体便要扩充一次y的长度,增加了内部工作量。
Matlab语言的基本编程单元为复数矩阵
摄氏度转华氏度
C=input('
c='
f=32+C*1.8;
disp(sprintf('
f=%2.2f'
f));
华氏度转摄氏度
f=input('
f='
c=(f-32)/1.8;
c=%2.2f'
c));
实例二:
数据的多项式曲线拟合
例:
已知某压力传感器的标定数据见下表,p为电压值,u为电压值。
p
0.0
1.1
2.1
2.8
4.2
5.0
6.1
6.9
8.1
9.0
9.9
u
10
11
13
14
17
22
24
29
34
39
试用多项式
拟合其特性函数,求出
和
,把拟合曲线和各个标定点画在同一幅图上。
解:
将压力视为自变量,电压视为函数,编程如下:
p=[0,1.1,2.1,2.8,4.2,5,6.1,6.9,8.1,9,9.9];
u=[10,11,13,14,17,18,22,24,29,34,39];
A=polyfit(p,u,3);
a=A
(1),b=A
(2),c=A(3),d=A(4),
p1=0:
10;
u1=polyval(A,p1);
plot(p1,u1,p,u,'
)
1.如何求未保存数据(上次matlab执行了savex):
执行
loadxy
即可得到y的数据
2.画视图
P87页上
3.roots的作用
相当于求11s5+0s4-6s3+2s2+0s-3=0的根。
4.三维数组的建立
P31下
5.A=zeros(100000,1)的意义
预先定维可以节约时间。
1.求定积分
函数程序1:
函数名为jifen1.m
functiony=jifen1(x)
y=exp(pi-x)
函数程序2:
函数名为jifen2.m
functiony=jifen2(x)
y=log10(16)/(2+sin((x+1)*pi))
主程序:
y1=quad(’jifen1’,0,3.5);
y2=quad(‘jifen2’,3.5,7);
y=y1+y1
2.求解微分方程
函数程序:
函数名difen.m
functionxdot=difeq(t,x)
xdot=zeros(4,1)
xdot
(1)=x
(2)
xdot
(2)=2*x(4)+x
(1)
xdot(3)=x(4)
xdot(4)=-2*x
(2)+x(3)
t0=0;
tf=20;
x0=[1.100-1];
[t,x]=ode23('
difeq'
[t0,tf],x0)
xx=x(:
3)
yy=x(:
plot(yy,xx)
3.求采样点的幅频、相频、条形、波形图(数据y和h存储在signaldata.mat文件中)。
loadsignaldatayh
N=length(y);
t=(0:
(N-1))*h;
Y=fft(y);
f=t/h/((N-1)*h);
n=floor(length(f)/2);
subplot(2,2,1)
plot(f(1:
n),abs(Y(1:
n)))
subplot(2,2,3)
n),angle(Y(1:
n)*180/pi))
subplot(2,2,2)
hist(y,20)
subplot(2,2,4)
plot(t,y)
4.求多项式系数
P104