close

Вход

Забыли?

вход по аккаунту

?

Otchet l r 1 (2)

код для вставкиСкачать
Донецкий национальный университет
Физико-технический факультет
Кафедра нанофизики
ОТЧЕТ
По лабораторной работе № 1
Студентки_____курса группы НФ_(Спец.)_ ____________________
Преподаватель
Головчан А.В.
Донецк, 2013
Содержание
Часть I. Фигуры Лиссажу _________________________________________ 3
Часть II. Тело под углом к горизонту _______________________________ 4
Часть III. Тело на заданное расстояние _____________________________ 5
Часть IV. Метод деления отрезка пополам [Дихотомия] ____ __________ 6
Часть V. Метод хорд ____________________________________________ 7
Вывод _________________________________________________________ 9
Часть I. Фигуры Лиссажу
clear all
t0=19;
t1=24;
a=27;
b=15;
v0=90;
g=10;
t=0:0.001:3.2;
x=t0*cos(a*t);
y=t1*cos(b*t+v0);
plot(x,y);
Часть II. Тело под углом к горизонту
clear all
V0=5;
alpha=pi/3;
x0=0;
y0=0;
g=9.81;
dt=0.001;
i=1;
x(1)=x0;
y(1)=y0;
X(1)=5;
Y(1)=0;
V=100;
b=0.001;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
i=1;
while Y(i)>=0
V(i)=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V(i)*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V(i)*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
plot(X,Y);
Часть III. Тело на заданное расстояние
clear all
V0=5.0;
alpha=pi/3;
x0=0;
y0=0;
g=9.81;
dt=0.01;
i=1;
X(1)=x0;
Y(1)=y0;
V=100;
b=0.001;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
i=1;
while Y(i)>=0
V=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
plot(X,Y);
ai=0:pi/20:pi/2;
for i=1:length(ai);
Li(i)=nadin(ai(i));
end;
function [ Lout ] = nadin( alpha )
global x0;
global y0;
global g;
global b;
global dt;
global V0;
i=1;
X(1)=x0;
Y(1)=y0;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
while Y(i)>=0
V(i)=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V(i)*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V(i)*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
Lout=X(i);
end
Часть IV. Метод деления отрезка пополам [Дихотомия]
clear all
global x0;
global y0;
global g;
global b;
global dt;
global V0;
L0=2;
V0=5.0;
alpha=pi/3;
x0=0;
y0=0;
g=9.81;
dt=0.01;
i=1;
X(1)=x0;
Y(1)=y0;
V=100;
b=0.001;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
i=1;
while Y(i)>=0
V=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
plot(X,Y);
ai=0:pi/20:pi/2;
for i=1:length(ai);
Li(i)=nadin(ai(i));
end;
figure(2);
plot(ai,Li);
a0=0;
La=nadin(a0);
b0=0.9;
Lb=nadin(b0);
eps=1e-5;
while((b0-a0)*((a0)/a0-b0)>eps) aa=(b0-a0)*((a0)/a0-b0);
Lx=nadin(aa);
if((Lb-L0)*(Lx-L0)<0)
a0=aa;
La=Lx;
else
b0=aa;
Lb=Lx;
end
end
nadin(alpha)-L0;
function [ Lout ] = nadin( alpha )
global x0;
global y0;
global g;
global b;
global dt;
global V0;
i=1;
X(1)=x0;
Y(1)=y0;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
while Y(i)>=0
V(i)=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V(i)*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V(i)*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
Lout=X(i);
end
Часть V. Метод хорд
clear all
global x0;
global y0;
global g;
global b;
global dt;
global V0;
global flag;
flag=0;
L0=2;
V0=5.0;
alpha=pi/3;
x0=0;
y0=0;
g=9.81;
dt=0.0001;
i=1;
X(1)=x0;
Y(1)=y0;
V=100;
b=0.001;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
i=1;
while Y(i)>=0
V=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
plot(X,Y);
ai=0:pi/20:pi/2;
for i=1:length(ai);
Li(i)=nadin(ai(i));
end;
figure(2);
plot(ai,Li);
a0=0.0;
La=nadin(a0);
b0=1.0;
Lb=nadin(b0);
eps=1e-3;
Lx=Lb; while abs(Lx-L0)>eps h=a0-(La-L0)*(b0-a0)/(Lb-La)
Lx=nadin(h)
if((Lb-L0)*(Lx-L0)<0)
a0=h;
La=Lx;
else
b0=h;
Lb=Lx;
end
end
flag=1;
Lx=nadin(h)
function [ Lout ] = nadin( alpha )
global x0;
global y0;
global g;
global b;
global dt;
global V0;
global flag;
i=1;
X(1)=x0;
Y(1)=y0;
Vx(1)=V0*cos(alpha);
Vy(1)=V0*sin(alpha);
while Y(i)>=0
V(i)=sqrt(Vx(i)^2+Vy(i)^2);
Vx(i+1)=Vx(i)-b*V(i)*Vx(i)*dt;
Vy(i+1)=Vy(i)-g*dt-b*V(i)*Vy(i)*dt;
X(i+1)=X(i)+Vx(i)*dt;
Y(i+1)=Y(i)+Vy(i)*dt;
i=i+1;
end;
Lout=X(i);
if(flag==1)
figure(3);
plot(X,Y);
end
end
Вывод
В ходе выполнения данной лабораторной работы был рассмотрен и визуализирован ряд задач в рамках пакета MatLAB, таких как :
* Фигуры Лиссажу
* Тело под углом к горизонту
* Тело на заданное расстояние
* Метод деления отрезка пополам (Дихотомия)
* Метод хорд
Документ
Категория
Без категории
Просмотров
11
Размер файла
1 195 Кб
Теги
otchet
1/--страниц
Пожаловаться на содержимое документа