Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 19.11.2014
Сообщений: 2
1

Пересечение графиков

19.11.2014, 23:20. Показов 2661. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача. Дана окружность, заданная уравнением: x^2+y^2=1, и дана прямая. Прямая задаётся по двум точкам, координаты которых вводятся с клавиатуры. При этом точки вводятся так, чтобы прямая всегда пересекала окружность, например x1=-0.5,y1=-0.5,x2=0,y2=-1. Нам нужно найти точки пересечения двух графиков и записать их координаты.
При решении задачи я столкнулся с проблемой. Чтобы найти точку пересечения я приравнял уравнения окружности и прямой, но компилятор ругается. В чём тут проблема?

Matlab M
1
2
3
4
5
6
7
8
9
10
x1=-0.5;
y1=-0.5;
x2=0;
y2=-1;
% первый случай (верхний полукруг)
x01 = fzero('x*(y2-y1)/(x2-x1)-(x1*y2-x2*y1)/(x2-x1) - sqrt(1-x.^2)',0)
y01 = x01*(y2-y1)/(x2-x1)-(x1*y2-x2*y1)/(x2-x1)
% второй случай (нижний полукруг)
x02 = fzero('x*(y2-y1)/(x2-x1)-(x1*y2-x2*y1)/(x2-x1) - sqrt(1-x.^2)',0)
y01 = x02*(y2-y1)/(x2-x1)-(x1*y2-x2*y1)/(x2-x1)
в ответ компилятор выдаёт:
FZERO cannot continue because user supplied expression ==>
x*(y4-y1)/(x4-x1)-(x1*y4-x4*y1)/(x4-x1) - sqrt(16-x.^2) failed with the error below.

Error in inline expression ==> x*(y4-y1)/(x4-x1)-(x1*y4-x4*y1)/(x4-x1) - sqrt(16-x.^2)
Undefined function or variable 'y4'.

Error in Untitled3 (line 3)
x01 = fzero('x*(y4-y1)/(x4-x1)-(x1*y4-x4*y1)/(x4-x1) - sqrt(16-x.^2)',0)

и что здесь делать ума не приложу, поиск по форуму результатов не принёс.
Надеюсь на Вашу помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2014, 23:20
Ответы с готовыми решениями:

Пересечение графиков
Есть два графика, которые были построены с помощью функции lsline, можно ли найти точку пересечения...

Как вывести пересечение графиков?
Здравствуйте, подскажите, пожалуйста, как сделать чтобы выводилось правильное значение пересечения...

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

Пересечение графиков
Нужно найти пересечение двух или более графиков (любых) и подписать точку их пересечения

1
0 / 0 / 1
Регистрация: 24.11.2014
Сообщений: 8
24.11.2014, 19:13 2
Не нужно приравнивать прямую к кругу, а нужно решить нелинейную систему из двух уравнений:

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
clear all;
syms x y
%-circle
f1=x^2+y^2-1
%-line
x1=-0.5;
y1=-0.5;
x2=0;
y2=-1;
f2=(x-x1)/(x2-x1)-(y-y1)/(y2-y1)
%-Symbolic solution of system algebraic equations f(x,y)=0
sol=solve(f1,f2)
sol.x
sol.y
%--graph
y1=solve(f1,y)
y2=solve(f2,y)
x=-1:0.1:1;
y1_gr=subs(y1);
y2_gr=subs(y2);
plot(x,y1_gr,'g',x,y2_gr,'r');grid on
0
24.11.2014, 19:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2014, 19:13
Помогаю со студенческими работами здесь

Пересечение графиков
Здравствуйте, уважаемые форумчане. Подскажите пожалуйста, как мне решить следующую задачку. Есть...

Пересечение двух графиков
Как найти координаты точек пересечения двух графиков? Синий рисуется допустим таким кодом: var...

Пересечение двух графиков
Здравствуйте, вроде простая задаче, но не могу разобраться. Надо найти точки пересечения двух...

Пересечение графиков Chart
День добрый. Подскажите пожалуйста как автоматически высчитать или узнать точку пересечения линий....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru