Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3  След.
 
:lol:

 
Аватара пользователя
Спасибо за ответ! Классный код, у меня он заменит два цикла for и цикл if...

Добавлено спустя 22 минуты 54 секунды:

Матлаб подсказал что можно написать лучше: b=sort(reshape(a,1,numel(a))); ,т.к. "NUMEL(x) is usually faster then PROD(SIZE(x))."
Все равно большое спасибо :)

 
Аватара пользователя
Kirill.Netreba писал(а):
т.к. "NUMEL(x) is usually faster then PROD(SIZE(x))."

:)
Буду знать - спасибо, хотя в данном случае это мелочь - sort() работает значительно медленее, чем PROD(SIZE(x)), поэтому на его фоне все равно, будет это PROD(SIZE(x)) или NUMEL(x)

 
K-3 писал(а):
Цитата:
пришли пример, как использовать..(если можно руководство пользования)


Например,

Код:
A = [1, 3; 3, 1];
b = [4; 4];
bicg(A, b)



Можно указать допуск tol:
Код:
bicg(A, b, tol)

итерации останавливаются, как только $\|Ax-b\|_2/\|b\|_2$ не станет меньше tol

(Пишу по памяти: MATLAB'а нет под рукой)

Есть и другие опции


)))....спасибо за ответ....
НО
1. я наверное не написал.... в такой постановке эти методы не решают (необходимо большое количество итераций и тем самым время больше чем на использование метода Гаусса) СЛАУ с плотной матрицей....
т.е. для ускорения надо использовать предобусловливание..... но как его формировать, если матрица плотная....
2. в описалке Матлаба..... сказано

Sparse Matrix...и потом следует описание методов крыловского типа.....
эти методы исторически разрабатывались для решения разреженных систем...

3. в Матлабе 7 нашел описание....и там сказано следующее
".... для решения Full system.... в матлаб включена библиотека LAPACK...""

 
Функция
Код:
bicg(A, b, tol, maxit, M)
bicg(A, b, tol, maxit, K, N, x0)

где M=K\cdot N - предобусловливатель, работает и с плотными матрицами. Но это в теории. На маленьких матрицах я проверял. Но у меня нет никакого опыта использования итерационных методов для (больших) плотных систем.

 
K-3 писал(а):
Функция
Код:
bicg(A, b, tol, maxit, M)
bicg(A, b, tol, maxit, K, N, x0)

где M=K\cdot N - предобусловливатель, работает и с плотными матрицами. Но это в теории. На маленьких матрицах я проверял. Но у меня нет никакого опыта использования итерационных методов для (больших) плотных систем.


интересно, а как вы сформируете с помощью матлаба матицы K и N...если А плотная матица?

Добавлено спустя 13 секунд:

K-3 писал(а):
Функция
Код:
bicg(A, b, tol, maxit, M)
bicg(A, b, tol, maxit, K, N, x0)

где M=K\cdot N - предобусловливатель, работает и с плотными матрицами. Но это в теории. На маленьких матрицах я проверял. Но у меня нет никакого опыта использования итерационных методов для (больших) плотных систем.


интересно, а как вы сформируете с помощью матлаба матицы K и N...если А плотная матица?

 
Цитата:
интересно, а как вы сформируете с помощью матлаба матицы K и N...если А плотная матица?


Вы имеете в виду, что нельзя воспользоваться функциями построения неполного LU-разложения?

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

 
K-3 писал(а):
Цитата:
интересно, а как вы сформируете с помощью матлаба матицы K и N...если А плотная матица?


Вы имеете в виду, что нельзя воспользоваться функциями построения неполного LU-разложения?

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

например?

 
Аватара пользователя
Умные люди, подскажите плиз какой текст в код надо вписать, чтобы при построении графика Матлаб маштабировал сетку по "x" и по "y" одинаковой.
Мне подсказали мол "axis equal". Но это не подходит. Ошибку выдает мол не знаю такой команды...
Версия Матлаба 7.2.0.232(R2006a)
Заранее спасибо :)

 
Аватара пользователя
У меня эта команда работает и 6.5, и в 7.0.

Попробуйте один-в-один:

Код:
x=0:0.01:2*pi;
y=sin(x);
plot(x,y)
axis equal


можно попробовать в лоб задать:

Код:
axis([xmin xmax ymin ymax])

 
Аватара пользователя
Наверно я как то не так объяснол, но сделай сетку и увидишь, что сетка эта не квадратная(что мне надо), а прямаугольная. По горизонтали он делает шаг 1 (0 1 2...), а по вертикали делает 0,5 (0 0,5 1 1,5...). Надеюсь меня поняли..

Добавлено спустя 6 минут 54 секунды:

хотя для этого наверно я должен обеспечить чтобы (xmax-xmin) = (ymax-ymin). ладно, буду думать :(

 
Аватара пользователя
Вы можете сами задать множество точек, где подписать.

например:

Код:
set(gca,'ytick', [-1 -0.5 0 0.1 0.2 1])


при этом у Вас по оси ординат будут отмечены и подписаны только точки [-1 -0.5 0 0.1 0.2 1]. Аналогично для оси абсцисс 'xtick' и для оси аппликат 'ztick'

 
Аватара пользователя
Большое спасибо за Все!
Если вы админ - оч хороший сайт, где всегда качественно и быстро ответят! :D

 
Аватара пользователя
Kirill.Netreba писал(а):
Большое спасибо за Все!
Если вы админ - оч хороший сайт, где всегда качественно и быстро ответят!

Удачи, админам передам

 
Аватара пользователя
Здраствуйте!
Вопрос может показать не много странным, но все же..
Конкретно: можно ли в М-файлы вставлять ссылки? Вот когда Матлаб выдает ошибку, он в командном окне дает ссылку на тот М-файл, где она обнаружена. Я вот тоже хотел бы, что бы пользователь мог по приглашению зайти в нужный М-файл для подгонки его для себя.
Это что-то типа того: "Свою формулу определения функционала вы можете написать в данном М-файле", и указана ссылка в каком именно файле надо написать все "это", что бы "все остальное" её приняло.
Если такого нет, то может можно как нить это все заменить, но что бы суть таже была..
Спасибо :)

 [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group