Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 3

Создать функцию поиска точки пересечения двух прямых

01.02.2018, 11:55. Показов 3368. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function cross=(y1,y2)
y1=('A*x+B');
y2=('C*x+D');
x0=0;
x=fzero('A*x+B-(C*x+D)',x0);
End
А здесь создаю файл сценария, с вводом коэф. уравнений двух прямых, а затем сохраняю в текстовый документ, а если прямые не пересекаются, то записываю в файл с соответствующим комментарием.
fun=@icpit
A=input('A1');
B=input('B1');
C=input('A2');
D=input('B2');
x0=0;
[x]=fzero('(A*x)+B-((C*x)+D)',x0);
fid=fopen('D:\cross.txt' 'w');
fprintf(fid,'%-4,3f\t',x);
fclose(fid)
end
if(x==NaN)
fid=fopen('D:\cross.txt' 'w');
fprintf(fid,'%f',прямые не пересекаются);
fclose(fid)
end
Error using fzero (line
289)
FZERO cannot continue
because user-supplied
expression ==>
(A*x)+B-((C*x)+D) failed
with the error below.

Error in inline
expression ==>
(A*x)+B-((C*x)+D)
Undefined function or
variable 'A'.
Выдает такую ошибку. Помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.02.2018, 11:55
Ответы с готовыми решениями:

Поиск точки пересечения двух прямых
Подскажите пожалуйста. Задача у меня была такая. Есть три прямые S1, S2. S3 пересекающиеся в определенных точках в зависимости от...

Использовать функцию нахождения координат точки пересечения двух прямых и вычисления площади треугольника
Здравствуйте, необходимо решить задачу, используя функцию. Условие задачи: Три прямые на плоскости заданы уравнениями аkx+bky+ck,...

Пользователь вводит две пары вещественных чисел: k 1,b1 и k 2,b2. Составить функцию для определения точки пересечения двух прямых y=k1x+b1 и y=k2x+b2,
Пользователь вводит две пары вещественных чисел: k1,b1и k2,b2. Составить функцию для определения точки пересечения двух прямых y=k1x+b1 и...

4
 Аватар для Krasme
7244 / 5097 / 2150
Регистрация: 02.02.2014
Сообщений: 13,454
01.02.2018, 13:35
Лучший ответ Сообщение было отмечено darksky845 как решение

Решение

причешем, украсим...
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
clc; clear all; clf;
f=@(x,k1,k2) k1*x+k2;
 
A=input('A1'); B=input('B1');
C=input('A2'); D=input('B2');
 
x=-10:10;
plot(x,f(x,A,B),x,f(x,C,D)); hold on
 
x0=0;
x=fzero(@(x) f(x,A,B)-f(x,C,D),x0)
fid=fopen('D:\cross.txt', 'w');
fprintf(fid,'%-4,3f\t',x);
if isnan(x)   
    fprintf(fid,'%f','прямые не пересекаются');    
    disp('no cross')
else
    plot(x,f(x,A,B),'sr');
end
st=fclose(fid);
1
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 3
01.02.2018, 14:02  [ТС]
Спасибо большое

Добавлено через 9 минут
и все таки, есть пару вопросов,
1)почему текстовый файл пустой
2)я так понимаю это командное окно, а как изменился код функции?
0
 Аватар для Krasme
7244 / 5097 / 2150
Регистрация: 02.02.2014
Сообщений: 13,454
01.02.2018, 14:17
1. на файл я и внимания не обращала..
поправки записи в файл (фрагмент кода)
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
fid=fopen('D:\cross.txt', 'w');
fprintf(fid,'%4.3f',x);
if isnan(x)   
    fprintf(fid,'\n%s','прямые не пересекаются');    
    disp('no cross')
else
    plot(x,f(x,A,B),'sr');
end
st=fclose(fid);



2. это не командное окно, это m-функция (стандартный формат matlab). пишется в окне Editor, сохраняется в m-файл и используется многократно, удобно при отладке программы.
1
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 3
01.02.2018, 14:30  [ТС]
Спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2018, 14:30
Помогаю со студенческими работами здесь

Вычислить координаты точки пересечения двух прямых
Пытаюсь сделать лабу уже который час, но увы никак не получается. Помогите написать код, если вам не трудно. Спасибо, заранее !) ...

Нахождение точки пересечения двух прямых в пространстве
Здрасьте. Имеется два отрезка в пространстве и координаты их концов. Как найти точку пересечения этих отрезков (если она есть)...

Формула нахождения точки пересечения двух прямых
q all, need help! формула работает нормально вроде, всё окей. Но как узнать где эта точка пересечения, одного TRUE от формулы не хватит(( ...

Как определить точки пересечения двух прямых?
Не врублюсь как определить точки персечения 2 прямых заданных уравнением ax+by+c=0; 1)пересекаются в одной точке 2)параллельны 3)не...

Процедура для нахождения точки пересечения двух прямых
Составить процедуру для нахождения точки пересечения двух прямых. Найти попарно точки пересечения прямых a1x+b1y+c1=0, a2x+b2y+c2=0 и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru