C
confi999
Guest
Hallo,
Mitt arbeid er på numeriske metoder som krever å løse spredte matriser osv. Alt arbeidet mitt er i Fortran og jeg har nesten ingen ferdigheter i Matlab.But Jeg har nettopp innsett at Matlab kan gjøre noen beregninger ganske lett med sine innebygde funksjoner og jeg vil dra nytte av dette.Jeg har ikke tid til å lære Matlab dypt eller arbeide med matlab-Fortran kommunikasjon (veldig off-fokus problemer, og har frist snart)
Noen detaljer:
Jeg trenger å løse Ax = b der A er svært store og spredte matrise (20000x20000 eller mer).På hver gang trinn (gjentakelse) Jeg trenger å løse dette systemet, får "X" og bruke det for videre databehandling i det trinnet.[A] er fast og dannet før gjentakelse begynner - men vektoren 'b' endringer ved hver gjentakelse.Så i gjentakelse - i) vector "b" er dannet, ii) løse Ax = b for å finne "X" iii) bruke mange andre (eksplisitte algebraisk) ligninger for å beregne noen andre verdier / felter (magnetfelt) iv) lagre feltet verdier for trinn, og gå til neste trinn.Deretter fremgangsmåte gjentas gang igjen.Jeg gjør trinnene i), iii), iv) i Fortran og vil gjøre trinn ii) i matlab.Egentlig har jeg hele koden er skrevet i Fortran, men ønsker å gjøre noen analyse av rettferdig gjøre trinn ii) i Matlab.Kan du vennligst informer meg om det er mulig og hvis, hvordan kan jeg gjøre det?
Jeg har forsøkt Matlab til å løse Ax = b bare for en enkelt gjentakelse.Det betyr at jeg kunne lese matrisen [A], en forekomst av vektoren 'b' i matlab (etter lagre dem i filer fra Fortran).Da jeg løste dem i Matlab kommandoen vindu ved hjelp av 'bicgstab' kommando (brukes også "luinc 'preconditioner etc, gjorde noen matrix blokkerer etc).Men jeg må stadig gjøre dette for hele systemet og også beregne 'b' vektor i Fortran bruke innhentet løsning.Kan du vennligst informer meg om dette.Takk så mye.
Mitt arbeid er på numeriske metoder som krever å løse spredte matriser osv. Alt arbeidet mitt er i Fortran og jeg har nesten ingen ferdigheter i Matlab.But Jeg har nettopp innsett at Matlab kan gjøre noen beregninger ganske lett med sine innebygde funksjoner og jeg vil dra nytte av dette.Jeg har ikke tid til å lære Matlab dypt eller arbeide med matlab-Fortran kommunikasjon (veldig off-fokus problemer, og har frist snart)
Noen detaljer:
Jeg trenger å løse Ax = b der A er svært store og spredte matrise (20000x20000 eller mer).På hver gang trinn (gjentakelse) Jeg trenger å løse dette systemet, får "X" og bruke det for videre databehandling i det trinnet.[A] er fast og dannet før gjentakelse begynner - men vektoren 'b' endringer ved hver gjentakelse.Så i gjentakelse - i) vector "b" er dannet, ii) løse Ax = b for å finne "X" iii) bruke mange andre (eksplisitte algebraisk) ligninger for å beregne noen andre verdier / felter (magnetfelt) iv) lagre feltet verdier for trinn, og gå til neste trinn.Deretter fremgangsmåte gjentas gang igjen.Jeg gjør trinnene i), iii), iv) i Fortran og vil gjøre trinn ii) i matlab.Egentlig har jeg hele koden er skrevet i Fortran, men ønsker å gjøre noen analyse av rettferdig gjøre trinn ii) i Matlab.Kan du vennligst informer meg om det er mulig og hvis, hvordan kan jeg gjøre det?
Jeg har forsøkt Matlab til å løse Ax = b bare for en enkelt gjentakelse.Det betyr at jeg kunne lese matrisen [A], en forekomst av vektoren 'b' i matlab (etter lagre dem i filer fra Fortran).Da jeg løste dem i Matlab kommandoen vindu ved hjelp av 'bicgstab' kommando (brukes også "luinc 'preconditioner etc, gjorde noen matrix blokkerer etc).Men jeg må stadig gjøre dette for hele systemet og også beregne 'b' vektor i Fortran bruke innhentet løsning.Kan du vennligst informer meg om dette.Takk så mye.