Richiesta aiuto da parte di un non matematico
Gentili Amici, mi occorre risolvere un problema matematico irrisolvibile per me che avendo rudimentali conoscenze in materia devo in ogni occasione ridurre tutto in una sequenza di operazioni elementari (viziaccio che avevo tanti anni fa anche a scuola e che mi attirava il disprezzo puro dei miei professori di matmatica). Poichè in questo caso il mio pessimo metodo non lo riesco ad applicare,
volevo chiedervi se siate disposti ad aiutarmi a risolverlo e magari darmi una mano a implementare l'algoritmo di risoluzione in pascal. Spero nella Vostra disponibilità e di non essere off topic nel porvi il mio quesito, in ogni caso Vi ringrazio per la cortesia di avermi letto.
La questione riguarda la relazione fra i valori di tensione e corrente, correlati fra loro, che si rilevano di volta in volta sugli elettrodi in questo caso di un tetrodo a fascio (valvola termoionica) e la possibilità di ricavare i valori non noti partendo da un insieme di valori noti.
La corrente anodica della valvola dipende dalla sua tensione anodica, dalla sua tensione di griglia controllo e dalla sua tensione di griglia schermo. Dispongo di una matrice a 4 colonne che su ogni riga per un certo numero di righe (per esempio per la KT88 sono circa 6000 righe, dati che ho ricavato impazzendo nella trascrizione dei valori dai grafici delle curve di risposta con l'aiuto però di un software apposito), quel che mi occorre calcolare sono i valori ignoti delle righe ipoteticamente esistenti fra una riga nota e l'altra.
esempio:
VG1 VG2 IA VA
-35,00 368,35 112,02 368,35
-35,00 364,69 107,88 364,69
-35,00 364,42 106,84 364,42
-35,00 361,81 104,00 361,81
-35,00 360,51 102,44 360,51
-35,00 358,68 100,37 358,68
-35,00 356,59 98,57 356,59
-35,00 352,67 94,69 352,67
-35,00 350,58 92,10 350,58
-35,00 348,76 90,29 348,76
-35,00 346,67 88,23 346,67
-35,00 344,84 86,42 344,84
-35,00 343,01 84,09 343,01
-35,00 340,14 80,98 340,14
-35,00 336,49 78,40 336,49
-35,00 334,66 76,08 334,66
-35,00 332,57 74,53 332,57
-35,00 330,48 72,20 330,48
-35,00 328,66 70,65 328,66
-35,00 326,31 68,06 326,31
-35,00 324,48 66,52 324,48
-35,00 320,31 63,16 320,31
-35,00 316,14 59,80 316,14
-35,00 312,48 55,93 312,48
-35,00 308,31 52,31 308,31
-35,00 304,92 49,99 304,92
-35,00 300,75 47,15 300,75
-35,00 300,00 20,40 92,40
-35,00 300,00 20,41 96,72
-35,00 300,00 20,41 100,17
-35,00 300,00 20,83 88,08
-35,00 300,00 20,85 104,49
-35,00 300,00 20,85 108,38
-35,00 300,00 21,26 84,63
-35,00 300,00 21,29 112,26
-35,00 300,00 21,69 76,42
-35,00 300,00 21,69 80,31
-35,00 300,00 21,72 116,58
-35,00 300,00 21,73 120,47
-35,00 300,00 22,98 72,54
-35,00 300,00 23,03 124,78
-35,00 300,00 23,46 128,67
-35,00 300,00 23,84 68,22
-35,00 300,00 24,70 64,34
-35,00 300,00 24,76 132,56
-35,00 300,00 25,13 60,45
-35,00 300,00 25,20 136,44
-35,00 300,00 25,99 56,56
-35,00 300,00 26,50 140,33
-35,00 300,00 26,86 53,11
-35,00 300,00 27,37 144,21
-35,00 300,00 28,24 148,53
-35,00 300,00 28,58 48,36
-35,00 300,00 29,10 152,42
-35,00 300,00 29,97 156,30
-35,00 300,00 30,84 159,76
-35,00 300,00 31,28 164,08
-35,00 300,00 32,15 167,96
-35,00 300,00 33,01 171,85
-35,00 300,00 33,45 176,17
-35,00 300,00 34,75 180,05
-35,00 300,00 35,19 183,94
-35,00 300,00 35,62 188,26
-35,00 300,00 36,49 191,71
-35,00 300,00 36,49 196,03
-35,00 300,00 37,36 199,48
-35,00 300,00 38,23 203,80
-35,00 300,00 39,53 208,12
-35,00 300,00 39,97 212,00
-35,00 300,00 39,97 216,75
-35,00 300,00 40,41 220,64
-35,00 300,00 40,84 223,66
-35,00 300,00 40,85 231,87
-35,00 300,00 41,28 227,98
-35,00 300,00 41,72 235,75
-35,00 300,00 42,59 239,64
-35,00 300,00 43,45 243,96
-35,00 300,00 43,46 248,27
-35,00 300,00 43,46 252,16
-35,00 300,00 43,47 259,93
-35,00 300,00 43,90 256,04
-35,00 300,00 43,90 264,25
-35,00 300,00 44,34 268,57
-35,00 300,00 44,78 272,02
-35,00 300,00 44,78 276,77
-35,00 300,00 44,85 356,22
-35,00 300,00 45,22 280,22
-35,00 300,00 45,22 284,11
-35,00 300,00 45,22 288,43
-35,00 300,00 45,23 292,31
-35,00 300,00 45,23 296,20
-35,00 300,00 45,24 303,97
-35,00 300,00 45,24 312,61
-35,00 300,00 45,25 316,06
-35,00 300,00 45,25 319,95
-35,00 300,00 45,25 324,27
-35,00 300,00 45,26 328,58
-35,00 300,00 45,26 332,47
-35,00 300,00 45,26 336,36
-35,00 300,00 45,27 340,24
-35,00 300,00 45,27 344,56
-35,00 300,00 45,27 348,45
-35,00 300,00 45,28 352,33
-35,00 300,00 45,28 360,10
-35,00 300,00 45,29 364,42
-35,00 300,00 45,29 368,31
-35,00 300,00 45,67 308,72
-35,00 300,00 46,10 300,09
-35,00 296,58 44,06 296,58
-35,00 292,41 40,18 292,41
-35,00 288,24 37,61 288,24
-35,00 283,81 35,03 283,81
-35,00 280,42 32,45 280,42
-35,00 276,52 30,39 276,52
-35,00 272,61 27,56 272,61
-35,00 268,70 24,98 268,70
-35,00 264,54 23,70 264,54
-35,00 260,90 21,12 260,90
-35,00 259,07 20,10 259,07
-35,00 256,73 18,03 256,73
-35,00 253,09 17,01 253,09
-35,00 251,26 15,72 251,26
-35,00 248,40 13,92 248,40
-35,00 244,76 12,64 244,76
-35,00 242,93 11,35 242,93
-35,00 240,59 10,58 240,59
-35,00 236,69 9,04 236,69
-35,00 232,53 7,51 232,53
-35,00 228,63 5,97 228,63
-35,00 224,21 4,96 224,21
-35,00 220,32 4,20 220,32
-35,00 216,68 3,70 216,68
-35,00 212,79 3,20 212,79
-35,00 210,96 1,65 210,96
-32,00 365,75 109,31 365,75
-32,00 363,98 107,10 363,98
-32,00 362,22 105,34 362,22
-32,00 360,46 103,14 360,46
-32,00 359,58 101,82 359,58
-32,00 357,81 100,06 357,81
-32,00 356,05 98,74 356,05
-32,00 354,29 96,10 354,29
-32,00 353,41 94,78 353,41
-32,00 351,65 93,02 351,65
-32,00 349,88 91,70 349,88
-32,00 348,12 89,94 348,12
-32,00 347,24 88,62 347,24
-32,00 345,48 86,86 345,48
-32,00 343,71 85,54 343,71
-32,00 341,95 84,66 341,95
-32,00 341,07 83,34 341,07
-32,00 339,31 81,58 339,31
-32,00 337,54 80,26 337,54
-32,00 335,78 78,50 335,78
-32,00 334,90 77,18 334,90
-32,00 333,14 75,42 333,14
-32,00 331,37 74,09 331,37
-32,00 329,61 72,33 329,61
-32,00 328,73 71,01 328,73
-32,00 326,97 69,25 326,97
-32,00 325,21 68,37 325,21
-32,00 323,44 67,05 323,44
-32,00 322,56 65,29 322,56
-32,00 320,80 63,97 320,80
-32,00 319,04 62,21 319,04
-32,00 317,27 61,77 317,27
-32,00 315,51 60,01 315,51
-32,00 314,63 59,13 314,63
-32,00 312,87 57,81 312,87
-32,00 311,10 56,05 311,10
-32,00 310,22 54,73 310,22
-32,00 308,46 52,97 308,46
-32,00 306,70 52,53 306,70
-32,00 304,94 50,77 304,94
-32,00 304,05 49,89 304,05
-32,00 302,29 48,56 302,29
-32,00 300,53 46,80 300,53
-32,00 298,77 45,48 298,77
-32,00 297,88 44,60 297,88
-32,00 296,12 43,72 296,12
-32,00 294,36 41,96 294,36
-32,00 292,60 40,64 292,60
-32,00 291,72 39,32 291,72
-32,00 289,95 38,44 289,95
-32,00 288,19 37,56 288,19
-32,00 286,43 36,24 286,43
-32,00 285,55 35,36 285,55
-32,00 283,78 34,48 283,78
-32,00 282,02 34,04 282,02
-32,00 280,26 33,16 280,26
-32,00 279,38 32,28 279,38
-32,00 277,61 31,39 277,61
-32,00 275,85 29,63 275,85
-32,00 274,09 28,75 274,09
-32,00 273,21 27,87 273,21
-32,00 271,45 26,99 271,45
-32,00 269,68 26,11 269,68
-32,00 267,92 25,23 267,92
-32,00 267,04 24,79 267,04
-32,00 265,28 23,91 265,28
-32,00 263,51 23,03 263,51
-32,00 261,75 21,71 261,75
-32,00 260,87 20,83 260,87
-32,00 259,11 19,95 259,11
-32,00 255,58 19,06 255,58
-32,00 254,70 18,62 254,70
-32,00 252,94 17,74 252,94
-32,00 251,18 15,98 251,18
-32,00 249,41 15,54 249,41
-32,00 248,53 14,66 248,53
-32,00 245,01 13,78 245,01
-32,00 243,24 12,90 243,24
-32,00 242,36 12,46 242,36
-32,00 240,60 11,58 240,60
-32,00 238,84 10,70 238,84
-32,00 237,07 9,82 237,07
-32,00 234,43 9,38 234,43
-32,00 232,67 8,49 232,67
-32,00 230,02 7,61 230,02
-32,00 228,26 6,73 228,26
-32,00 224,74 6,29 224,74
-32,00 222,09 5,41 222,09
-32,00 218,57 4,53 218,57
-32,00 215,92 3,65 215,92
-32,00 212,40 3,20 212,40
-32,00 207,11 3,20 207,11
-32,00 203,58 2,32 203,58
-32,00 198,30 1,44 198,30
-32,00 194,77 1,43 194,77
-32,00 191,25 0,55 191,25
-32,00 187,72 0,55 187,72
-32,00 184,20 0,55 184,20
Quel che manca quì per esempio sono i valori di VG2, IA e VA per le tensioni di VG1 -33 e -34. Naturalmente potendo però definire almeno i valori di IA cioè VG1 = -33 VG2 = X IA = 1 VA = X.
Perdonate il post prolisso.
Ivo
volevo chiedervi se siate disposti ad aiutarmi a risolverlo e magari darmi una mano a implementare l'algoritmo di risoluzione in pascal. Spero nella Vostra disponibilità e di non essere off topic nel porvi il mio quesito, in ogni caso Vi ringrazio per la cortesia di avermi letto.
La questione riguarda la relazione fra i valori di tensione e corrente, correlati fra loro, che si rilevano di volta in volta sugli elettrodi in questo caso di un tetrodo a fascio (valvola termoionica) e la possibilità di ricavare i valori non noti partendo da un insieme di valori noti.
La corrente anodica della valvola dipende dalla sua tensione anodica, dalla sua tensione di griglia controllo e dalla sua tensione di griglia schermo. Dispongo di una matrice a 4 colonne che su ogni riga per un certo numero di righe (per esempio per la KT88 sono circa 6000 righe, dati che ho ricavato impazzendo nella trascrizione dei valori dai grafici delle curve di risposta con l'aiuto però di un software apposito), quel che mi occorre calcolare sono i valori ignoti delle righe ipoteticamente esistenti fra una riga nota e l'altra.
esempio:
VG1 VG2 IA VA
-35,00 368,35 112,02 368,35
-35,00 364,69 107,88 364,69
-35,00 364,42 106,84 364,42
-35,00 361,81 104,00 361,81
-35,00 360,51 102,44 360,51
-35,00 358,68 100,37 358,68
-35,00 356,59 98,57 356,59
-35,00 352,67 94,69 352,67
-35,00 350,58 92,10 350,58
-35,00 348,76 90,29 348,76
-35,00 346,67 88,23 346,67
-35,00 344,84 86,42 344,84
-35,00 343,01 84,09 343,01
-35,00 340,14 80,98 340,14
-35,00 336,49 78,40 336,49
-35,00 334,66 76,08 334,66
-35,00 332,57 74,53 332,57
-35,00 330,48 72,20 330,48
-35,00 328,66 70,65 328,66
-35,00 326,31 68,06 326,31
-35,00 324,48 66,52 324,48
-35,00 320,31 63,16 320,31
-35,00 316,14 59,80 316,14
-35,00 312,48 55,93 312,48
-35,00 308,31 52,31 308,31
-35,00 304,92 49,99 304,92
-35,00 300,75 47,15 300,75
-35,00 300,00 20,40 92,40
-35,00 300,00 20,41 96,72
-35,00 300,00 20,41 100,17
-35,00 300,00 20,83 88,08
-35,00 300,00 20,85 104,49
-35,00 300,00 20,85 108,38
-35,00 300,00 21,26 84,63
-35,00 300,00 21,29 112,26
-35,00 300,00 21,69 76,42
-35,00 300,00 21,69 80,31
-35,00 300,00 21,72 116,58
-35,00 300,00 21,73 120,47
-35,00 300,00 22,98 72,54
-35,00 300,00 23,03 124,78
-35,00 300,00 23,46 128,67
-35,00 300,00 23,84 68,22
-35,00 300,00 24,70 64,34
-35,00 300,00 24,76 132,56
-35,00 300,00 25,13 60,45
-35,00 300,00 25,20 136,44
-35,00 300,00 25,99 56,56
-35,00 300,00 26,50 140,33
-35,00 300,00 26,86 53,11
-35,00 300,00 27,37 144,21
-35,00 300,00 28,24 148,53
-35,00 300,00 28,58 48,36
-35,00 300,00 29,10 152,42
-35,00 300,00 29,97 156,30
-35,00 300,00 30,84 159,76
-35,00 300,00 31,28 164,08
-35,00 300,00 32,15 167,96
-35,00 300,00 33,01 171,85
-35,00 300,00 33,45 176,17
-35,00 300,00 34,75 180,05
-35,00 300,00 35,19 183,94
-35,00 300,00 35,62 188,26
-35,00 300,00 36,49 191,71
-35,00 300,00 36,49 196,03
-35,00 300,00 37,36 199,48
-35,00 300,00 38,23 203,80
-35,00 300,00 39,53 208,12
-35,00 300,00 39,97 212,00
-35,00 300,00 39,97 216,75
-35,00 300,00 40,41 220,64
-35,00 300,00 40,84 223,66
-35,00 300,00 40,85 231,87
-35,00 300,00 41,28 227,98
-35,00 300,00 41,72 235,75
-35,00 300,00 42,59 239,64
-35,00 300,00 43,45 243,96
-35,00 300,00 43,46 248,27
-35,00 300,00 43,46 252,16
-35,00 300,00 43,47 259,93
-35,00 300,00 43,90 256,04
-35,00 300,00 43,90 264,25
-35,00 300,00 44,34 268,57
-35,00 300,00 44,78 272,02
-35,00 300,00 44,78 276,77
-35,00 300,00 44,85 356,22
-35,00 300,00 45,22 280,22
-35,00 300,00 45,22 284,11
-35,00 300,00 45,22 288,43
-35,00 300,00 45,23 292,31
-35,00 300,00 45,23 296,20
-35,00 300,00 45,24 303,97
-35,00 300,00 45,24 312,61
-35,00 300,00 45,25 316,06
-35,00 300,00 45,25 319,95
-35,00 300,00 45,25 324,27
-35,00 300,00 45,26 328,58
-35,00 300,00 45,26 332,47
-35,00 300,00 45,26 336,36
-35,00 300,00 45,27 340,24
-35,00 300,00 45,27 344,56
-35,00 300,00 45,27 348,45
-35,00 300,00 45,28 352,33
-35,00 300,00 45,28 360,10
-35,00 300,00 45,29 364,42
-35,00 300,00 45,29 368,31
-35,00 300,00 45,67 308,72
-35,00 300,00 46,10 300,09
-35,00 296,58 44,06 296,58
-35,00 292,41 40,18 292,41
-35,00 288,24 37,61 288,24
-35,00 283,81 35,03 283,81
-35,00 280,42 32,45 280,42
-35,00 276,52 30,39 276,52
-35,00 272,61 27,56 272,61
-35,00 268,70 24,98 268,70
-35,00 264,54 23,70 264,54
-35,00 260,90 21,12 260,90
-35,00 259,07 20,10 259,07
-35,00 256,73 18,03 256,73
-35,00 253,09 17,01 253,09
-35,00 251,26 15,72 251,26
-35,00 248,40 13,92 248,40
-35,00 244,76 12,64 244,76
-35,00 242,93 11,35 242,93
-35,00 240,59 10,58 240,59
-35,00 236,69 9,04 236,69
-35,00 232,53 7,51 232,53
-35,00 228,63 5,97 228,63
-35,00 224,21 4,96 224,21
-35,00 220,32 4,20 220,32
-35,00 216,68 3,70 216,68
-35,00 212,79 3,20 212,79
-35,00 210,96 1,65 210,96
-32,00 365,75 109,31 365,75
-32,00 363,98 107,10 363,98
-32,00 362,22 105,34 362,22
-32,00 360,46 103,14 360,46
-32,00 359,58 101,82 359,58
-32,00 357,81 100,06 357,81
-32,00 356,05 98,74 356,05
-32,00 354,29 96,10 354,29
-32,00 353,41 94,78 353,41
-32,00 351,65 93,02 351,65
-32,00 349,88 91,70 349,88
-32,00 348,12 89,94 348,12
-32,00 347,24 88,62 347,24
-32,00 345,48 86,86 345,48
-32,00 343,71 85,54 343,71
-32,00 341,95 84,66 341,95
-32,00 341,07 83,34 341,07
-32,00 339,31 81,58 339,31
-32,00 337,54 80,26 337,54
-32,00 335,78 78,50 335,78
-32,00 334,90 77,18 334,90
-32,00 333,14 75,42 333,14
-32,00 331,37 74,09 331,37
-32,00 329,61 72,33 329,61
-32,00 328,73 71,01 328,73
-32,00 326,97 69,25 326,97
-32,00 325,21 68,37 325,21
-32,00 323,44 67,05 323,44
-32,00 322,56 65,29 322,56
-32,00 320,80 63,97 320,80
-32,00 319,04 62,21 319,04
-32,00 317,27 61,77 317,27
-32,00 315,51 60,01 315,51
-32,00 314,63 59,13 314,63
-32,00 312,87 57,81 312,87
-32,00 311,10 56,05 311,10
-32,00 310,22 54,73 310,22
-32,00 308,46 52,97 308,46
-32,00 306,70 52,53 306,70
-32,00 304,94 50,77 304,94
-32,00 304,05 49,89 304,05
-32,00 302,29 48,56 302,29
-32,00 300,53 46,80 300,53
-32,00 298,77 45,48 298,77
-32,00 297,88 44,60 297,88
-32,00 296,12 43,72 296,12
-32,00 294,36 41,96 294,36
-32,00 292,60 40,64 292,60
-32,00 291,72 39,32 291,72
-32,00 289,95 38,44 289,95
-32,00 288,19 37,56 288,19
-32,00 286,43 36,24 286,43
-32,00 285,55 35,36 285,55
-32,00 283,78 34,48 283,78
-32,00 282,02 34,04 282,02
-32,00 280,26 33,16 280,26
-32,00 279,38 32,28 279,38
-32,00 277,61 31,39 277,61
-32,00 275,85 29,63 275,85
-32,00 274,09 28,75 274,09
-32,00 273,21 27,87 273,21
-32,00 271,45 26,99 271,45
-32,00 269,68 26,11 269,68
-32,00 267,92 25,23 267,92
-32,00 267,04 24,79 267,04
-32,00 265,28 23,91 265,28
-32,00 263,51 23,03 263,51
-32,00 261,75 21,71 261,75
-32,00 260,87 20,83 260,87
-32,00 259,11 19,95 259,11
-32,00 255,58 19,06 255,58
-32,00 254,70 18,62 254,70
-32,00 252,94 17,74 252,94
-32,00 251,18 15,98 251,18
-32,00 249,41 15,54 249,41
-32,00 248,53 14,66 248,53
-32,00 245,01 13,78 245,01
-32,00 243,24 12,90 243,24
-32,00 242,36 12,46 242,36
-32,00 240,60 11,58 240,60
-32,00 238,84 10,70 238,84
-32,00 237,07 9,82 237,07
-32,00 234,43 9,38 234,43
-32,00 232,67 8,49 232,67
-32,00 230,02 7,61 230,02
-32,00 228,26 6,73 228,26
-32,00 224,74 6,29 224,74
-32,00 222,09 5,41 222,09
-32,00 218,57 4,53 218,57
-32,00 215,92 3,65 215,92
-32,00 212,40 3,20 212,40
-32,00 207,11 3,20 207,11
-32,00 203,58 2,32 203,58
-32,00 198,30 1,44 198,30
-32,00 194,77 1,43 194,77
-32,00 191,25 0,55 191,25
-32,00 187,72 0,55 187,72
-32,00 184,20 0,55 184,20
Quel che manca quì per esempio sono i valori di VG2, IA e VA per le tensioni di VG1 -33 e -34. Naturalmente potendo però definire almeno i valori di IA cioè VG1 = -33 VG2 = X IA = 1 VA = X.
Perdonate il post prolisso.
Ivo
Risposte
Per uno come me che per oltre trent’anni ha lavorato sui circuiti elettronici è un’autentica ‘occasione ghiotta’ poter imparare qualche cosa sui tubi a vuoto. In effetti ho sempre usato dispositivi a semiconduttore e pertanto i tubi a vuoto sono per me una ‘terra sconosciuta’. Spero non dispiaccia a PolarisIlMago se chiedo qualche lume riguardo ai dati che ha postato. Per cercare di capirci facciamo riferimento alla figura seguente, che illustra le caratteristiche del dispositivo ECC82…

Nel caso di un tetrodo le tensioni in gioco sono tre [ se ho ben capito…] e cioè…
Va: tensione anodica
Vg1: tensione di griglia 1
Vg2: tensione di griglia 2
… e la corrente Ia è funzione delle tre. Supponendo in prima ipotesi che Vg1 sia fissa, le caratteristiche sono in pratica quelle di un triodo come rappresentato in figura. A ogni valore di Vg2 in altre parole corrisponde una ben determinata curva Ia-Va. Ora osservando i dati sembra che la corrente Ia sia funzione della sola Vg2 e allora mi chiedo quale delle due ipotesi è vera…
a) è fissa la Va
b) è fissa la retta di carico Rc
In figura ho aggiunto una ipotetica retta di carico con Va=20 V e Io=300 mA per rendere più chiaro il discorso. Quale delle ipotesi a) o b) è vera?… o magari è vera un’altra ipotesi che chiamiamo c)?…
cordiali saluti
lupo grigio

… chè perder tempo a chi più sa più spiace… Dante Alighieri, Divina Commedia, Purgatorio, III, 78

Nel caso di un tetrodo le tensioni in gioco sono tre [ se ho ben capito…] e cioè…
Va: tensione anodica
Vg1: tensione di griglia 1
Vg2: tensione di griglia 2
… e la corrente Ia è funzione delle tre. Supponendo in prima ipotesi che Vg1 sia fissa, le caratteristiche sono in pratica quelle di un triodo come rappresentato in figura. A ogni valore di Vg2 in altre parole corrisponde una ben determinata curva Ia-Va. Ora osservando i dati sembra che la corrente Ia sia funzione della sola Vg2 e allora mi chiedo quale delle due ipotesi è vera…
a) è fissa la Va
b) è fissa la retta di carico Rc
In figura ho aggiunto una ipotetica retta di carico con Va=20 V e Io=300 mA per rendere più chiaro il discorso. Quale delle ipotesi a) o b) è vera?… o magari è vera un’altra ipotesi che chiamiamo c)?…
cordiali saluti
lupo grigio

… chè perder tempo a chi più sa più spiace… Dante Alighieri, Divina Commedia, Purgatorio, III, 78
Grazie ancora, mi metterò a lavorare su quanto hai postato così prendo un pò di confidenza con R appena comprendo a fondo il tuo esempio passo ai miei dati.
Questo lavoro mi occorre per sviluppare modelli di simulazione del funzionamento delle valvole termoioniche un pò meno deprimenti di quelli attualmente esistenti (o almeno di quelli destinati a noi poveri comuni mortali).
Ivo
Questo lavoro mi occorre per sviluppare modelli di simulazione del funzionamento delle valvole termoioniche un pò meno deprimenti di quelli attualmente esistenti (o almeno di quelli destinati a noi poveri comuni mortali).
Ivo
Per prima cosa ti conviene riferirti al manuale introduttivo. R purtroppo richiede un po' più di fatica iniziale di excell, ma alla fine ne vale veramente la pena, data la potenza di questo strumento (e la velocità).
Per l'import dei dati il modo più semplice è da un file semplice di testo, con entrate separate da uno spazio e i titoli delle colonne, come quello di cui hai fatto copia-incolla sul tuo primo post. (Excell ha una funzione per esportare tabelle in questo formato).
Leggere questo file è molto semplice:
è sufficiente a creare un database "data" con le varie variabili "data\$VG1", "data\$VG" etc...
Chiaramente qui non posso allegare un corso intero di R, ma ti consiglio di seguire il manuale introduttivo (da qualche parte esiste anche una copia in Italiano...). Ti allego invece un esempio di studio molto simile a quello che hai fatto tu e che ho preparato un po' di tempo fa. Come riferimento sui comandi R da utilizzare.
Abbiamo un database con la dimensione in metri quadri, il valore di mercato e il prezzo di vendita finale di alcune case in una certa zona (file T7-1.DAT):
vogliamo predire il prezzo di vendita finale delle case usando un modello lineare, del tipo di quelli che dovrai usare tu, anche se qui si tratta di un modello un po' più semplice, ma è giusto per vedere i comandi e la filosofia generale di R:
PS : Ho usato la libreria "lattice" per produrre alcuni grafici... per poter far girare l'esempio devi installarla.
*** EDIT ***
Maledetti \$ che incasinano il MathML ho dovuto metterci la '\' davanti!
Comunque sembra complicato ma non lo è. Gli unici comandi difficili sono quelli grafici, ma c'è sempre il manuale in linea "?comando".
PPS : Puoi fare copia-incolla dei comandi dentro la console di R.
Per l'import dei dati il modo più semplice è da un file semplice di testo, con entrate separate da uno spazio e i titoli delle colonne, come quello di cui hai fatto copia-incolla sul tuo primo post. (Excell ha una funzione per esportare tabelle in questo formato).
Leggere questo file è molto semplice:
data <- read.table('file.txt')
è sufficiente a creare un database "data" con le varie variabili "data\$VG1", "data\$VG" etc...
Chiaramente qui non posso allegare un corso intero di R, ma ti consiglio di seguire il manuale introduttivo (da qualche parte esiste anche una copia in Italiano...). Ti allego invece un esempio di studio molto simile a quello che hai fatto tu e che ho preparato un po' di tempo fa. Come riferimento sui comandi R da utilizzare.
Abbiamo un database con la dimensione in metri quadri, il valore di mercato e il prezzo di vendita finale di alcune case in una certa zona (file T7-1.DAT):
15.31 57.3 74.8 15.20 63.8 74.0 16.25 65.4 72.9 14.33 57.0 70.0 14.57 63.8 74.9 17.33 63.2 76.0 14.48 60.2 72.0 14.91 57.7 73.5 15.25 56.4 74.5 13.89 55.6 73.5 15.18 62.6 71.5 14.44 63.4 71.0 14.87 60.2 78.9 18.63 67.2 86.5 15.20 57.1 68.0 25.76 89.6 102.0 19.05 68.6 84.0 15.37 60.1 69.0 18.06 66.3 88.0 16.35 65.8 76.0
vogliamo predire il prezzo di vendita finale delle case usando un modello lineare, del tipo di quelli che dovrai usare tu, anche se qui si tratta di un modello un po' più semplice, ma è giusto per vedere i comandi e la filosofia generale di R:
# Esercizio 13A # Ex. 7.15 JW # Using the real-estate data and the regression model # from the Example 7.4: # (a) Verify the results in Example 7.4 # (b) Analyze the residuals to check the adequacy of # the model. # (c) Generate a 95% prediction interval for the selling # price Y_0 corresponding to total dwelling size # z1=17 and assessed value z2=46 # (d) Carry out a likelihood ratio test of H_0 : \beta_2 = 0 # with a significance level of \alpha=0.05. Should # the original model be modified? Discuss. data <- read.table('T7-1.DAT',col.names=c("size","value","price")) summary(data) plot(data) # Notiamo subito la presenza di un dato anomalo che potrebbe # fare "effetto leva" # ======================================================== # (a) Verify the results in Example 7.4 # ======================================================== # Assumiamo come modello: # data\$price = \beta_0 + \beta_1 data\$size + \beta_2 data\$price # ---------------------------------------- # Calcolo \hat{\beta} # ---------------------------------------- Z <- cbind(1,data\$size,data\$value) ZtZinv <- solve(t(Z)%*%Z) ZtZinv # \hat{\beta}: beta <- ZtZinv%*%t(Z)%*%as.vector(data\$price) beta # ---------------------------------------- # Calcolo di R^2 # ---------------------------------------- H <- Z%*%ZtZinv%*%t(Z) # \hat{\epsilon} eps <- data\$price-H%*%data\$price # \hat{y} yhat <- H%*%data\$price SST <- sum((data\$price-mean(data\$price))^2) SST SSR <- sum((yhat-mean(data\$price))^2) SSR SSE <- sum(eps^2) SSE # La formula di decomposizione della varianza # tenendo conto degli arrotondamenti: SSR+SSE-SST < 1e-10 R2 <- SSR/SST R2 # ---------------------------------------- # Un po' di analisi grafica # ---------------------------------------- library(lattice) z1 <- seq(13,25,length.out=100) z2 <- seq(55,90,length.out=100) yhatM <- matrix(nrow=100,ncol=100) for (i in 1:100) { for(j in 1:100) { yhatM[i,j]=beta[1]+beta[2]*z1[i]+beta[3]*z2[i] } } layout(matrix(c(1,2),nrow=1,ncol=2)) graph <- persp(z1,z2,yhatM,theta=18,zlim=(range(data\$price)+c(-5,5)),xlab="size",ylab="value",zlab="price",main="Regressione Lineare 3D") points(trans3d(data\$size,data\$value,data\$price,pmat=graph),pch=16,col="blue") # Da un'altro angolo: graph <- persp(z1,z2,yhatM,theta=-75,zlim=(range(data\$price)+c(-5,5)),xlab="size",ylab="value",zlab="price",main="Regressione Lineare 3D") points(trans3d(data\$size,data\$value,data\$price,pmat=graph),pch=16,col="blue") # Attenzione alla presenza di un dato chiaramente # molto alto... # ---------------------------------------- # A questo punto si chiede di fare un intervallo di # confidenza per beta2, per poterlo fare dobbiamo assumere # \epsilon ~ N(0,\sigma^2) # questa ipotesi verrà verificata in seguito (punto (b) ). # ---------------------------------------- n <- length(data[,1]) r <- 2 s2 <- as.real(t(eps)%*%eps/(n-(r+1))) alpha <- 0.05 HVar <- s2*ZtZinv ICbeta2 <- c(beta[3]-qt(1-alpha/2,n-r-1)*sqrt(HVar[3,3]),beta[3]+qt(1-alpha/2,n-r-1)*sqrt(HVar[3,3])) ICbeta2 <- matrix(ICbeta2,nrow=1,ncol=2) dimnames(ICbeta2)[[2]] <- make.names(c("left","right")) dimnames(ICbeta2)[[1]] <- make.names(c("IC beta2")) ICbeta2 # ======================================================== # (b) Analyze the residuals to check the adequacy of # the model. # ======================================================== # Analizziamo i leverage: graphics.off() plot(diag(H),xlab='Index',ylab='Leverage') # Si osserva la presenza di un dato che fa effetto leva (leverage datum) che è il 16° e che corrisponde al dato anomalo precedentemente identificato. # Analizziamo i residui. # Per prima cosa studentizziamo i residui: eps.st <- eps/sqrt((1-diag(H))*s2) # Cominciamo plottando i residui contro i regressori e la # variabile risposta e facciamo un qqplot: layout(matrix(c(1,2,3,4),nrow=2,ncol=2,byrow=TRUE)) plot(data\$size,eps.st,col="blue",xlab="size",ylab="residuals",main="Residuals Vs. Size") abline(h=0) plot(data\$value,eps.st,col="blue",xlab="value",ylab="residuals",main="Residuals Vs. Value") abline(h=0) plot(yhat,eps.st,col="blue",xlab="yhat",ylab="residuals",main="Residuals Vs. Yhat") abline(h=0) qqnorm(eps.st,col="blue") qqline(eps.st) # Osserviamo il valore piuttosto basso dell'ultimo residuo. # questo era abbastanza atteso per via dell'outlier. # Osserviamo un valore in 2, la probabilità di avere un # valore maggiore o uguale a 2 per una gaussiana è: pnorm(-2) # Considerando che abbiamo 20 dati, non sembra così improbabile # come osservazione: 1/20 = 0.05 # I residui sembrano essere gaussiani. # Lo shapiro test conferma le osservazioni: shapiro.test(eps.st) # L'unico problema sembra essere il residuo relativo all'outlier # che è molto piccolo e sembra indicare che il modello sia # un po' troppo influenzato da tale dato. # Proviamo a rifare il modello lineare togliendo l'outlier: data.new <- data[which(data[,3]!=max(data[,3])),] graphics.off() plot(data.new) model.new <- lm(data.new\$price ~ data.new\$size + data.new\$value) summary(model.new) beta.new <- coefficients(model.new) h <- diag(H) # Vediamo di quanto "differisce" il nuovo modello # calcoliamo la distanza di Cook: D <- eps.st[16]^2*(h[16]/(1-h[16]))*1/(r+1) D alpha <- seq(0,1,0.01) y <- qf(1-alpha,r+1,n-r-1) graphics.off() plot(alpha,y,type='l',col="blue",xlab="alpha",ylab="qf(1-alpha)") abline(h=D) # La distanza di Cook è confrontabile con il quantile di livello # 0.15 della Fisher, quindi è un valore tutto sommato "piccolo". # Costruiamo un intervallo di confidenza per beta_2.new: # I dati ora sono n-1: alpha <- 0.05 ICbeta2.new <- c(beta.new[3]-sqrt(vcov(model.new)[3,3])*qt(1-alpha/2,(n-1)-r-1),beta.new[3]+sqrt(vcov(model.new)[3,3])*qt(1-alpha/2,(n-1)-r-1)) ICbeta2.new <- matrix(ICbeta2.new,nrow=1,ncol=2) dimnames(ICbeta2.new)[[2]] <- make.names(c("left","right")) dimnames(ICbeta2.new)[[1]] <- make.names(c("IC beta2.new")) rbind(ICbeta2,ICbeta2.new) # Occhio che gli intervalli hanno SINGOLARMENTE livello # 1-alpha! # ======================================================== # (c) Generate a 95% prediction interval for the selling # price Y_0 corresponding to total dwelling size # z1=17 and assessed value z2=46 # ======================================================== # Usiamo il modello originale come richiesto dall'esercizio: attach(data) model.old <- lm(price ~ size + value) Z0 <- matrix(c(17,46),nrow=1,ncol=2,byrow=TRUE) dimnames(Z0)[[2]] <- make.names(c("size","value")) Z0 <- as.data.frame(Z0) conf <- predict(model.old,Z0,interval="prediction",level=0.95) conf detach(data) # Con il modello senza outlier: attach(data.new) model.new <- lm(price ~ size + value) conf.new <- predict(model.new,Z0,interval="prediction",level=0.95) conf.new detach(data.new) tmp <- rbind(conf,conf.new) dimnames(tmp)[[1]] <- make.names(c("old.model","new.model")) tmp rm(tmp) # ======================================================== # (d) Carry out a likelihood ratio test of H_0 : \beta_2 = 0 # with a significance level of \alpha=0.05. Should # the original model be modified? Discuss. # ======================================================== summary(model.old) # Il p-value è molto alto, possiamo pensare di tentare # un nuovo modello senza value. # ---------------------------------------- # Modello: # price ~ size # ---------------------------------------- model.uni <- lm(data\$price ~ data\$size) summary(model.uni) model.uni.new <- lm(data.new\$price ~ data.new\$size) summary(model.uni.new) # L'R^2 del secondo è più basso beta <- coefficients(model.uni) beta.new <- coefficients(model.uni.new) plot(data\$size,data\$price,xlab="size",ylab="price",main="I due modelli a confronto") abline(beta[1],beta[2],col="blue") abline(beta.new[1],beta.new[2],col="red") legend(x=22,y=90,legend=c("completo","senza outlier"),fill=c("blue","red")) # Tutto sommato sembra meglio tenere l'outlier eps.st <- rstandard(model.uni) layout(matrix(c(1,2,3,3),nrow=2,ncol=2,byrow=TRUE)) plot(data\$size,eps.st,xlab="size",ylab="residuals",main="Residuals Vs. Size",col="blue") abline(h=0) plot(data\$price,eps.st,xlab="price",ylab="residuals",main="Residuals Vs. Price",col="blue") abline(h=0) qqnorm(eps.st,col="blue") qqline(eps.st) # Non sembrano esserci patologie particolari nei residui. # Essi sembrano essere tuttosommato normali. # In effetti: shapiro.test(eps.st) # ---------------------------------------- # Modello: # price ~ value # ---------------------------------------- # Modello "completo": model.uni2 <- lm(data\$price ~ data\$value) summary(model.uni2) # Modello senza outlier: model.uni2.new <- lm(data.new\$price ~ data.new\$value) summary(model.uni2.new) beta <- coefficients(model.uni2) beta.new <- coefficients(model.uni2.new) plot(data\$value,data\$price,xlab="value",ylab="price",main="I due modelli a confronto") abline(beta[1],beta[2],col="blue") abline(beta.new[1],beta.new[2],col="red") legend(x=60,y=100,legend=c("completo","senza outlier"),fill=c("blue","red")) # Anche in questo caso sembra essere meglio tenere # il dato outlier eps.st <- rstandard(model.uni2) layout(matrix(c(1,2,3,3),nrow=2,ncol=2,byrow=TRUE)) plot(data\$value,eps.st,xlab="value",ylab="residuals",main="Residuals Vs. Value",col="blue") abline(h=0) plot(data\$price,eps.st,xlab="price",ylab="residuals",main="Residuals Vs. Price",col="blue") abline(h=0) qqnorm(eps.st,col="blue") qqline(eps.st) # Il qq-plot non sembra "bello" come prima: shapiro.test(eps.st) # comunque i residui sembrano ancora gaussiani. # ---------------------------------------- # In conclusione il precedente sembra essere il modello migliore # fra i due univariati. # ----------------------------------------
PS : Ho usato la libreria "lattice" per produrre alcuni grafici... per poter far girare l'esempio devi installarla.
*** EDIT ***
Maledetti \$ che incasinano il MathML ho dovuto metterci la '\' davanti!

Comunque sembra complicato ma non lo è. Gli unici comandi difficili sono quelli grafici, ma c'è sempre il manuale in linea "?comando".
PPS : Puoi fare copia-incolla dei comandi dentro la console di R.
Ciao David grazie della tua risposta. Ho scaricato R e naturalmente non avendo alcuna dimestichezza con questo tipo di strumenti sono rimasto di sasso. Lo ho installato, aggiornato e installati i pacchetti regress e retest. Fatto questo mi son fermato perchè non son neppure riuscito a importare i dati su cui effettuare le analisi, figuriamoci poi cosa cobinerò quando proverò a effettuarle!!!!!!
Per quello che riguarda i dati da ricavare sono comunque sempre compresi negli intervalli dei dati noti.
Confido nella tua pazienza nel volermi continuare ad aiutare e naturalmente te ne ringrazio.
Ivo
Per quello che riguarda i dati da ricavare sono comunque sempre compresi negli intervalli dei dati noti.
Confido nella tua pazienza nel volermi continuare ad aiutare e naturalmente te ne ringrazio.
Ivo
Ciao, benvenuto sul forum! Non e' necessario darci del voi! 
Il tuo sembra un bel problema di statistica applicata. Se ho capito bene tu vuoi costruire un sistema automatico che ti permetta, date due variabili (o tre), di dedurre la risposta anche per i valori non tabulati. Io credo che un modello lineare in questo caso dovrebbe produrre risultati ottimi (basta che non lo usi poi per stimare valori molto sopra o sotto quelli tabulati!).
Tuttavia non credo che la cosa ideale sia farne un codice, meno che meno in pascal. Infatti visto che devi fare molte regressioni multilineari (una per ogni scenario), magari trasformando opportunamente i dati (tipo Box-Cox), ti troveresti a dover risolvere dei problemi numerici piuttosto complicati (e di grandi dimensioni) per la stima dei coefficienti. La cosa giusta da fare e' usare GNU-R che e' un software statistico molto molto avanzato e disponibile gratuitamente (anche per uso commerciale) sotto licenza GPL.
Il tuo problema dovrebbe ridursi nel fare un certo numero di regressioni lineari (1 comando R e via) e analizzandone i risultati...

Il tuo sembra un bel problema di statistica applicata. Se ho capito bene tu vuoi costruire un sistema automatico che ti permetta, date due variabili (o tre), di dedurre la risposta anche per i valori non tabulati. Io credo che un modello lineare in questo caso dovrebbe produrre risultati ottimi (basta che non lo usi poi per stimare valori molto sopra o sotto quelli tabulati!).
Tuttavia non credo che la cosa ideale sia farne un codice, meno che meno in pascal. Infatti visto che devi fare molte regressioni multilineari (una per ogni scenario), magari trasformando opportunamente i dati (tipo Box-Cox), ti troveresti a dover risolvere dei problemi numerici piuttosto complicati (e di grandi dimensioni) per la stima dei coefficienti. La cosa giusta da fare e' usare GNU-R che e' un software statistico molto molto avanzato e disponibile gratuitamente (anche per uso commerciale) sotto licenza GPL.
Il tuo problema dovrebbe ridursi nel fare un certo numero di regressioni lineari (1 comando R e via) e analizzandone i risultati...