michael34 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба Я использую функцию Plot. Она выводит график. А у меня характеристики среды постоянно меняются и мне нужно постоянно выводить новый график. Пишу for k=1:10 %%%%%%% задание функции, которая меняется в зависимости от k %%%%%%% plot(f(k)) end; Он сначала висит, а потом рисует только последний вариано при k=10. Как решить мою проблему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба Вы хотите видеть динамическое изменение графика? Тое сть как он меняется с каждой итерацией СТИРАЯ предыдущий график? ТОгда проблема в том что комп очень быстрый ))) Он обсчитывае шгораздо быстрее чем выводит на экран. Тогда надо вставить функцию задержки (не помню какая, может sleep или wait какой нить) на тот количество времени, какое удобно. А если сразу вывести 10 графиков то надо добавить hold on после plot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ashr 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 (изменено) · Жалоба Попробуйте так: for k=1:10 %%%%%%% задание функции, которая меняется в зависимости от k %%%%%%% temp(k)=f(k); plot(temp) end; Естественно график вы увидите после всех итераций цикла. Так что может имеет смысл вынести plot вне цикла. Изменено 12 сентября, 2006 пользователем shreck Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyB 0 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба for k=1:10 hold on plot(f(k)) drawnow; end; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 12 сентября, 2006 Опубликовано 12 сентября, 2006 · Жалоба for k=1:10 hold on plot(f(k)) drawnow; end; тока без "hold on" (скорее всего вопрошающему не нужен режим наложения) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
michael34 0 13 сентября, 2006 Опубликовано 13 сентября, 2006 · Жалоба Спасибо за помощь :) Разобрался))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimka_U 0 16 сентября, 2006 Опубликовано 16 сентября, 2006 · Жалоба Я использую функцию Plot. Она выводит график. А у меня характеристики среды постоянно меняются и мне нужно постоянно выводить новый график. Пишу for k=1:10 %%%%%%% задание функции, которая меняется в зависимости от k %%%%%%% plot(f(k)) end; Он сначала висит, а потом рисует только последний вариано при k=10. Как решить мою проблему? Не совсем понятно, что значит постоянно меняются характеристики среды. Вы с каким приложением вообще то работаете, только с М-файлами? Есть такой опыт рисования. Из М-файла запускалась модель Симулинка, данные из модели сохранялись в рабочую область. Потом в другом или этом же М-файле строилась фигура и в ней в цикле рисовался график с помощью команды line(..). Скорость вывода новой точки на графике регулировалась командой pause(..). Судя по вашему примеру у вас каждый раз рисуется новый plot(f(k)). В начале можно просчитать все данные, а потом построить график, сохранив данные например в массив. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimka_U 0 16 сентября, 2006 Опубликовано 16 сентября, 2006 (изменено) · Жалоба Вообще то графика у матлаба отличная. Но вот с динамическим выводом данных от пользователя не все хорошо. В глазах рябит. Или я может чего-то не знаю. Если есть полезная информация по этому поводу, буду рад. Много дельного можно найти на http://matlab.exponenta.ru Изменено 16 сентября, 2006 пользователем Dimka_U Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VitalyM4 0 16 сентября, 2006 Опубликовано 16 сентября, 2006 · Жалоба альтернативный вариант: -------------------- plot()... pause(n); -------------------- где n- время задержки, я использую 0.5-0.3 вполне хватает. Вообще то графика у матлаба отличная. Но вот с динамическим выводом данных от пользователя не все хорошо. В глазах рябит. Или я может чего-то не знаю. Если есть полезная информация по этому поводу, буду рад. Много дельного можно найти на http://matlab.exponenta.ru Что следует понимать под динамическим выводом?? С какой частотой надо отображать информацию?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimka_U 0 21 сентября, 2006 Опубликовано 21 сентября, 2006 · Жалоба Что следует понимать под динамическим выводом?? С какой частотой надо отображать информацию?? Под динамическим выводом я понимаю следующее. График функции можно постороить сразу весь используя "плот". Данные же в матлабе сохраняются в виде массива. Так вот под динамическим выводом я понимаю вывод графика по элементно в цикле. Если график простой, то это конечно не рационально, но если что-нибудь заковыристое и это необходимо исследовать, а модель посчитана с очень маленьким шагом я делаю именно так. При этом можно регулировать скорость вывода, колличество выводимых точек и т.д. Когда выводиться новая точка у меня возникло ощущение, что матлаб как бы перерисовывает внутреннюю часть "плота", в которой выводиться график и он как бы мигает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться