3 a -4 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Laurea Specialistica in Ingegneria Matematica a.a. 2006-2007.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

INFORMATICA Altre Istruzioni di I/O
Equazioni non lineari Gabriella Puppo.
LINGUAGGIO DI PROGRAMMAZIONE C
Dipartimento di Matematica
Metodi numerici in Matlab
Introduzione a Matlab Gabriella Puppo.
PHP.
MATLAB Cristina Campi
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
MATLAB Stefano Gagliardo
Introduzione a Matlab. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente specializzate.
8 a lezione - laboratorio a.a Esercizi Preparziale Corso di Laurea ING. MECCANICA.
1 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Corso di Matlab_Simulink per Ingegneria 3
Anno accademico Il preprocessore del linguaggio C.
Fondamenti di Informatica I a.a Il linguaggio C Il preprocessore La sostituzione di macro Le compilazioni condizionali Linclusione di file C.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
FUNZIONI DI BIBLIOTECA
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
MATLAB. Annalisa Pascarella
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Introduzione a Matlab Gabriella Puppo. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente.
Soluzione FEM di problemi parabolici
Metodi numerici per equazioni lineari iperboliche Gabriella Puppo.
Funzioni matematico – statistiche I comandi matematici di più comune utilizzo, applicabili a scalari e matrici, sono: Sqrt(x), che calcola la radice quadrata.
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Marco Panella MATLAB Marco Panella
1 5 a -6 a lezione di laboratorio Laurea Specialistica in Ingegneria MATEMATICA Laurea Specialistica in Ingegneria MATEMATICA a.a
1a-2a lezione di laboratorio
Esercitazione 2 – Generazione di variabili Matlab.
I File.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX AWK Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Corso di PHP.
INTRODUZIONE A MATLAB.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
CODIFICA Da flow-chart a C++.
Realizzato da Roberto Savino
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input/output 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Lezione 1: Introduzione all’uso di Matlab
Lezione 3 Struttura lessicale del linguaggio
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Lezione 11 Riccardo Sama' Copyright  Riccardo Sama' Excel.
Introduzione a Javascript
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Microsoft Access Chiavi, struttura delle tabelle.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file.
Transcript della presentazione:

3 a -4 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Laurea Specialistica in Ingegneria Matematica a.a

m-file File di testo contenente codici MATLAB. Consente di memorizzare ed organizzare istruzioni e comandi MATLAB script function m-file

m-file script Standard ASCII file di testo Esegue una serie di comandi MATLAB sul workspace base Il carattere % è usato per: scrivere commenti allinterno di M-file definire il formato di stampa % eps1.m - m-file per % calcolare la precisione di % macchina num=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; tab(num,:)=[num EPS]; fprintf('%3d %30.16e\n',... tab(num,:)); end EPS=tab(end-1,2) % eps1.m - m-file per % calcolare la precisione di % macchina num=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; tab(num,:)=[num EPS]; fprintf('%3d %30.16e\n',... tab(num,:)); end EPS=tab(end-1,2) N.B. Lo script non accetta argomenti di input e di output

Salvare e richiamare un m-script Richiamare: Si richiama digitando solo il nome con cui è stato memorizzato il file eps1 N.B. Lo script opera sul Workspace base. Salvare un m-script: Dopo avere digitato le istruzioni nella finestra delleditor di testo, si salva selezionando sulla barra la voce file e scegliendo nel menu : Save as. Assegnare un nome: eps1

Risultati del file eps1.m % eps1.m - m-file per % calcolare la precisione di % macchina num=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; tab(num,:)=[num EPS]; fprintf('%3d %30.16e \n',... tab(num,:)); end EPS=tab(end-1,2) % eps1.m - m-file per % calcolare la precisione di % macchina num=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; tab(num,:)=[num EPS]; fprintf('%3d %30.16e \n',... tab(num,:)); end EPS=tab(end-1,2) » eps e e e-001 ………………… e e-016 » » eps e e e-001 ………………… e e-016 » La variabile EPS è stata scelta con lettere maiuscole per differenziarla dalla variabile eps del Matlab.

m-file function function s = fatt(c) % %fatt calcola il fattoriale di c. % s=1; if c>=1 for i=1:c s=s*i; end Help Online Codice Argomento di output Nome della funzione Argom. di input function [out1,out2,out3] = nome_fun(in1,in2) Caso generale

– Si salva in modo analogo ad un m-script: nome_fun – Si richiama digitando unuguaglianza del tipo:[out1,out2,out3] = nome_fun(in1,in2) – out1,out2,out3 sono i parametri in uscita, – in1,in2 sono i parametri in input valore=fatt(5) N.B. La function accetta argomenti di input e di output opera su unarea di memoria distinta dal Workspace base (variabili locali) Salvare e Richiamare una m-function

function s = fatt(c) % % fatt calcola il fattoriale del numero c usando la definizione. % s=1; if c>=1 for i=1:c s=s*i; end function s = fatt(c) % % fatt calcola il fattoriale del numero c usando la definizione. % s=1; if c>=1 for i=1:c s=s*i; end Risultati della function fatt.m » numero =5; » valore=fatt(numero) valore = 120 » » numero =5; » valore=fatt(numero) valore = 120 » Osservazione: Esiste inoltre la function factorial di Matlab che restituisce il fattoriale di un numero (si faccia lhelp). Usando la function prod del Matlab, si può anche calcolare il fattoriale di un numero: » valore=prod(1:5) valore = 120 » Usando la function prod del Matlab, si può anche calcolare il fattoriale di un numero: » valore=prod(1:5) valore = 120 »

Un secondo esempio di file function function m = media(v) % % MEDIA calcola la media % aritmetica di n numeri % memorizzati nel vettore v. % n=length(v); m=0; for i=1:n m=m+v(i); end m=m/n; function m = media(v) % % MEDIA calcola la media % aritmetica di n numeri % memorizzati nel vettore v. % n=length(v); m=0; for i=1:n m=m+v(i); end m=m/n; » v =[ ]; » media_ar=media(v) media_ar = » » v =[ ]; » media_ar=media(v) media_ar = » Usando la function sum di Matlab si ottiene anche la media : » v =[ ]; » media_ar=sum(v)/length(v) media_ar = » Usando la function sum di Matlab si ottiene anche la media : » v =[ ]; » media_ar=sum(v)/length(v) media_ar = » Osservazione: Esiste la function mean di Matlab che restituisce la media di n Numeri (si faccia lhelp).

Per utilizzare i file function sui PC del laboratorio 1. Sul PC o sul floppy sono presenti le cartelle: Sis_lin, Eq_non_lin, Approx, ecc. che non devono essere modificate per alcun motivo. 2.Copiare perciò dalla cartella relativa al problema, la function che si vuole utilizzare nella directory di lavoro: C:\Documents and Settings\studente\Documenti 3. Scegliere, in Current Directory del Matlab, il percorso: C:\Documents and Settings\studente\Documenti Il file che si sta creando nell editor e che talvolta contiene i dati per linput della function che si vuole utilizzare, dovrà essere salvato nella directory C:\Documents and Settings\studente\Documenti Buon lavoro!!!!

Funzioni matematiche elementari » x=[ ] » round(x) ans = » fix(x) ans = » floor(x) ans = » ceil(x) ans = » x=[ ] » round(x) ans = » fix(x) ans = » floor(x) ans = » ceil(x) ans =

Funzioni trigonometriche » x=[0:0.2:1]'; » y=sin(x); » [x y] ans = » x=[0:0.2:1]'; » y=sin(x); » [x y] ans = Langolo x deve essere espresso in radianti!!! Esistono anche funzioni trigonometriche che agiscono su angoli misurati in gradi.

ciclo for È simile a quello di altri linguaggi di programmazione Ripete le istruzioni molte volte Può essere annidato % ESEMPIO N = 4; for I = 1:N for J = 1:N A(I,J) = 1/(I+J-1); end % ESEMPIO N = 4; for I = 1:N for J = 1:N A(I,J) = 1/(I+J-1); end Osservazione: le istruzioni del ciclo su scritto consentono di costruire la matrice di Hilbert 4x4 che si può ottenere chiamando la function hilb(N) for espressione istruzioni end

Risultati >> format rat >> A A = 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 >> >> format rat >> A A = 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 >>

Esercizio 1: applicazione del ciclo for Scrivere un file script tale che, assegnate due matrici con n=3 e m=3, A=[1:3; 4:6; 7:9], B=[ ; 1 1 0; ], determini la matrice C delle stesse dimensioni, che ha lelemento C(i,j) pari a: C(i,j)=A(i,j)+cos((i+j)*pi/(n+m))*B(i,j). N.B. Si salvi lo script col nome prova

File prova.m A=[1:3; 4:6; 7:9]; B=[ ; 1 1 0; ]; [n,m]=size(A); for i =1:n for j=1:m C(i,j)=A(i,j)+cos((i+j)*pi/(n+m))*B(i,j); end disp('Il risultato è') disp(C)

Risultati file prova.m >>prova Il risultato è >> >>prova Il risultato è >>

Operatori relazionali e logici Logici Relazionali Gli operatori relazionali precedono nellordine gli operatori logici.

ciclo while Consente di ripetere le istruzioni sotto il controllo di una condizione logica % ESEMPIO I=1; N=4; while I <= N J = 1; while J <= N A(I,J) =(I+J); J=J+1; end I=I+1; end % ESEMPIO I=1; N=4; while I <= N J = 1; while J <= N A(I,J) =(I+J); J=J+1; end I=I+1; end while condizione_logica istruzioni end

Risultati >> A A = >> >> A A = >> Costruire con cicli while la matrice di Hilbert 4x4.

Costrutto if - else È una struttura condizionale Se una condizione è verificata esegue le istruzioni associate if condizione_logica_1 istruzioni elseif condizione_logica_2 istruzioni … elseif condizione_logica_n istruzioni else istruzioni end N.B. La parola chiave elseif, nel costrutto qui presentato, va scritta senza spazio tra else e if. if condizione_logica istruzioni end

Esempio N=4; for I=1:N for J=1:N if I == J A(I,J) = N^2; elseif I<J A(I,J) = J; else A(I,J) = I; end N=4; for I=1:N for J=1:N if I == J A(I,J) = N^2; elseif I<J A(I,J) = J; else A(I,J) = I; end Questo script consente di costruire una matrice simmetrica che ha tutti 4 ^2 sulla diagonale principale, il vettore [2 3 4] sulla prima codiagonale (inferiore e superiore), il vettore [3 4] sulla seconda codiagonale (inferiore e superiore) e gli elementi A(1,4) e A(4,1) uguali a 4.

Risultati >> A A = >> >> A A = >> Lo studente verifichi che lo script precedente, per N generico, costruisce una matrice simmetrica che ha N^2 su ogni elemento della diagonale principale e il vettore v=k+1: N sulla codiagonale k-esima (inferiore e superiore), k=1,…,N-1.

Comando di input input : inserimento di variabili numeriche da tastiera » z=input(' Introduci il valore di z ') Introduci il valore di z -12 z = -12 » z=input(' Introduci il valore di z ') Introduci il valore di z -12 z = -12 » a=input(' Introduci la matrice a ') Introduci la matrice a [0 -1 0; 3:5; -2*ones(1,3)] a = » a=input(' Introduci la matrice a ') Introduci la matrice a [0 -1 0; 3:5; -2*ones(1,3)] a = Sintassi: nome_var=input(str) str: stringa che si vuole compaia sul prompt

Comando di input input : inserimento di stringhe da tastiera » flag=input('Vuoi continuare? ') Vuoi continuare? 'Si' flag = Si » flag=input('Vuoi continuare? ', ' s ' ) Vuoi continuare? Si flag = Si » flag=input('Vuoi continuare? ') Vuoi continuare? 'Si' flag = Si » flag=input('Vuoi continuare? ', ' s ' ) Vuoi continuare? Si flag = Si Sintassi: var_str=input(str) oppure var_str=input(str, ' s ' ) str: stringa che compare sul prompt

Comandi di output disp consente di stampare linee di testo e valori di variabili. » disp('valore della funzione') valore della funzione » disp('valore della funzione') valore della funzione num2str(x) converte lo scalare x in una stringa di caratteri »x=sqrt(2); »disp(x) »x=sqrt(2); »disp(x) » disp(['Il valore di x è ',num2str(x)]) Il valore di x è » disp(['Il valore di x è ',num2str(x)]) Il valore di x è Sintassi: disp(str) str stringa o nome di una variabile numerica che si vuole far comparire sul prompt.

Comandi di output fprintf consente di stampare linee di testo, valori numerici e matrici (tabelle) specificandone il formato. Sintassi: fprintf( ' formato \n ', tab ' ) formato è una stringa contenente i formati scelti con la specifica f oppure e, per i formati virgola fissa o virgola mobile con la regola: %campo_totale.num_cifre_decimalitipo_formato I formati devono essere in numero pari alle colonne della matrice tab ; %campo d è la scrittura per i numeri interi \n serve per andare a capo

» temp=31; » fprintf('La temperatura è di %4.1f gradi C°\n',temp) La temperatura è di 31.0 gradi C° » temp=31; » fprintf('La temperatura è di %4.1f gradi C°\n',temp) La temperatura è di 31.0 gradi C° » fprintf(' %f\n',pi) » fprintf(' %f\n',pi) %f consente la stampa dei numeri in fixed point, %e consente la stampa in floating point » fprintf( %13.10f\n ',pi) » fprintf( %18.10e\n ',pi) e+000 » fprintf( %13.10f\n ',pi) » fprintf( %18.10e\n ',pi) e+000 Nei formati f ed e il numero alla sinistra del punto è il campo totale, quello alla destra indica quante cifre decimali devono essere stampate

Come visualizzare una tabella Quesito: Perché è stato scritto tab'? Risposta: Per stampare nel formato scelto, la matrice tab, che è stata costruita per colonne, così come si visualizza sul Command quando si digita tab. N.B. Se la matrice tab fosse stata costruita per righe in fprintf sarebbe bastato porre semplicemente tab

Esercizio 2 Calcolare la funzione f = e -x sin(x) nei punti appartenenti allintervallo [0,1] equispaziati con passo 0.2. Costruire una tabella contenente i valori di x e di f e stamparla utilizzando: 3 cifre decimali in formato virgola fissa per x 8 cifre decimali in virgola fissa per f. N.B. Si memorizzi il file col nome funzione

Numero di formati pari alle righe della matrice tab ; File funzione.m e risultati x=[0:.2:1]; % vettore riga f=exp(-x).*sin(x); tab=[x; f];%tab costruita per righe fprintf(' x f\n') fprintf('%6.3f %12.8f\n',tab) x=[0:.2:1]; % vettore riga f=exp(-x).*sin(x); tab=[x; f];%tab costruita per righe fprintf(' x f\n') fprintf('%6.3f %12.8f\n',tab) x f x f Risultati

Esercizio 3 Costruire una stringa che mostri il valore di con 6 cifre decimali; utilizzare poi un comando di output per farlo stampare sul prompt. Creare la stringa di input che consente di assegnare alla variabile A una matrice generica. Creare la stringa di input che consente di assegnare alla variabile f la stringa 4ln(x)-7e -x.

Soluzioni esercizio 3 1.» str=[Il valore di pi greco è, num2str(pi,7)]; % il secondo numero in % parentesi rappresenta il numero massimo di % cifre significative con cui si vuole % rappresentare pi » disp(str) Il valore di pi greco è » A=input('inserisci la matrice A = '); inserisci la matrice A = -3*ones(2,3) » 3. » f=input('inserisci la funzione ') inserisci la funzione ' 4*log(x)-7*exp(-x)' » f = 4*log(x)-7*exp(-x) 1.» str=[Il valore di pi greco è, num2str(pi,7)]; % il secondo numero in % parentesi rappresenta il numero massimo di % cifre significative con cui si vuole % rappresentare pi » disp(str) Il valore di pi greco è » A=input('inserisci la matrice A = '); inserisci la matrice A = -3*ones(2,3) » 3. » f=input('inserisci la funzione ') inserisci la funzione ' 4*log(x)-7*exp(-x)' » f = 4*log(x)-7*exp(-x)

Presenza di un parametro in una stringa k = fs = x.^2+k*x-3 ??? Error using ==> inline.feval Not enough inputs to inline function. Error in ==> fplot at 102 x = xmin; y = feval(fun,x,args{4:end}); Error in ==> concatenaz_strin at 26 fplot(fs,[-4 0]) k = fs = x.^2+k*x-3 ??? Error using ==> inline.feval Not enough inputs to inline function. Error in ==> fplot at 102 x = xmin; y = feval(fun,x,args{4:end}); Error in ==> concatenaz_strin at 26 fplot(fs,[-4 0]) clc clear all x=(-4:0.5:0)' ; k= fs='x.^2+k*x-3' fplot(fs,[-4 0]) La presenza di un parametro nella stringa fs produce errore nel comando fplot. Occorre trasformare il valore numerico di k in stringa e, di conseguenza, modificare la scrittura di fs. La presenza di un parametro in una stringa può talvolta essere causa di errore.

Espressione corretta della stringa fs da utilizzare nel comando fplot ks=num2str(k) % ks è la stringa '4.5051' (il valore di k è % arrotondato con 4 decimali) fs=['x.^2+',ks,'*x-3'] % fs è ottenuta come concatenazione di stringhe fplot(fs,[-4 0]) Nota Bene: Il comando num2str(k) trasforma k in una stringa di cifre (le stesse cifre di k ) con 4 cifre decimali.

clc clear all x=(-4:0.5:0)';format long k= fs='x.^2+k*x-3' f=eval(fs); format short [x f] ks=num2str(k) % è unapprossimazione del valore a 4 % decimali!!!!!! fs=['x.^2+',ks,'*x-3'] f=eval(fs); [x f] Programma stringhe: In questo caso la stringa è valutata correttamente Valutazione di stringa

Output del file stringhe k = fs = x.^2+k*x-3 ans = k = fs = x.^2+k*x-3 ans = ks = fs = x.^ *x-3 ans = ks = fs = x.^ *x-3 ans = ks è una stringa che ha solo 4 cifre decimali Lutilizzo di un valore approssimato per il parametro ks, produce ovviamente valori approssimati sulla quarta cifra decimale.

Presenza di un parametro in una stringa: un altro caso di errore clc clear all x=(-4:0.5:0)'; k= ; fs='x.^2+k*x-3'; tab=tabella(x,fs) function tab=tabella(x,fs) f=eval(fs); tab=[x f]; ??? Error using ==> eval Undefined function or variable 'k'. Error in ==> tabella at 2 f=eval(fs) Error in ==> concatenaz_strin at 26 tab=tabella(x,fs) ??? Error using ==> eval Undefined function or variable 'k'. Error in ==> tabella at 2 f=eval(fs) Error in ==> concatenaz_strin at 26 tab=tabella(x,fs) La funzione tabella non ha visibilità sul parametro k.

function tab=tabella(x,fs) f=eval(fs); tab=[x f]; clc clear all x=(-4:0.5:0)'; k= ; ks=num2str(k); fs=['x.^2+',ks,'*x-3']; tab=tabella(x,fs) Un modo per eliminare il problema è ancora ricorrere allutilizzo del comando num2str : tab = tab = Con luso di num2str, la function non ha problemi di visibilità su k perché k non è più un parametro numerico.

function tab=tabella(x,fs) global k f=eval(fs); tab=[x f]; Altro modo di risolvere il problema clc clear all global k x=(-4:0.5:0)'; k= ; fs=['x.^2+k*x-3']; tab=tabella(x,fs) tab =