Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Lisp количество всех вершин данного дерева заданной высоты https://www.cyberforum.ru/ lisp/ thread1692993.html
Определите функцию, подсчитывающую количество всех вершин данного дерева заданной высоты. Как это сделать?
Функция, вычисляющая расстояние между городами Lisp
Предположим, что у имени города есть свойства х и у, которые содержат коор- динаты места нахождения города относительно некоторого начала координат. Напишите функцию (РАССТОЯНИЕ a b), вычисляющую расстояние между го- родами а и b. Как это сделать?
Lisp Опpеделите функционал, аналогичный предикату MAPLIST для одноуровнего списка Опpеделите функционал, аналогичный предикату MAPLIST для одноуровнего списка. (Используйте применяющий функционал FUNCALL). https://www.cyberforum.ru/ lisp/ thread1692954.html Lisp Опpеделите функцию, возвращающую объединение двух множеств https://www.cyberforum.ru/ lisp/ thread1692953.html
Опpеделите функцию, возвращающую объединение двух множеств.
Lisp Опpеделите пpедикат, проверяющий являются ли два множества пересекающимися
Опpеделите пpедикат, проверяющий являются ли два множества пересекающимися.
Lisp Произведение первых двух атомов подсписка https://www.cyberforum.ru/ lisp/ thread1692413.html
Помогите пожалуйста! Сижу на зачёте - горю! Нужна программа, которая находит произведение первых двух атомов подсписка
Lisp РебенокЛевый Родитель РебенокПравый Дано S-выражение, представляющее дерево вида «(РебенокЛевый Родитель РебенокПравый)» с числами в качестве вершин, причём дерево упорядочено по возрастанию. Определить функцию, изменяющую направление упорядочивания этого дерева. Например: если дано "(((nil 1 nil) 5 (nil 7 nil)) 10 (nil 15 (nil 16 nil)))", ответом будет "(((nil 16 nil) 15 nil) 10 ((nil 7 nil) 5 (nil 1 nil)))". Спасибо! https://www.cyberforum.ru/ lisp/ thread1692250.html Функция поиска в а-списке L точечной пары, соответствующей ключу k Lisp
Напишите функцию от двух аргументов (аналог встроенной функции assoc(l, k)), которая в а-списке l ищет точечную пару, соответствующую ключу k.
Lisp Помогите написать с помощью условной формы COND функцию AND4(x1 x2 x3 x4) https://www.cyberforum.ru/ lisp/ thread1691619.html
Помогите написать с помощью условной формы COND функцию AND4(x1 x2 x3 x4).
Lisp Помогите написать предикат от аргумента-списка, определяющий наличие четных элементов в шестиэлементном число Помогите написать предикат от аргумента-списка, определяющий наличие четных элементов в шестиэлементном числовом списке. https://www.cyberforum.ru/ lisp/ thread1691618.html
Помогите определить функцию CONS3 от трех аргументов-атомов Lisp
Помогите определить функцию CONS3 от трех аргументов-атомов, которая строит список из первого и последнего и делает его хвостом второго.
Lisp Вывести элементы 1го списка, не содержащего эл-ты остальных списков https://www.cyberforum.ru/ lisp/ thread1691551.html
Всем привет! Задача в следующем: задается n - ое количество списков, нужно вывести 1 - ый список таким, чтобы он не содержал элементы остальных списков. У меня сделано для строго фиксированного количества списков, а мне нужно, чтобы количество было произвольным. Заранее спасибо! (defun SR (SP1 SP2 SP3) (setq SP ())(foreach EL1 SP1 (if (and (not (member EL1 SP2)) (not (member EL1 SP3)))...
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
25.03.2016, 15:15 0

Метод Крамера или метод Гаусса. Реализация - Lisp - Ответ 8931415

25.03.2016, 15:15. Показов 5754. Ответов 3
Метки (Все метки)

Ответ

Весь код из предыдущего сообщения:
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
(defpackage #:gauss
  (:use #:cl)
  (:export #:row-echelon
           #:reduced-row-echelon
           #:row-dimension
           #:column-dimension
           #:switch-rows
           #:multiply-row
           #:add-row))
 
(in-package #:gauss)
 
(declaim (inline row-dimension column-dimension))
 
(defun row-dimension (a)
  "Return the number of rows of a matrix A."
  (array-dimension a 0))
 
(defun column-dimension (a)
  "Return the number of columns of a matrix A."
  (array-dimension a 1))
 
(defun switch-rows (a i j)
  "Destructively swap rows I and J of a matrix A, return A."
  (dotimes (k (column-dimension a) a)
    (psetf (aref a i k) (aref a j k)
           (aref a j k) (aref a i k))))
 
(defun multiply-row (a i alpha)
  "Destructively multiply the Ith row of A by alpha, return A."
  (dotimes (k (column-dimension a) a)
    (setf (aref a i k) (* (aref a i k) alpha))))
 
(defun add-row (a i j alpha)
  "Destructively add to Ith row of A its Jth row multiplied by alpha, return A."
  (dotimes (k (column-dimension a) a)
    (incf (aref a i k) (* (aref a j k) alpha))))
 
(defun eliminate-column-below (a i j)
  "Assuming that a[i,j] is nonzero, eliminate nonzero entries below a[i,j]; return a."
  (loop for k from (+ i 1) below (array-dimension a 0)
        do (add-row a k i (- (/ (aref a k j) (aref a i j))))
        finally (return a))) 
 
(defun eliminate-column-above (a i j)
  "Assuming that a[i,j] is nonzero, destructively eliminate nonzero entries above a[i,j]; return a."
  (loop for k below i
        do (add-row a k i (- (/ (aref a k j) (aref a i j))))
        finally (return a))) 
 
(defun find-pivot-row (a i j)
  "Return the first row number starting from i having a nonzero entry in the jth column, or nil if it does not exist."
  (loop for k from i below (row-dimension a)
        unless (zerop (aref a k j))
          do (return k)
        finally (return nil))) 
 
(defun find-pivot-column (a i j)
  "Return the first column number starting from i having a nonzero entry in the ith row, or nil if it does not exist."
  (loop for k from j below (column-dimension a)
        unless (zerop (aref a i k))
          do (return k)
        finally (return nil))) 
 
(defun row-echelon (a)
  "Compute the row echelon form in-place without multiplying rows by numbers; return a."
  (loop with row-dimension = (row-dimension a)
        with column-dimension = (column-dimension a)
        with current-row = 0
        with current-col = 0
        while (and (< current-row row-dimension)
                   (< current-col column-dimension))
        for pivot-row = (find-pivot-row a current-row current-col)
        do (when pivot-row
             (unless (= pivot-row current-row)
               (switch-rows a pivot-row current-row))
             (eliminate-column-below a current-row current-col)
             (incf current-row))
        do (incf current-col)
        finally (return a))) 
 
(defun reduce-row-echelon (a)
  "Assuming that a has the row echelon form, compute the reduced row echelon form in-place without multiplying rows by numbers; return a."
  (loop for i below (row-dimension a)
        for j = (find-pivot-column a i 0) then (find-pivot-column a i j)
        while j
        unless (= 1 (aref a i j))
        do (multiply-row a i (/ 1 (aref a i j)))
        do (eliminate-column-above a i j)
        finally (return a)))
 
(defun reduced-row-echelon (a)
  "Compute the reduced row echelon form in-place; return a."
  (reduce-row-echelon (row-echelon a)))
Добавлено через 15 часов 30 минут
В последнем докстринге надо убрать, конечно, without multiplying. Здесь пофикшено.

Вернуться к обсуждению:
Метод Крамера или метод Гаусса. Реализация Lisp
2
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2016, 15:15
Готовые ответы и решения:

Метод Гаусса или метод Крамера. Реализация
Доброго времени суток. Стоит задача написать метод Гаусса или метод Крамера для решения СЛАУ на F#,...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Метод Крамера и Гаусса для n неизвестных
Здравствуйте.Мне надо написать визуальную программу по решению слау методом крамера и гаусса.Метод...

Метод Крамера или обратной матрцы!
Всем привет! мне надо написать программу для решения уранений метод Крамера или обратной матрцы, но...

3
25.03.2016, 15:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2016, 15:15
Помогаю со студенческими работами здесь

Переделать программу, использующую метод Гаусса в метод Барейса
Всем ДВС! подскажите пожалуйста, как переделать эту программу использующую метод Гаусса в метод...

Базис или нет (метод Гаусса)
Здравствуйте! помогите пожалуста: Я сделала прогу решение системы уравнений методом Гаусса. Она...

Метод Гаусса-Зейделя,метод Якоби, LU разложения
есть у кого то примеры решения???в Wolfram Mathematica

Метод итераций Якоби и метод Гаусса-Зейделя
Подскажите что-нибудь,вот у мну лабораторная: РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ И НЕЛИНЕЙНЫХ УРАВНЕНИЙ 1....

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru