[matlab] problema fwrite
ho la funzione creata in matlab che è mostrata sotto. ottengo un errore nella fwrite nel quale mi dà il seguente errore
??? Error using ==> fwrite
Invalid precision.
però non riesco a capire perchè è sbagliato. C'è qualcuno che riesce ad aiutarmi? Grazie mille!
??? Error using ==> fwrite
Invalid precision.
però non riesco a capire perchè è sbagliato. C'è qualcuno che riesce ad aiutarmi? Grazie mille!

function vibrazioni_2631 (dati,nome,area_prova,cond_prova,vel) kx=1.4; ky=1.4; kz=1; dt=dati(4,1)-dati(3,1); l=length(dati(1,:)) f_nome=[nome, '_elab.txt']; fid=fopen(f_nome, 'a') prova.nome=nome; prova.area=area_prova; prova.cond=cond_prova; prova.vel=vel; %calcolo rms prova.aw_x=sqrt(dt*trapz(dati(:,2).^2)/(dati(end,1))); prova.aw_y=sqrt(dt*trapz(dati(:,4).^2)/(dati(end,1))); prova.aw_z=sqrt(dt*trapz(dati(:,6).^2)/(dati(end,1))); prova %calcolo accelerazione risultante prova.aw=max([kx.*prova.aw_x,ky.*prova.aw_y,kz.*prova.aw_z]); %calcolo crest factor prova.cf_x=max(dati(:,2))/prova.aw_x; prova.cf_y=max(dati(:,4))/prova.aw_y; prova.cf_z=max(dati(:,6))/prova.aw_z; %calcolo vdv prova.vdv_x=(dt*trapz(dati(:,2).^4))^0.25; prova.vdv_y=(dt*trapz(dati(:,4).^4))^0.25; prova.vdv_z=(dt*trapz(dati(:,6).^4))^0.25; prova.vdv=max([kx.*prova.vdv_x,ky.*prova.vdv_y,kz.*prova.vdv_z]); %calcolo tempo prova.ore=fix((0.5/prova.aw).^2*8) prova.min=rem((0.5/prova.aw).^2*8,60) prova.tempo=(0.5/prova.aw).^2*8/24 if prova.tempo>=1 prova.tempo=0.99 end fwrite (fid, '%s ; %s ; %s ; %4.0f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f ; %4.2f', ... prova.nome, prova.cond, prova.area,prova.vel,prova.aw,prova.vdv,prova.ore,prova.min,prova.aw_x,prova.aw_y,prova.aw_z,prova.vdv_x,prova.vdv_y,prova.vdv_z,... prova.cf_x,prova.cf_y,prova.cf_z,prova.tempo); fclose (fid)
Risposte
up! nessuno sà aiutarmi?
up! nessuno sà aiutarmi?