Statystyka, prognozowanie, ekonometria, data mining Strona Główna
Reklama pqstat.pl
Statystyka, prognozowanie, ekonometria, data mining
Forum miłośników statystyki - Portal Statystyczny

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  Chat   Regulamin  Kadra forum
PORTAL STATYSTYCZNY
 Ogłoszenie 
FORUM STATYSTYCZNE MA JUŻ 10 LAT

Znasz statystykę lub ekonometrię, metody prognozowania, data mining i chcesz pomóc w rozwoju forum statystycznego ?
Pisz na: administrator(małpa)statystycy.pl

Rozpoczął swoją działalność portal statystyczny - masz pomysł na jego rozwój ?

Drogi forumowiczu! Zanim napiszesz posta zapoznaj się z regulaminem forum i przedstaw się
The International Year of Statistics (Statistics2013) Smarter Poland Portal statystyczny

Poprzedni temat «» Następny temat

Tagi tematu: Brak tagów.

macierz diagonalna w VBA
Autor Wiadomość
paiki 
Starszy Szeregowy


Posty: 36
Skąd: Paryz
Wysłany: 2007-05-19, 11:23   macierz diagonalna w VBA

Przy liczeniu stopy umieralnosci w ubezp na zycie metoda gladkiego dopasowania( nie znam dokladnych polskich terminow) natrafilem na pewne trudnosci w excelu i prosilbym o wsparcie, sa to naprawde blache rzeczy i przepraszam ze umieszczam je akurat w tym miejscu.
1)Odwrocic macierz w excelu, wiem ze jest funkcja gotowa, ale nie daje rady u mnie a pomoc polska jest kiepska

2)Dany jest wektor kolumnowy [1,2,3] i z niego zrobic macierz diagonalna : 1 0 0
0 2 0
0 0 3
potrzebuje tego oczywiscie dla wektora o duzym wymiarze(rzedu 400). Problem jest taki zeby przy pomocy jakichs pomocniczych prostych do wygenerowania macierzy oraz danego wektora uzyskac tą macierz diagonalna. Najprosciej byloby napisac gotowa funkcje, nie mam doswiadczenia w VBA, ale wydaje sie to proste do zrealizowania, wiec jakby ktos mogl podrzucic taka funkcje byloby niezle....
dzieki z gory

[ Dodano: 2007-05-19, 11:38 ]
wlasnie udalo sie odwrocic macierz 2X2 wiec zostaje problem 2)

[ Dodano: 2007-05-19, 11:46 ]
chodzi oczywiscie o macierz postaci: 1 0 0
0 2 0
0 0 3
no i zeby w funkcji mozna bylo miec wymiar macierzy jako parametr
Ostatnio zmieniony przez mathkit 2007-06-23, 19:03, w całości zmieniany 1 raz  
 
 
     
Google

Wysłany:    Reklama google.

 
 
Rafał Kucharski 
Starszy sierżant
Rafał Kucharski



Pomógł: 12 razy
Wiek: 39
Posty: 62
Skąd: Ruda Śląska
Wysłany: 2007-05-19, 12:02   

Napisz może co chcesz robić z tą macierzą diagonalną - może można wykonać operację na wektorze, a macierz nie jest potrzebna?
 
 
     
paiki 
Starszy Szeregowy


Posty: 36
Skąd: Paryz
Wysłany: 2007-05-19, 12:27   

na wejsciu dostaje wektor x, czyli kolumne w excelu, szukam wektora y, ktory jest funkcja macierzy diagonalnej utworzonej z wektora x,tak jak to przedstawilem na prostym przykladzie i nie da sie tego rachunku wykonac bezposrednio na wspolrzednych wektora x(juz kombinowalem), bo macierz ta wchodzi w sklad innej macierzy, ktora trzeba odwrocic,.
Chodziloby o napisanie funkcji w excelu, ktora dostaje wektor x na wejsciu(mozliwosc wyboru wymiaru) a zwraca macierz diagonalna utworz z tego wektora, w maplu np robie to jedna podwojna petla, a w excelu nie znam skladni i to jest glowny problem

[ Dodano: 2007-05-19, 12:33 ]
zupelnie ciekawy problem matematyczny pojawil sie tutaj, tzn wskazac minimalna liczbe macierzy przeksztalcen (zlozonych z 0 i 1, ewentualnie -1) tak by przeksztalcic ten wektor x(tzn nie ten wektor ale macierz utworzona z kopiowania tego wektora w kolumnach lub wierszach) na macierz diagonalna(na diagonali sa wspolrzedne wektora x)
Dla mnie zadowalajaca liczba bylaby tak do 10 macierzy. No ale to jest juz czysta akgebra...

[ Dodano: 2007-05-19, 16:04 ]
Moze ktos powiedziec czemu to nie dziala:
Kod:


Function MATDIAG(matrix As Variant) As Variant
Dim n, i, j As Integer
Dim pomoc As Variant
n = matrix.Rows.Count
ReDim pomoc(n, n)
For i = 1 To n
For j = 1 To n
pomoc(i, j) = 1
Next j
Next i
MATDIAG = pomoc
End Function




Ja dostaje dla macierzy 2x2:

0 0
0 1
zamiast samych jedynek....

[ Dodano: 2007-05-19, 18:16 ]
to powyzsze juz dziala, a co zrobic z tym:
Kod:

Function MATSUM(matrix1 As Variant, matrix2 As Variant) As Variant
Dim n, i, j As Integer
Dim pomoc As Variant
n = matrix1.Rows.Count
ReDim pomoc(n, n)
For i = 0 To n
For j = 0 To n
pomoc(i, j) = matrix1(i, j) + matrix2(i, j)
Next j
Next i
MATSUM = pomoc
End Function
 
 
     
Rafał Kucharski 
Starszy sierżant
Rafał Kucharski



Pomógł: 12 razy
Wiek: 39
Posty: 62
Skąd: Ruda Śląska
Wysłany: 2007-05-23, 01:10   

Wpisz sobie przed wszystkimi funkcjami, na samym początku modułu linijkę:

Kod:
 Option Base 1


To spowoduje, że wszystkie tablice i macierze będą indeksowane od 1. Domyślnie jest niby 0, ale jak zwykle w produktach firmy MS jakoś brak im konsekwencji i lepiej jest mieć 1.

Jeśli już koniecznie musisz robić te diagonalne, to może kod poniżej Cię zadowoli. Tu wejściowa jest kolumna, jeśli chcesz wektor to chyba dasz radę sobie przerobić.
Kod:
Function Diag(vector As Variant) As Variant
Dim n, i, j As Integer
Dim temp As Variant
n = vector.Rows.Count
ReDim temp(n, n)
For i = 1 To n
    For j = 1 To n
        temp(i, j) = 0
    Next j
    temp(i, i) = vector(i)
Next i
Diag = temp
End Function
 
 
     
brylant123 
Szeregowy


Posty: 1
Skąd: Jelenia Góra
Wysłany: 2009-01-23, 12:15   

Długo nie mogłem wpaść na to jak to zrobić :cry: Ale teraz dzięki waszym kodom się udało ;-)
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych zakładek(IE)
Wersja do druku

Skocz do:  

Podobne Tematy
Temat Autor Forum Odpowiedzi Ostatni post
Brak nowych postów Przyklejony: Macierz odwrotna
kobietka10 Teoria estymacji 1 2010-11-11, 18:55
MK
Brak nowych postów Jak zbudować wektor R0 i macierz R
Dane do zadania podane są w "dziwny" dla mnie sposób...
lukaszymanek Modelowanie ekonometryczne 1 2010-10-22, 08:58
mikos
Brak nowych postów Korelacja Pearsona>macierz
slimak390227 Statystyka opisowa 0 2015-02-06, 19:58
slimak390227
Brak nowych postów Jak estymowac gdy zmienna zalezna to macierz??
mafi13 Teoria estymacji 1 2007-02-10, 21:48
Rafał Kucharski
Brak nowych postów [GradeStat+R] Macierz nadreprezentacji daje różne wyniki
Crunchy Data Mining, Metody klasyfikacji 0 2009-10-12, 18:41
Crunchy

Ideą przyświecającą istnieniu forum statystycznego jest stworzenie możliwości wymiany informacji, poglądów i doświadczeń osób związanych ze statystyką, mierzenie się z różnego rodzaju problemami statystycznymi i aktuarialnymi. Poruszane problemy: Statystyka w badaniach sondażowych rynku, metody reprezentacyjne, Teoria i rachunek prawdopodobieństwa, statystyka opisowa, teoria estymacji, testowanie hipotez statystycznych, ekonometria, prognozowanie, metody data mining.
Copyright (C) 2006-2015 Statystycy.pl
Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,05 sekundy. Zapytań do SQL: 17