|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 783
|
[Algoritmo] Scrivere formula matematica
Salve a tutti, vorrei chiedervi come scrivere questa funzione utilizzando un array monodimensionale invece della matrice w[i][j]
![]() In teoria la dovrei scrivere in C ma quello che piu mi interessa è l'algoritmo. Grazie a tutti. Ciao
__________________
"May the wind always be at your back and the sun upon your face. And may the wings of destiny carry you aloft to dance with the stars...." |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Nella formula hai 2 sommatorie. Per ogni 'i' che va da 0 a N hai una 'j' che va da 0 a M. In sostanza, a livello di codice, avrai un ciclo for annidato dentro un ciclo for.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
La formula per passare da una matrice bidimensionale m*n ad un vettore monodimensionale è la seguente:
- se u(i) è monodimensionale - v(j,k) è bidimensionale l'elemento di indici j,k corrisponde all'elemento di indice i con i = j + k*n dove n è la dimensione orizzontale della matrice rettangolare
__________________
Il sole è giallo |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Dec 2004
Messaggi: 783
|
Quote:
Quote:
Codice:
int x; int dim; //numerodo di colonne della matrice for(int i=0;i<N; i++) for(int j=0;j<M; j++) x+=sin(w[i+j*dim]*u[i]); ![]() ![]() C'è una soluzione diversa da questa: Codice:
int x; int dim; //numerodo di colonne della matrice for(int i=0;i<N; i++) for(int j=0;j<M; j++) somma+=sin(w[i+j*dim]*u[i]); x=sin(somma);
__________________
"May the wind always be at your back and the sun upon your face. And may the wings of destiny carry you aloft to dance with the stars...." Ultima modifica di salvodel : 07-11-2007 alle 15:15. |
||
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
m[i][j] può essere visto come un v[i*n+j] dove n è il numero di elementi in una riga. Quote:
Se non è così, please, rinfrescatemi la memoria perché in matematica sono certamente arruginito!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 783
|
Quote:
![]() Grazie
__________________
"May the wind always be at your back and the sun upon your face. And may the wings of destiny carry you aloft to dance with the stars...." |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:11.