Пересечение окружности и прямой

Пересечение окружности и прямой - проблема с выражением в roots() - Messages

#1 Posted: 11/25/2012 5:42:17 PM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

Попробовал реализовать пример решения системы уравнений, не выходит каменный цветок.

[LIVE width=402 height=395]http://smath.info/live/?file=4147[/LIVE]

Может кто уже рассматривал подобное?
Пересечение окружности и прямой.sm (6 KiB) downloaded 32 time(s).
#2 Posted: 11/25/2012 6:23:20 PM
Fridel Selitsky

Fridel Selitsky

256 likes in 225 posts.

Group: Moderator

Я пользуюсь такой программой:
Пересечение окружности и прямой1.sm (11 KiB) downloaded 29 time(s).
Метод расчета рычажных механизмов : http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
#3 Posted: 11/25/2012 6:37:51 PM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

Спасибо большое.
Тут загвоздка в том, что детям хотел пример по roots() показать, честно (спёртый) переделанный из Mathcad'а, т.е. цель не решить любым способом, а именно с помощью roots...
Эх, возьму какую нибудь синусоиду.. А на ваш пример можно ссылаться, как пример программирования.
#4 Posted: 11/25/2012 8:37:43 PM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

Получилось.
Было непреодолимое сочетание исходных значений для алгоритма поиска корней.
Причём глючило довольно большое количество комбинаций наклона прямой и начальных приближений.


Пересечение окружности и прямой2.png
#5 Posted: 11/26/2012 10:32:59 AM
Медведев Виктор

Медведев Виктор

13 likes in 157 posts.

Group: User

Wrote

Получилось.


Получилось относительно. Ведь и самая первая система тоже имеет решение. А подбирать коэффициенты для того, чтобы продемонстрировать работу функции в частном случае... Ведь должна же работать для любой задачи.
#6 Posted: 11/26/2012 11:59:15 AM
zhuk

zhuk

13 likes in 120 posts.

Group: User

главное велик ездит. криво, правда, и колеса квадратные, но ездит же!
неофициальный справочник https://sites.google.com/site/mikkhalichlab/home jabber конференция smath@conference.jabber.ru
#7 Posted: 11/26/2012 1:07:02 PM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

Wrote


Получилось относительно. Ведь и самая первая система тоже имеет решение.


Имеет конечно, переделываю методичку по Mathcad, там всё решалось. Уровень пользователей - самый начальный. Но я не могу исправить SMath, так и выбрать другой пакет.

Смолёт летит, по факту летит, потому что никто из посторонних не знает, куда он должен лететь, а в это время происходит отделка кабины, замена двигателей, электроники, создание оружия.... так работает free-soft

Надеюсь Андрей обратит внимание на этот глюк roots().

А из комментариев меня интересуют конкретные предложения. Наверняка я недостаточно разобрался с пакетом, с августа, когда есть время, пробую что-то в нём делать.

Кроме того, демонстрация возможностей - это одно, а реальные задачи - совсем другое. Сейчас моя задача в том, чтобы показать, что работает, заинтересовать. Используя инструмент, человек учится обходить его недостатки или превращать в достоинства.


Тут возник другой вопрос - как СОЗДАТЬ массив функциями augment и stack В ЦИКЛЕ?
Просто создать - просто M := stack(x1;x2;x3;x4;x5)
а вот M := stack(M;(x1;x2;x3;x4;x5)), когда перед циклом M не определён...
Это в цикле пытаюсь сделать массив точек графика (в некоторых случаях может быть пуст)
Было бы классно, если бы использование в этих операторах неопределенного ранее массива воспринималось как соответствие любому, далее идущему размеру с созданием первой строки/столбца.
Пока выкрутился присваиванием значений поэлементно, но мне кажется. есть более красивое однострочное решение.
Кроме того, я пока не знаю как проверить в программе, что массив пуст без генерации ошибки, т.е. не определён.

Очень жаль, что stack не добавляет в алгебраическую систему строку, это дало бы возможность автоматически формировать набор графиков в цикле в зависимости от их количества.
#8 Posted: 11/26/2012 7:24:31 PM
Mike Kaganski

Mike Kaganski

184 likes in 434 posts.

Group: User

Wrote

Кроме того, я пока не знаю как проверить в программе, что массив пуст без генерации ошибки, т.е. не определён.


[MATH]if(IsDefined(M);length(M)>0;0)[/MATH]
Wrote

Очень жаль, что stack не добавляет в алгебраическую систему строку, это дало бы возможность автоматически формировать набор графиков в цикле в зависимости от их количества.


http://ru.smath.info/forum/yaf_postsm8230_Itieratsionnyie-vychislieniia.aspx#post8230
Wrote


[MATH]v:sys(0;1;1)[/MATH]

