Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Implementera newton raphson i MATLab

Postades av 2006-08-24 15:11:59 - Fredrik Karlsson, i forum programvaror, Tråden har 4 Kommentarer och lästs av 3339 personer

Hejsan

Jag är ganska färsk på att använda MATLab och försöker implementera en funktion som ska kunna lösa icke linjära problem.
Jag vill ha en egen funktion som utför newton-raphsons metod.
Metoden följer formeln x(k+1) = x(k) - (f(xk) / f'(xk))
Man börjar med en startgissning x0 och får x1. Som sedan stoppas in ifrån början i formeln. För att fortsätta till man har hittat en lösning. Dvs ett nollställe. Hur går jag tillväga ungefär för att implementera det i MATlab kod?

Mvh
Fredrik


Svara

Sv: Implementera newton raphson i MATLab

Postades av 2006-08-24 15:32:34 - Fredrik Hansson

Kan det här vara något?
http://www.eeng.dcu.ie/~ee317/Matlab_Examples/iter/newton_raphson_polynom.m


Svara

Sv:Implementera newton raphson i MATLab

Postades av 2006-08-24 15:49:43 - Niklas Jansson

Lite väl överdriven...
Jag förutsätter att du känner till MATLABs syntax.

Då är principen något i stil med:

function x = NewtonRaphson (f, df, x0, tolerance)
lastguess = x0;
guess = x0 - f(x0)/df(x0);

while guess-lastguess < tolerance
lastguess = guess;
guess = guess - f(guess)/df(guess);
end


Svara

Sv: Implementera newton raphson i MATLab

Postades av 2006-09-20 16:51:57 - Fredrik Karlsson

Ja okej. Men det har jag gjort ungefär tror jag.
Min kod ser ut så här:

%Detta är min defenition av NewtonRaphson metoden.
function g = NewtonRaphson (fx, x)
tol=[10^-6];

k=0.1;
while abs( x(k+1)-x(k) ) <= tol
x(k+1)=x(k)-((fx, x)/(@CentralDiff, fx, x)); <---Felmeddelande om denna rad.
k=k+1;
end

%Här försöker jag anropa funktionen.
x=[0.5];
xnoll= NewtonRaphson(@funktionen, x);
disp(xnoll);

Jag får felmeddelandet på raden som jag har markerat. Det står att det är ett fel-utformat uttryck.
Jag kan inte lista ut vad felet är. Men jag är ganska osäker på MATlab så jag kanske är ute och cyklar.
Jag har en funktion som heter CentralDiff som deriverar funktioner.(inparametrar -funktion och x)
@funktionen är en funktion som jag har definierat i en egen funktion.
Ska jag anropa @funktionen i bråket i raden med felmeddelandet kanske?

hoppas att någon kan hjälpa mig.

Mvh Fredde


Svara

Sv:Implementera newton raphson i MATLab

Postades av 2006-09-20 17:30:52 - Niklas Jansson

Rent spontant är det svårt att se exakt hur du ska göra det.

Jag tror att du vill anropa CentralDiff på fx och x. Vi kan säga så här: @ använder du uteslutande när du vill skicka en funktion. Alltså, när en funktion behöver få tag i en annan för att kunna göra sitt jobb, men som inte vet vilken annan funktion det är, så skickar man denna funktion mha @. Jag skulle alltså snarare gissa på:

CentralDiff(@fx, x)

Sen skulle jag inte haft [] runt tol, och jag skulle ha skickat med tol och k som parametrar. Och snarare än att ha en egenskriven funktion för derivata skulle jag skicka med den som parameter också. Ju mer specifika grejer du tar bort ur koden, desto lättare blir den att utvidga och förstå.


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 868
27 965
271 770
419
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies