|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
||||||||
Построение графика по трем точкам31.01.2013, 19:59. Показов 9720. Ответов 21
Метки нет (Все метки)
Коллеги, добрый вечер.
Просьба подсказать. Есть файл с данными вида:
Кликните здесь для просмотра всего текста
Файл 1:
1 1 .. 2 Файл 2: 1 2 3 4 .. 4 Файл 3: 5 7 5 .. 7 Можно любой сделать. Нужно построить 3х-мерный график (X,Y,Z) plot3(x,y,z) рисует проволочный график, неинформативно. Хотелось бы нарисовать красивый, как поверхность. Где высокие значения - это красный цвет, низкие - зеленый. Или наоборот. Как это сделать? Привел x,y,z к матрицам и теперь при вызове surf(x,y,z) вижу:
0
|
||||||||
| 31.01.2013, 19:59 | |
|
Ответы с готовыми решениями:
21
Построение поверхности по трем точкам Построение параболы по трем точкам Построение 3д графика по 3 точкам и матрице |
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
|
| 31.01.2013, 20:18 [ТС] | |
|
Вот пример данных.
RTS1 - это в 1 файле 3 столбца. RTS3 - это 3 файла по одному столбцу.
0
|
|
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
||||||
| 31.01.2013, 20:36 [ТС] | ||||||
|
Пробовал:
Как в этой теме Построение поверхности по трем точкам Получается неверно. Пробовал:
0
|
||||||
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
|
| 31.01.2013, 20:45 [ТС] | |
|
Вот если на 2д. Должно быть аналогично в 3д:
0
|
|
|
|
||||||
| 01.02.2013, 10:49 | ||||||
|
Надо было глянуть еще здесь: Построить трехмерный график по точкам
Там в конце как раз я и предложил алгоритм преобразования трехстолбцовой матрицы (первый файл) в нужный формат. В данном случае получим:
1
|
||||||
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
|
| 01.02.2013, 11:12 [ТС] | |
|
Большое спасибо!
![]() Добавлено через 14 минут Коллега, пара вопросов по коду: fst_y = find(Y == Y(1)); - "ind = find(X) locates all nonzero elements of array X, and returns the linear indices of those elements in vector ind." - подскажите, а зачем искать эти линейные индексы, не совсем понимаю. Что-то связано с необычным хранением данных в матлабе? len_y = fst_y(2)-1 - Из числа линейных индексов вычитаем 1? Зачем? Не понял. Y = Y(1:len_y); - это сформировали массив y - просто с 1 до конца массива? X = X(fst_y+1); - не понял, почему +1 ![]() Заранее спасибо!
0
|
|
|
|
|
| 01.02.2013, 12:01 | |
|
Дружочек, для начала вспомни структуру трехстолбцовой матрицы:
Теперь смотри второй столбец (Y). Строка fst_y = find(Y == Y(1)); находит номера позиций, где значения Y равны первому значению, т.е. начинают повторяться. Первым элементом массива fst_y будет 1, второй fst_y(2) - номер элемента где Y опять будет равен Y(1), а вот длинна неповторяющихся позиций Y равна как раз таки: len_y = fst_y(2) - 1; Y = Y(1:len_y); - берем из столбика Y первые неповторяющиеся значения и сохраняем все это опять таки в Y ![]() X = X(fst_y+1) - поидее можно было без прибавления 1
1
|
|
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 15
|
|
| 20.02.2013, 13:35 | |
|
А не подскажете, почему у меня после выполнения кода, представленного выше, матлаб выдает ошибку: "Attempted to access fst_y(2); index out of bounds because numel(fst_y)=1." ?
0
|
|
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
|
| 20.02.2013, 13:36 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 15
|
|
| 20.02.2013, 17:23 | |
|
А как представить данные в нужной форме? У меня они в экселе, сведены в таблицу из трех столбцов.
0
|
|
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
|
| 20.02.2013, 17:47 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 15
|
|
| 26.02.2013, 11:36 | |
|
Да я тоже такие файлы использую, но выдает вот ту ошибку. Там какие-то конкретные требования есть к файлу?
0
|
|
|
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 20
|
|
| 26.02.2013, 11:41 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 15
|
|
| 26.02.2013, 14:02 | |
|
так давно выложил..
Зосима, не притворяйся как будто не видел мою другую тему ![]() построение поверхности прямая ссылка - файл
0
|
|
|
|
||||||
| 26.02.2013, 14:44 | ||||||
|
n6, забыл...
![]() * ошибочка вышла * Тьфу ты! Файлы с одинаковыми именами нарисовал старый А в твоем случае ситуация хитрее: X - имеет всего одно значение! о какой поверхности может идти рэчь? ![]() Вот, держи кривульку в пространстве
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 15
|
|
| 26.02.2013, 15:00 | |
|
Спасибо) Но это не полный файл. В итоге Х у меня будет равен 1,2,4 и т.д., и для каждого значения будет похожее множество значений в других столбцах. Значит, проблема в том, что здесь одинаковые значения Х? ОК, попробую дополнить файл и построить поверхность.
0
|
|
|
|
||||||
| 26.02.2013, 15:03 | ||||||
|
Кроме того, эту кривульку можно скопировать вдоль оси Х и тогда можно получить, нечто похожее на поверхность
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 15
|
||
| 26.02.2013, 15:25 | ||
|
Спасибо! Пригодится. Но все же хотелось бы разобраться с поверхностью.
Добавляю другие значения Х, матлаб выдает ошибку:
0
|
||
|
|
|||
| 26.02.2013, 15:49 | |||
![]()
0
|
|||
| 26.02.2013, 15:49 | |
|
Помогаю со студенческими работами здесь
20
Построение трёхмерного графика по точкам Построение 3d графика в Matlab по трём массивам Построение графика по трем переменным в матлаб Трехмерный график по трем точкам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
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 с разными данными.
|