[MATH]for(i;range(1;10);el(v;i):i)[/MATH]

[MATH lang=ENG]v=sys(1,2,3,4,5,6,7,8,9,10,10,1)[/MATH]



И зря Вы так про бесплатное ПО. В смысле, оно, конечно, так, но это относится к любому ПО, только для коммерческого больше красивых обёрток, поэтому кривости часто сглажены. Посмотрите на комментарии Валерия Фёдоровича, чуть ли не через раз встречается что-то типа "такая же проблема была в MathCAD версии 13, в версии Prime это исправлено". Ну и ничего, летит же?
С уважением, Михаил Каганский
#9 Posted: 11/27/2012 10:10:26 AM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

Wrote


[MATH]if(IsDefined(M);length(M)>0;0)[/MATH]

http://ru.smath.info/forum/yaf_postsm8230_Itieratsionnyie-vychislieniia.aspx#post8230

Wrote


[MATH]v:sys(0;1;1)[/MATH]
[MATH]for(i;range(1;10);el(v;i):i)[/MATH]
[MATH lang=ENG]v=sys(1,2,3,4,5,6,7,8,9,10,10,1)[/MATH]



И зря Вы так про бесплатное ПО. В смысле, оно, конечно, так, но это относится к любому ПО, только для коммерческого больше красивых обёрток, поэтому кривости часто сглажены. Посмотрите на комментарии Валерия Фёдоровича, чуть ли не через раз встречается что-то типа "такая же проблема была в MathCAD версии 13, в версии Prime это исправлено". Ну и ничего, летит же?



Спасибо за ссылки и фрагменты!

А про free-soft я как раз с комплиментом - работает, глюки исправляются. Это просто здорово, что есть возможность как пользоваться, так и помогать в разработке. К разработчикам платного софта не так просто и достучаться.
#10 Posted: 11/27/2012 10:20:13 AM
Медведев Виктор

Медведев Виктор

13 likes in 157 posts.

Group: User

Wrote


Wrote

Очень жаль, что stack не добавляет в алгебраическую систему строку, это дало бы возможность автоматически формировать набор графиков в цикле в зависимости от их количества.


http://ru.smath.info/forum/yaf_postsm8230_Itieratsionnyie-vychislieniia.aspx#post8230
Wrote


[MATH]v:sys(0;1;1)[/MATH]

[MATH]for(i;range(1;10);el(v;i):i)[/MATH]

[MATH lang=ENG]v=sys(1,2,3,4,5,6,7,8,9,10,10,1)[/MATH]





Присоединяюсь к предыдущему товарищу и хочу внести свои пять копеек (см. рисунок)

Безымянный.png
#11 Posted: 11/28/2012 3:27:18 PM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

Спасибо, понятно.
А матрицу СОЗДАТЬ нельзя внутри цикла со stack? чтобы не делать большой блок присвоений перед циклом для первой строки..



Из этого получилось вот что (базовый уровень):
1. Поиск экстремума методом перебора значений (демонстрация операторов цикла и условия)
2. Поиск экстремума аналитическим методом (демонстрация символьных вычислений, solve и работы с системой уравнений)
Экстремумы 2.sm (14 KiB) downloaded 24 time(s).
#12 Posted: 11/28/2012 5:53:09 PM
Mike Kaganski

Mike Kaganski

184 likes in 434 posts.

Group: User

Wrote

А матрицу СОЗДАТЬ нельзя внутри цикла со stack? чтобы не делать большой блок присвоений перед циклом для первой строки..


Честно сказать, настойчивое желание заставить любую функцию работать в неких крайних условиях именно так, как хочется в отдельно взятом случае, абсолютно непродуктивно. Вам в Вашем случае это удобно, причём по не очень убедительной причине: чтобы не писать лишние строчки. А у кого-то из-за такого функционала в реально сложном алгоритме появятся неочевидные ошибки, которые связаны с неявными действиями программы: раньше они были бы просто выявлены, а так всё будет работать, но выдавать некорректные результаты.

Вот как выглядит "большой блок присвоений перед циклом":

[MATH lang=ENG]M:matrix(0,5)[/MATH]

[MATH lang=ENG]for(k,range(1,3),M:stack(M,mat(k,k*2,k*3,k*4,k*5,1,5)))[/MATH]

[MATH lang=ENG]M=mat(1,2,3,4,5,2,4,6,8,10,3,6,9,12,15,3,5)[/MATH]
С уважением, Михаил Каганский
#13 Posted: 11/28/2012 6:20:09 PM
Rubidy

Rubidy

1 likes in 32 posts.

Group: User

О! т.е. можно указать реальное количество столбцов и ноль строк! то, что надо! Великолепно!
Экстремумы 2a.sm (14 KiB) downloaded 33 time(s).
  • New Posts New Posts
  • No New Posts No New Posts