Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Lenovo Idea Tab Plus prova a portare un display da 12,1 pollici 2.5K, quattro speaker Dolby Atmos e una batteria da 10.200 mAh sotto la soglia psicologica dei 300 euro, penna inclusa. Lo abbiamo usato per oltre una settimana per capire dove l'azienda ha tagliato e dove invece ha tenuto il punto
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea
L'euro digitale è una valuta fiat che entrerà in vigore nei prossimi anni. L'obiettivo principale è quello di ridurre la dipendenza dalle piattaforme di pagamento digitali statunitensi e offrire ai cittadini un modo semplice per trasferire denaro. Anche offline, anche in maniera (pseudo)anonima
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-11-2008, 21:30   #1
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
[Python]Trapezium rule

A parte l'orrida forma(che poi si puo sistemare).
Sto cercando di creare una funzione per la regola del trapezio di integrazione numerica.
con k=1,..,n


Codice PHP:
#!/usr/bin/env python 

def trapezium_rule(fab):
  
"Approximate the definite integral of f from a to b by Trapezium rule." 
  
return (a) * ((f(a) + f(b))/2)
  
"Approximate the definite integral of f from a to b(subdivided) by Trapezium rule. n is the numbers of partitions "  
def trapezium_plus(f,a,b,n):    
  
= (b-a)/2*
  res 

  x 
= {0:0}
  
  for 
i in range(1n):
      
tmp i*((b-a)/n)
      
x[i]= tmp
      
  x
[1] = f(x[1])
  
x[n] = f(x[n])
  
  for 
j in range(2n-1):
      
x[j] = f(x[j])    
      
  
out 0
  
  
for k in range(1n):
       
out += x[k]
       
  
res z*out    
  
return res
    
from math import sin
from math import pi
print 'BEGIN'
print 'integral of sin(x) from 0 to 2*pi:\n'
print '\n'
print trapezium_plus(sin02*pi30)
print 
'END' 
Il risultato che mi esce è però

Codice:
BEGIN
integral of sin(x) from 0 to 2*pi:



Traceback (most recent call last):
  File "trapezium.py", line 37, in <module>
    print trapezium_plus(sin, 0, 2*pi, 30)
  File "trapezium.py", line 19, in trapezium_plus
    x[n] = f(x[n])
KeyError: 30
Dove sbaglio??

Grazie
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 28-11-2008 alle 21:35.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2008, 21:49   #2
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
in metacodice sarebbe:

Codice:
FUNCTION trapez(f,a,b,n)
  z = (b-a)/2*n
  FOR i=1:n
    x(i)=a+i*((b-a)/n)
  END
  res = f(x(1))+f(x(n))
  FOR i=2:n-1
    res = res + f(x(i))
  END
  res = res*z
RETURN res
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2008, 22:20   #3
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Prova così:
Codice:
def trapez(f, a, b, n):
  z = (b - a) / 2 * n
  for i in xrange(1, n + 1):
    x[i] = a + i * ((b - a) / n)
  res = f(x[1]) + f(x[n])
  for i in xrange(2, n):
    res += f(x[i])
  return res * z
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2008, 22:32   #4
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
grazie... mi ero un po impantanato in una cavolata
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2008, 22:41   #5
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Codice:
#!/usr/bin/env python 

def trapezium_rule(f, a, b):
  "Approximate the definite integral of f from a to b by Trapezium rule." 
  return (b - a) * ((f(a) + f(b))/2)
  
"Approximate the definite integral of f from a to b(subdivided) by Trapezium rule. n is the numbers of partitions "  
def trapezium_plus(f,a,b,n):	
  z = (b-a)/2*n 
  res = z 
  x = {0:0}
  
  for i in range(1, n+1):
  	x[i]= a + i*((b-a)/n)
  	
  res = f(x[1]) + f(x[n])
  
  for j in range(2, n):
  	x[j] = 2 * f(x[j])	
  
  for k in range(1, n):
  	 res += x[k]	
  	 
  return res * z
  
"by cdimauro"    
def trapez(f, a, b, n):
  x = {0:0}
  z = (b - a) / 2 * n
  for i in xrange(1, n + 1):
    x[i] = a + i * ((b - a) / n)
  res = f(x[1]) + f(x[n])
  for i in xrange(2, n):
    res += f(x[i])
  return res * z
	
from math import sin
from math import pi

n = input ('Number of iteration?')
print 'BEGIN'
print '\nWith', n, ' iteration'
print '\nIntegral of sin(x) from 0 to 2*pi(ref from Simpson):\t 2.5648942583e-16'
print '\nIntegral of sin(x) from 0 to 2*pi(trapezium_plus):\t' , trapezium_plus(sin, 0, 2*pi, n)
print '\nIntegral of sin(x) from 0 to 2*pi(trapez):\t' , trapez(sin, 0, 2*pi, n)
print '\nEND'
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 28-11-2008 alle 22:52.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea Oltre il contante e le crypto: tutto sull'Euro D...
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Google lancia Gemini 3.6 Flash e nuovi m...
I centauri esistono, almeno quelli robot...
La Francia ha deciso: stop ai social net...
Samsung Robotix eXperience (RX): la nuov...
Intel accelera il piano di efficienza, n...
YouTube cambia le regole per i contenuti...
Pulsar Feinmann F01 Noctua Edition: il m...
Dopamine sites, fare shopping online per...
TSMC, arrestato un altro ex dirigente: e...
Intel Foundry conquista Fortinet: il Sec...
Pagamenti ancora manuali nelle concessio...
TSMC aumenterà i prezzi dei wafer...
Chi è causa del suo mal pianga s&...
La Toscana testa l'IA per la sicurezza s...
L'IA costa troppo: la nuova mossa di Ins...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v