NI Home > Community > NI Discussion Forums

Forum Italiano sui Prodotti NI

Rispondere
Member
Andrea80
Post: 14
0 Kudos

Semplice applicazione con Matlab Scipt

Ciao a tutti,

ho realizzato una semplicissima funzione all'interno di un file Matlab, chiamato combinazione.m, di cui vi riporto per intero il contenuto:

 

function [s,t]= combinazione (a,b)

s=2*a+3*b;

t=5*a-2*b;

 

Ho utilizzato poi il Matlab Script di Labview in cui ho semplicemente inserito il percorso del file (combinazione.m), il nome della funzione e ho settato gli ingressi a e b. Non riesco purtroppo ad ottenere i valori dei parametri di uscita s e t.

Ho allegato per maggiore chiarezza lo strumentino realizzato.

 


Ho dimenticato qualche linea di codice nel programma? Oppure sto facendo un uso improprio del Matlab Script?

 


Attendo vostre risposte e rimango a completa disposizione.

 

Ciao,

Andrea  

Member
Andrea80
Post: 14
0 Kudos

Re: Semplice applicazione con Matlab Scipt

Non sono riuscito ad inserire il file .vi (nonostante siano solo 13 kB)
Ora ho inserito una immagine del diagramma a blocchi.

Speriamo bene...
Active Participant
Logan_081
Post: 569
0 Kudos

Re: Semplice applicazione con Matlab Scipt

Ciao
 
Creando un indicatore di errore in uscita della struttura e le opportune connessioni dovresti visualizzare il seguente messaggio di errore:
 
Error 1047 occurred at LabVIEW:  LabVIEW failed to send variable to the script server. Server:"" in applic_combinazione3.vi
 
Il problema in esame riguarda la registrazione nel sistema operativo delle componenti ActiveX. Per poter utilizzare gli script server è necessario chiudere tutti i programmi (MATLAB® e LabVIEW). Aprire MATLAB® e successivamente LabVIEW dopo che MATLAB® ha caricato tutte le sue componenti. A questo punto gli script server dovrebbero rispondere ed il messaggio di errore non apparire nelle esecuzioni successive del vi.
 
Per effettuare la registrazione delle componenti ActiveX bisogna portarsi sulla directory: MATLAB\(version)\bin  directory
(e.g. MATLAB\R2006b\bin) ed eseguire il seguente comando: matlab -regserver
Premere Quit sull'istanza di MATLAB® che appare. A questo punto i MATLAB script node dovrebbero essere funzionali. (Potrebbe essere necessario riavviare LabVIEW).
 
Se l'errore in questione dovesse persistere, questo potrebbe riguardare la lettura dei dati di input in relazione agli script scritti adottando la sintassi di linguaggio MathWorks, Inc. MATLAB®. 
Matteo C. - Test Engineer
Member
rokynflower
Post: 1
0 Kudos

Re: Potete aiutarmi a risolverlo?è urgenteeee

[ Modificato ]

Buonasera per favore sapreste risolvere questo esercizio di Programmazione e Calcolo con Matlab? Grazie in anticipo

Traccia:
Realizzare una funzione in matlab che ricevuti in input un array A appartenente all'insieme 'Rm*n' e un numero reale "num", conta il numero di elementi dell'array A che risultano minori, uguali e maggiori del numero "num" restituendoli in output come elementi di un vettore colonna "conteggi" appartenente a all'insieme R^3.
Algoritmo:
1) Inizializzare la variabile [m,n] contenente le dimensioni dell'array di input A.
2) inizializzare una variabile "conteggi" a un vettore di "zeri" di dimensioni (3,1)
3) scrivere una sequenza di cicli per verificare quando gli elementi dell array "A" soddisfano le relazioni minore,maggiore o uguale a "num".
4)effettuare una sequenza di controllo per conteggiare il numero di elementi di "A" che sono minori,maggiori o uguali a "num".
5) se un elemento di "A" è minore di num incrementare di 1 la prima componente del vettore "conteggi"
altrimenti se un elemento di "A" è maggiore " di "num" incrementare la seconda componente del vettore conteggi.
Altrimenti se un elemento di "A" è uguale a "num" incrementare di 1 la terza componente del vettore conteggi
6)chiudere il controllo
7) chiudere i cicli