快速阅读题目 点击: 2013-09-14
MATLAB大作业
贵州大学实验报告
matlab大作业相关图
49
t=0:pi/20:2*pi;[x,y]=meshgrid(t); subplot(2,2,1)
plot(sin(t),cos(t)),axis equal subplot(2,2,2),z=sin(2*x)+cos(2*y); plot(t,z),axis([0 2*pi -2 2]) subplot(2,2,3),z=sin(x).^3.*cos(y); plot(t,z),axis([0 2*pi -1 1])
subplot(2,2,4),z=(sin(x).^3)-(cos(y).^3); plot(t,z),axis([0 2*pi -1 1])
10.5
0-0.5-1
-1-0.500.5110.5
0-0.5-1
0246
21
0-1-2
0246
10.5
0-0.5-1
0246
52
t=0:pi/100:2*pi; y=cos(t);plot(t,y)
y2=sin(t);y3=2*cos(t).*sin(t); figure,plot(t,y,t,y2,t,y3)
10.8
0.60.40.20-0.2-0.4-0.6-0.8-10
1
2
3
4
5
6
7
10.8
0.60.40.20-0.2-0.4-0.6-0.8-10
1
2
3
4
5
6
7
t=linspace(0,2*pi,360);
x1=4*cos(t);y1=4*sin(t);x2=8*cos(t);y2=4*sin(t);x=-8:8;y=0.5*x; plot(x1,y1,'r-',x2,y2,'b--',x,y,'b*')
152 建模 方法1{matlab大作业与物理相关}.
>> num=[1,0];den=[1,2,10]; >> sys=tf(num,den)
Transfer function: s -------------- s^2 + 2 s + 10
>> sys.den{1} ans =
1 2 10 方法2 >> s=tf('s');
>> H=s/(s^2+2*s+10)
Transfer function: s -------------- s^2 + 2 s + 10 178时域 (1) wn=1;
zetas=[0:0.1:1,2,3,5]; t=0:0.1:12; hold on
for i=1:length(zetas)
Ge=tf(wn^2,[1,2*zetas(i)*wn,wn^2]); step(Ge,t) end
grid on,hold off
MATLAB大作业
MATLAB作业
赵伟伦 1100500121
题目:弹簧模拟
简介:本研究假设给定一个完全理想的弹簧(弹簧系数自定),用一条不会弯曲的直线表示,一端(初始时刻在上方或右方)固定一个想象中存在的人的手指上,另一端悬挂一个重力球(质量自定),用鼠标拖动手指端或者给球一个外力时,整个系统将按照一定的轨迹运动。这个轨迹的计算和仿真就是本研究的主要目的。
方法:利用物理学规律,将重力球的每一个即使时刻的受力状态描述出来,获得运行轨迹的数学函数,由函数画出球与直线运行的轨道。
也可以找一个真的弹簧和小球,实际运动的小球,每隔固定时间(0.1s)测量小球的位置,通过几个离散数据描述出小球的轨迹,用差值或拟合的方法求出轨迹曲线,再让球沿轨迹运动,从而完成任务。
个人分析:
首先我只先考虑小球是如何跟弹簧运动的,即只考虑弹簧挂重物一端的运动轨迹。弹簧先考虑理想的弹簧,即无阻尼和无其他干扰条件下的弹簧;再考虑弹簧有阻尼情况下,弹簧一端运动的情况。而对运动分析也从两个角度:离散弹簧运动端的运动轨迹,即用到物理学中的,速度、加速度与位移公式,通过递推的方法求出每一时刻小球运动的位置;考虑弹簧整个运动过程的轨迹,即通过分析弹簧运动端的受力情况,用牛顿第二定律,推出时间与小球位置的通解。
考虑离散情况:
程序内容:1、%定义小球的初始位置,颜色,形状,大小与清除方式
2、%画坐标轴
3、%定义个分量的初始值:
K为弹簧弹性系数;
m为小球的质量;
同时忽略弹簧质量;
t极小时间变量;
v0初始速度
T为时间变量
L为平衡位置
4、%读入鼠标点击点的坐标值
5、%做循环
循环分析:当鼠标点击一点后,设此点为弹簧运动端的被外力拉到此点,由于弹簧发生形变,形变记为l1,l1ll0。
弹簧会给运动端一个回到平衡位置的力,
此时的弹簧的拉力为:F拉k*l1;
此时为初始时刻,小球此时还没有用的时间运动,即初始速度=0;
记录此时小球的位置l0;(l0为小球当前的位置,即为初始读入值)
plot(l0,T);画出位移与时间关系
set(h,'xdata',l0,'ydata',0);画出若小球现实与弹簧连接后,水平位置的变化
分析小球受力情况:由于忽略阻力和其他外力,小球只受弹簧的拉力,
此时小球顺时的加速度为:aF拉k*l1 m;am
假设在极小时间内(t=0.01s)小球的为匀加速运动
经过0.01秒后,小球的速度变为v1
在这0.01秒内,小球的位移为s
0.01后小球的位置变为l0=l0+s
用v0=v1表示在下一个0.01s内,小球的初始速度为前一个0.01s运动结束是的速度。 同时考虑坐标轴的右方向为速度与加速的正方向。
h=line(3,0,'color','r','marker','.','markersize',20,'erasemode','xor');
>> axis([0,15,-1,25]);
>> hold on
grid on
T=0;
l=5;
[l0 l2]=ginput(1);
>>
s=0
>> m=1;
>> k=1;
>> t=0.01;
>> v0=0;
>> for T=0:.01:20
pause(0.01);
l1=l-l0;
a=k*l1/m;
plot(l0,T)
set(h,'xdata',l0,'ydata',0);
s=v0*t+(1/2)*a*t^2;
v0=v0+a*t;
l0=l0+s;
end
小结:此循环只考率到了小球的变化的情况,用小球在运动中前一个运动速度和位置,假设
小球在极小时间内做匀加速运动为前提,去估计下一个小球的运动速度和位置。整体是迭代法的思路。但是次情况误差较大,出现小球位置会运动的越来越远的现象。
小球与弹簧一起的情况:
与前程序相比要多出绘制弹簧模型与弹簧形状会随小球的变化而变化。
与前程相比的新语句:
1、%设立弹簧的固定位置与连接绳
2、弹簧绘制:①得到横向弹簧的横坐标;
②得到弹簧的长度,用mod(1:M)求出与弹簧长度向量一样大小的0、1向量,主要用来绘制弹簧曲折的样子。
③确定弹簧上下端点坐标并画出弹簧
3、循环体关键信息:
Dx=1+l1/5;
%:5是已知的弹簧长度l1是当前的形变量1+l1/5是弹簧变化后的长度与原长的比例 X=10-(x-5)*Dx;
%:求出变化比例之后,x-5我的理解为:原长的弹簧放到原点及其原点右边,之后进行放缩,在用10减去放缩之后的值,即得到10及其10左边弹簧放缩后的值。
close all;clear;clc;
plot([10,12],[0,0],'r','linewidth',2); % 画与弹簧连接的线
axis([-1,15,-10,35]);
hold on
rectangle('position',[12,-2,0.3,4],'FaceColor',[0.5,0.3,0.4])%设立弹簧的固定位置与连接绳 x=5:.2:10; % 得到弹簧对应的纵坐标数据{matlab大作业与物理相关}.
M=length(x); % 获取数据的长度
y=-1+mod(1:M,2)*2; % 生成弹簧的横坐标数据
y(1)=0;y(end-3:end)=0; % 计算出弹簧上下端点的横坐标值
D=plot(x,y); % 画出弹簧
c=0:0.1:2*pi; %c为向量,描述圆的角度
r=0.3;%小球半径
t1=r*cos(c);
t2=r*sin(c);
F1=fill(5+t1,t2,'r');%绘制小球{matlab大作业与物理相关}.
grid on
u=0;
T=0;
l=5;%平衡位置不是弹簧长度
[l0 l2]=ginput(1);%在坐标上取值
>>
s=0
>> m=1;
>> k=1;
>> t=0.01;
>> v0=0;
>> for T=0:.01:20
pause(0.0001);
l1=l-l0;
plot(l0,T)
Dx=1+l1/5;
X=10-(x-5)*Dx;
Xf=X(end)+t1;
set(D,'xdata',X);%绘制变化的弹簧
set(F1,'xdata',Xf,'facecolor',rand(1,3)); %绘制小球
a=k*l1/m;
s=v0*t+(1/2)*a*t^2;
v0=v0+a*t;
l0=l0+s;
end
小结:一样有数据发散的问题,无法减小误差。
考虑通过解小球运动轨迹方程得到小球的位置与时间轨迹:
分析小球在变化过程中受力情况:
当为理想弹簧情况下,小球只收弹簧的拉力,
即:
小球收到的力为:
Fk*l1
与之前不同在于此时的l1等于取值的横坐标减去平衡位
置的横坐标。
2Fa*m且ax t2
即加速即为单位时间的位移的2阶导
用xn表示位移;Dxn(0)=0,表示初始的速度;
xn(0)=l1-l0(其中l0表示平衡位置
l1为所取点的横坐标)
用:xn=dsolve('m*D2xn=-k*xn','Dxn(0)=0,xn(0)=l1-l0','t'),解出位移与时间的通解为xn
clear
clc
rectangle('position',[18,.5,0.3,1],'facecolor',[0.5,0.3,0.4]); axis([0,20,-1,20]);
hold on
grid on
plot([17,18],[1,1],'r','linewidth',2);
x=10:0.2:17;
M=length(x);
y=0.5+mod(1:M,2);
y(1)=1;
y(end-3:end)=1;
tanhuang=plot(x,y);
c=0:.1:2*pi;
r=0.35;
t1=r*sin(c);
t2=r*cos(c);
xiaoqiu=fill(10+t2,1+t1,'r');
set(gca,'xtick',[0:2:20]);
%set(gca,'xticklabels',num2str([-5:5]'));
plot([10,10],[-1,10],'black');
Q=plot(10,10,'color','r');
set(gcf,'doublebuffer','on'); %启动双缓存,设置渲染效果 m=1; %质量
k=10; %弹性系数
u=0.2; %摩擦系数
l0=10; %平衡位置
[l1,l]=ginput(1)%取点
xn=dsolve('m*D2xn=-k*xn','Dxn(0)=0,xn(0)=l1-l0','t') for t=0:0.01:20
x_n=eval(xn);
Dx=(7-x_n)/7;
X=17-(x-10)*Dx;
Xf=X(end)+t2;
plot(X(end),t)
set(tanhuang,'xdata',X);
set(xiaoqiu,'xdata',Xf);
set(Q,'xdata',X(end),'ydata',10-t) ;
pause(0.002);
end
再考虑弹簧有阻尼的情况:
matlab大作业
《数学实验》报告
实验名称 数学实验 学 院 材料科学与工程学院 专业班级 材料1303班 姓 名 张冬冬、汤双喜 学 号 41330071
2015年 5月
一、 【实验目的】
了解PN结的特性,并使用PN结测玻尔兹曼常数。 二、 【实验任务】
1.推导理想PN结正向电流IF、压降VF、温度T的关系式; 2.利用公式测出玻尔兹曼常数k; 3. 画出压降VF-温度T-正向电流IF图像; 3.预测给定的正向电流及温度对应的压降值。 三、 【实验内容】
1.经理论推导,可得
r
lnTlnTVF=Vg(0) (1) qIFq
kCkT
整理得VF
kT
lnIFq
kTkTrV0lnClnTg (2) qq
经实验得测量结果:
相关参数T=19.9℃=293.05K,IF=50μA=5×10-5A,VF=0.589V,q=e=1.6×10-19,硅管Vg(0)=1.21V,r取3.4。 2.拟合实验程序: clear
2
clc
If=10:20:90; x=log(If)
Vf=[0.548,0.576,0.589,0.598,0.604] p1=polyfit(x,Vf,1);
disp('一次拟合函数'),f1=poly2str(p1,'x') x1=2:0.01:5; y1=polyval(p1,x1); plot(x,Vf,'kp',x1,y1,'r-') title('Vf-拟合曲线'); xlabel('ln(If)'),ylabel('Vf');
由结果得kT/q= 25.5623,代入数据解得k=1.3975×10-23J/K。 与标准值1.3807×10-23相比相对误差为1.22%。
对比(2)式可得y轴截距489.1142×10-3V= VkTg0lnCkTlnTrqq
C=7244.26mA。 3.画二维图像实验程序: clear clc
q=1.6022.*10.^-19,Vg=1.21,r=3.4,C=7.244,k=1.3807.*10.^-23; x=10:1:90; y=290:1:350;{matlab大作业与物理相关}.
3
,解得
[X,Y]=meshgrid(x,y);
Z1=Vg-(k./q.*log(C./X)).*Y-k./q.*Y.*r.*log(Y); figure(1) mesh(X,Y,Z1);
xlabel('If'),ylabel('T'),zlabel('Vf'), title('Vf-T-If关系') 4.预测程序 clear clc
q=1.6022.*10.^-19,Vg=1.21,r=3.4,C=7.244,k=1.3807.*10.^-23; Y=input('T=(0<T)'), X=input('If='),
Z1=Vg-(k./q.*log(C./X)).*Y-k./q.*Y.*r.*log(Y) 四、 【实验结果】
1. VF=Vg(0) klnCTkTlnTr
qI Fq整理得VkT
F
lnIkTkTq
FVg0qlnCrqlnT
2.
x =
2.3026 3.4012 3.9120 4.2485 4.4998 Vf =
0.5480 0.5760 0.5890 0.5980 0.6040
一次拟合函数
4
1)2) ( (
f1 =
0.025562 x + 0.48911
3.
5
MATLAB大作业
偏置直动滚子推杆盘形凸轮机构设计
推程运动规律:余弦加速度运动 回程运动规律:正弦加速度运动
凸轮机构的推杆在近休,推程,远休及回程段的凸轮转角
偏置直动滚子推杆盘形凸轮机构已知参数
推杆运动规律 1)推程
运动规律:余弦加速度运动
推程运动方程式:s = h[1 - cos(πδ/δ0)]/ 2,
v = πhωsin(πδ/δ0)/( 2δ0), a = π2hω2cos(πδ/δ0)/( 2δ02)
2)回程
运动规律:正弦加速度运动 回程运动方程式:
s = h [1-(δ/δ0’)+sin(2πδ/δ0’)/(2π)
v = hω [cos(2πδ/δ0’-1)]/δ0’ a = -2πhω2sin(2πδ/δ0’)/(δ0’2) 滚子中心坐标:
其中 实际轮廓曲线坐标: 其中
计算压力角:
计算曲率半径:
x=(s+s0)sinδ+ecosδ
y=(s+s0)cosδ-ecosδ
s0= r0