# Per i sistemi lineari posso semplicemente fare (vedi) source("http://macosa.dima.unige.it/r.R") # consideriamo i tre sisitemi rappresentati graficamente S <- c(1,-1,-3, 3,-1,1); sistema(S) # 2 5 S <- c(1,-1,-3, 1,-1,1); sistema(S) # "non un'unica soluzione" S <- c(1,-1,1, 5,-5,5); sistema(S) # il sistema č numericamente singolare # # graficamente (essendo solo 2 le variabili) posso fare: f <- function(x,y) x-y+3; g <- function(x,y) 3*x-y-1 noBox=1; boX(-1,6, -1,9) # Uso cur invece di curva per grafici pių sottili cur(f,"blue");cur(g,"red") |
# # Graficamente posso capire quante sono le soluzioni e con # degli zoom trovare le soluzioni con precisioni via via migliori # Con tecniche algebriche posso spesso trovare le soluz. esatte # # Soluzione di x+y = 5 & x*y = 6 f <- function(x,y) x+y-5; g <- function(x,y) x*y-6 box(-5,5,-5,5); cur(f,"blue");cur(g,"red") box(1.5,3.5,1.5,3.5); cur(f,"blue");cur(g,"red") # # Soluzione di x^2+y^2 = 10 & x+y = 4 f <- function(x,y) x^2+y^2-10; g <- function(x,y) x+y-4 box(-5,5,-5,5); cur(f,"blue");cur(g,"red") box(1,3,1,3); cur(f,"blue");cur(g,"red") # # Soluzione di 1/x+1/y = 5/6 & x*y = 6 f <- function(x,y) 1/x+1/y-5/6; g <- function(x,y) x*y-6 box(-5,5,-5,5); cur(f,"blue");cur(g,"red") box(2,3,2,3); cur(f,"blue");cur(g,"red") F <- function(x) 1/(5/6-1/x); G <- function(x) 6/x x <- soluz2(F,G,1.9,2.1); F(x) # 2 3 x <- soluz2(F,G,2.9,3.1); F(x) # 3 2 |
# Per un es. più strano (del tipo di quelli che si trovano in alcuni libri di testo) f <- function(x,y) sqrt(x+y)+sqrt(2*x+4*y)-sqrt(2)-4 g <- function(x,y) sqrt(x+2*y)-sqrt(2*x+2*y)-2*sqrt(2)+2 box(-10,10,-10,10); cur(f,"blue");cur(g,"red") box(-20,0,0,20); cur(f,"blue");cur(g,"red") box(-5,-3,5,7); cur(f,"blue");cur(g,"red") f(-4,6); g(-4,6) # 0 0 OK