Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

funzioni scilab

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] funzioni scilab

Messaggioda Foto UtenteStellas82s » 25 ott 2010, 21:47

Ciao
volevo sapere se in scilab esiste una funzione che calcola il prodotto fra una matrice ed un vettore e quindi mi ritorna un vettore ho provato a farla
function out=prodotto
[m.n]=size (A)
il vettore?
C=A*il vettore
end function

Altrimenti con un ciclo for lo so fare scorrendo righe della matrice ma.... vorrei una funzione
Avatar utente
Foto UtenteStellas82s
0 2
 
Messaggi: 10
Iscritto il: 16 set 2010, 14:02

0
voti

[2] Re: funzioni scilab

Messaggioda Foto UtenteRenzoDF » 25 ott 2010, 23:21

Riformulo la mia risposta

NON capisco la domanda :mrgreen:

puoi spiegarti meglio ?
"Il circuito ha sempre ragione" (Luigi Malesani)
Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55

0
voti

[3] Re: funzioni scilab

Messaggioda Foto UtenteStellas82s » 26 ott 2010, 10:07

Allora io devo creare una funzione in scilab
in cui mi serve un'output tale che sia il prodotto tra una matrice e un vettore quindi mi aspetto come risultato un vettore, sapresti scrivermi il codice perché io ho provato una cosa del genere


function y=output(ff,ww)
dove ff è la mia matrice 30 righe per 6 colonne e ww è il mio vettore 30 righe per 1 colonna
quindi devo ottenere il loro prodotto ma con una semplice moltiplicazione* non viene

end function
Avatar utente
Foto UtenteStellas82s
0 2
 
Messaggi: 10
Iscritto il: 16 set 2010, 14:02

0
voti

[4] Re: funzioni scilab

Messaggioda Foto UtenteRenzoDF » 26 ott 2010, 10:47

Stellas82s ha scritto: ho provato una cosa del genere
function y=output(ff,ww)
end function


con questo modo di definire la funzione non viene di sicuro :D
... è comunque inutile definire una funzione quando è possibile farlo direttamente ;-)

Stellas82s ha scritto:dove ff è la mia matrice 30 righe per 6 colonne e ww è il mio vettore 30 righe per 1 colonna
quindi devo ottenere il loro prodotto ma con una semplice moltiplicazione* non viene


come ben sai il prodotto fra due matrici A e B è possibile solo se le dimensioni sono rispettivamente mxp e pxn, ovvero le colonne del primo sono uguali alle righe della seconda e fornisce un risultato una matrice mxn (l'operazione non è commutativa).
Nel tuo caso supponendo tu voglia ottenere un vettore che ha per elementi i prodotti fra vettore V 30x1 e colonne della matrice M 30x6, basterà usare il prodotto fra trasposto del vettore V' 1x30 e matrice M 30x6 per ottenere un vettore risultato R 1x6 ; per esempio

2010-10-26_103500.gif
2010-10-26_103500.gif (10.05 KiB) Osservato 1283 volte
"Il circuito ha sempre ragione" (Luigi Malesani)
Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55

0
voti

[5] Re: funzioni scilab

Messaggioda Foto Utenteadmin » 26 ott 2010, 10:51

RenzoDF ti ha già detto tutto.
Comunque ecco un codice che esegue quello che dici
Codice: Seleziona tutto
function [p]=prodottofw(ff,ww);
  p=ff*ww;
endfunction;   
ww=[1:30]';
ff=rand(6,30);
p=prodottofw(ff,ww)
Avatar utente
Foto Utenteadmin
196,7k 9 12 17
Manager
Manager
 
Messaggi: 11953
Iscritto il: 6 ago 2004, 13:14


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti