function [m,C,capitalan,capitalmois,amortissement,interet]=... emprunt_brut(S,tau,n0an,nomfi,nom_emprunt); % emprunt_brut : calcul d'emprunt à taux constant et annuité fixe (brut : hors assurance et divers frais) % % % [m,C,capitalan,capitalmois,amortissement,interet]=... % emprunt_brut(S,tau,n0an,nomfi,nom_emprunt) : % % variables d'entrées : % - S : capital emprunté % - tau : tau nominal annuel annoncé sans assurance, en % % - n0an : nombre d'années % - arguments optionnels % - nomfi : nom du fichier de stokage en fichier texte pour fichier excell % affichage avec deux chiffre après virgule. % séparateur : point virgule % - nom_emprunt : chaîne du nom de l'emprunt % % variables de sortie : % - m : mensualité % - C : coût du crédit (somme des intérêts) % - arguments optionnels (dans l'ordre) : % - capitalan : tableau indiquant, année par année, le capital dû % (entre la zéro -ieme et le n0an ième) % - capitalmois : tableau indiquant, mois par mois, le capital dû % (entre le zéro-ième et le 12*n0an ième) % - amortissement : tableau indiquant, mois par mois, l'amortissement % (entre le zéro-ieme et le 12*n0an ième) % - interet : tableau indiquant, mois par mois, l'intérêt % (entre le zéro-ieme et le 12*n0an ième) % % % ************ Fonctions auxiliaires utilisées ************ % % aucune % % ********************************************************* % % (c) 2006 by Jérôme BASTIEN, % UTBM, Département GMC, Belfort % E-Mail : jerome.bastien@utbm.fr tauref=tau/12/100; n0mois=n0an*12; rho=1+tauref; m=S*tauref/(1-1/((rho)^n0mois)); if (m<=S*tauref) error(['la mensualité doit être strictement supérieure à ',num2str(S*tauref)]); end if n0mois==1 C=tauref*S; else C=n0mois*m-S; end nout=nargout; nin=nargin; if nout>=3 capitalan=zeros(1,n0an+1); capitalan(1)=S; auxicomp=12:12:n0mois-2; auxidu=(rho).^(auxicomp); capitalan(2:end-1)=auxidu*(S-m/tauref)+m/tauref; end if nout>=4 capitalmois=zeros(1,n0mois+1); capitalmois(1)=S; auxicomp=1:n0mois-1; auxidu=(rho).^(auxicomp); capitalmois(2:end-1)=auxidu*(S-m/tauref)+m/tauref; end if nout>=5 amortissement=zeros(1,n0mois+1); auxidu=[1 auxidu]; amortissement(2:end)=auxidu*(m-S*tauref); end if nout>=6 interet=zeros(1,n0mois+1); interet(2:end)=auxidu*(S*tauref-m)+m; end if (nin>=4)&(nout>=6) capitalanar=(round(100*capitalan))/100; capitalmoisar=(round(100*capitalmois))/100; amortissementar=(round(100*amortissement))/100; interetar=(round(100*interet))/100; mar=(round(100*m))/100; fid=fopen([nomfi,'.txt'],'w'); if nin==5 fprintf(fid,['Bilan emprunt : ',nom_emprunt,' ','\n']); else fprintf(fid,['Bilan emprunt','\n']); end fprintf(fid,[' \n']); fprintf(fid,[' \n']); fprintf(fid,['année;capital dû','\n']); fprintf(fid,[' \n']); for i=1:n0an+1 auxi=[int2str(i-1),';']; fprintf(fid,auxi); auxi=[num2str(capitalanar(i)),'\n']; fprintf(fid,auxi); end fprintf(fid,[' \n']); fprintf(fid,[' \n']); fprintf(fid,['mois;intérêt;amortissement;capital dû;mensualité','\n']); fprintf(fid,[';;;;brute','\n']); fprintf(fid,[' \n']); for i=0:n0mois auxi=[int2str(i),';']; fprintf(fid,auxi); auxi=[num2str(interetar(i+1)),';']; fprintf(fid,auxi); auxi=[num2str(amortissementar(i+1)),';']; fprintf(fid,auxi); auxi=[num2str(capitalmoisar(i+1)),';']; fprintf(fid,auxi); if i>=1 auxi=[num2str(mar),'\n']; fprintf(fid,auxi); else auxi=['\n']; fprintf(fid,auxi); end end auxi=['total;']; fprintf(fid,auxi); auxi=[num2str(sum(interet)),';']; fprintf(fid,auxi); auxi=[num2str(sum(amortissement)),';']; fprintf(fid,auxi); auxi=[num2str(capitalmois(end)),';']; fprintf(fid,auxi); auxi=[num2str(m*n0mois),'\n']; fprintf(fid,auxi); fclose(fid); end