Колебание системы с двумя степенями свободы
Выполнила Сакевич Татьяна
Формулировка задачи
Определить частоты малых свободных колебаний и формы главных колебаний системы с двумя степенями свободы, пренебрегая силами сопротивления, массами пружин и моментами инерции скручиваемых валов.
Решение
[ Скачать курсовую работу]
Текст программы на языке JavaScript:
window.addEventListener("load", program_code, false) ;
function program_code(){ var ctx=canvas_example.getContext("2d");
var w=canvas_example.width; var l=canvas_example.height; ctx.strokeRect(0,0,w,l); function draw2() //оси { Y0=250; X0=160; ctx.strokeStyle = 'lightgrey';
ctx.beginPath(); ctx.moveTo(0, Y0); ctx.lineTo(canvas_example.width, Y0); ctx.moveTo(X0, 0); ctx.lineTo(X0, canvas_example.height); ctx.stroke(); ctx.fillStyle = 'black'; ctx.font = "20px Times"; ctx.fillText("0",163, 330); ctx.font = "italic 20px Times"; ctx.fillText("t",1150,330); ctx.fillText("x",150, 20);
} draw2(); function count() { var m1 = parseFloat(input_m1.value); var m2 = parseFloat(input_m2.value); var R= parseFloat(input_R.value); var l= parseFloat(input_l.value); var q0=parseFloat(input_q0.value); var v0= parseFloat(input_v0.value); var ix= parseFloat(input_ix.value); var c1= parseFloat(input_c1.value); var c2= parseFloat(input_c2.value); var t= parseFloat(input_t.value)
var a1=0.75*m2; var a2=m1*ix*ix;
var Q=9.8*m1*l+c1*l*l+4*c2*R*R; var P=2.45*m2/R+c2; var G=-4*c2*R;
var k1=(a1*P+a2*Q +Math.sqrt((a1*P+a2*Q)*(a1*P+a2*Q)-4*a1*a2*(Q*P-G*G)))/(2*a1*a2); var k2=(a1*P+a2*Q -Math.sqrt((a1*P+a2*Q)*(a1*P+a2*Q)-4*a1*a2*(Q*P-G*G)))/(2*a1*a2);
var A1=q0; var A2=v0/k1
dt=0.02; q=[]; q[0]=q0; n=t/dt; var T=0; for (var i=0; i<n; i++) { T+=dt;
q[i]=10*(A1*Math.sin(k1*T)+A2*Math.sin(k2*T));
}
} function draw() { ctx.strokeRect(0,0,w,l); draw2(); ctx.strokeStyle = 'black'; ctx.beginPath() for (var i=0; i<n; i++) { ctx.lineTo((i/(n-1)*w)+X0,(l-q[i]*l)/50+Y0); ctx.stroke(); } }
button_alert.onclick=function(){ ctx.clearRect(0,0,w,l); count(); draw();
}
}