Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Spartak-12
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
1

Работа с погрешностями

04.06.2013, 11:25. Просмотров 1373. Ответов 6
Метки нет (Все метки)

Траектория отклоняется от цели, преподаватель сказал, что нужно работать с погрешностями! Помогите пожалуйста!?

rigid.m
Matlab M
1
2
3
4
5
6
function dy = rigid(t,y)
dy = zeros(4,1);
dy(1) = y(2);
dy(3) = y(4);
dy(2) = (-5*y(1))/sqrt(y(1)^2+y(3)^2)^3;
dy(4) = (-5*y(3))/sqrt(y(1)^2+y(3)^2)^3;
rm.m
Matlab M
1
2
3
4
5
6
7
8
9
10
function mi = rm(fi)
global x1 y1;
global v;
vx = v*cos(fi);
vy = v*sin(fi);
options = odeset('RelTol',1e-5,'AbsTol',1e-5);
[T,Y] = ode45(@rigid,[0 1],[0 vx 1 vy],options);
r=sqrt((x1-Y(:,1)).^2.+(y1-Y(:,3)).^2);
mi=min(r);
plot(Y(:,1),Y(:,3), ' -')
main3.m
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function main
hold on;
global x1 y1;
global v;
x1=6;
y1=7.9;
v=5;
 
fi2=fminsearch(@rm, 2*pi);
axis equal
plot(x1, y1,'ro-')
 
vx = v*cos(fi2);
vy = v*sin(fi2);
options = odeset('RelTol',1e-3);
options = odeset('AbsTol',6e-6);
[T,Y] = ode45(@rigid,[0 3],[0 vx 1 vy],options);
plot(Y(:,1),Y(:,3), 'c-');
plot(0, 1,'ro-');
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 11:25
Ответы с готовыми решениями:

График с погрешностями по оси иксов
Доброго времени суток! X = ; >> Y = X.^2; >> ER = 0.5 * ones(1,10); >>...

Задача с погрешностями
Срочно нужна помощь с задачей с погрешностями. Везде искал, так и не нашел как...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и...

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу...

6
tvoretsmira
457 / 447 / 56
Регистрация: 28.05.2013
Сообщений: 699
04.06.2013, 11:38 2
Цитата Сообщение от Spartak-12 Посмотреть сообщение
options = odeset('RelTol',1e-3);
options = odeset('AbsTol',6e-6);
так вы задаёте только одну точность.

Если вы хотите задать обе точности, то надо так:
Matlab M
1
2
options = odeset('RelTol',1e-3);
options = odeset(options,'AbsTol',6e-6);
или так как вы писали в rigid.m
Matlab M
1
options = odeset('RelTol',1e-5,'AbsTol',1e-5);
А вообще надо у преподавателя спросить что он имел ввиду
1
Spartak-12
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
05.06.2013, 01:06  [ТС] 3
Вот в чем проблема: Нужно сделать чтобы траектория (голубая) проходила через точку! при этом не меняя скорость и координаты точки, только погрешности!

Работа с погрешностями


Вот я чуть изменил код:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function main
hold on;
global x1 y1;
global v;
x1=6;
y1=7.9;
v=5;
 
fi2=fminsearch(@rm, 2*pi);
axis equal
plot(x1, y1,'ro-')
 
vx = v*cos(fi2);
vy = v*sin(fi2);
options = odeset('RelTol',1e-5,'AbsTol',1e-5);
[T,Y] = ode45(@rigid,[0 3],[0 vx 1 vy],options);
plot(Y(:,1),Y(:,3), 'c-');
plot(0, 1,'ro-');
Добавлено через 1 час 53 минуты
Будь другом, помоги)
0
tvoretsmira
457 / 447 / 56
Регистрация: 28.05.2013
Сообщений: 699
05.06.2013, 01:22 4
Это ж выстрел, наверно оно так и должно вниз падать. Возьми прицелься выше
в function mi = rm(fi):
r=sqrt((x1-Y(:,1)).^2.+(y1+0.222-Y(:,3)).^2);
1
Spartak-12
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
05.06.2013, 01:29  [ТС] 5
ну вот r это как бы направление выстрела что ли?
0
tvoretsmira
457 / 447 / 56
Регистрация: 28.05.2013
Сообщений: 699
05.06.2013, 01:33 6
Я не знаю, формула для r очень похожа на формулу растояния до точки (x1,y1)
1
Spartak-12
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
05.06.2013, 01:36  [ТС] 7
проблема вся в том, что когда в main.m мы меняем координаты точки , опять мимо пролетает, а нам препод сказал, что должно для любых координат искать траекторию
0
05.06.2013, 01:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 01:36

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе,...

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в...

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru