Faits :
A.
Par jugement du 16 janvier 2018, le Tribunal de police de l'arrondissement de l'Est vaudois a notamment constaté que X._ avait réalisé les conditions objectives des infractions de lésions corporelles simples qualifiées, voies de fait, dommages à la propriété, séquestration et contrainte sexuelle, a déclaré l'intéressé pénalement irresponsable desdites infractions et a ordonné une mesure de l'<ref-law> sous la forme d'un suivi d'un traitement psychiatrique ambulatoire et de la prise d'Abilify ou de tout autre médicament adapté à sa pathologie. Il a en outre reconnu X._ débiteur de A._ de divers montants, mis une partie des frais à la charge de ce dernier et dit qu'il n'y avait pas lieu de l'indemniser au titre de l'<ref-law>.
B.
Par jugement du 5 juin 2018, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel de X._. Elle a réformé le jugement attaqué en ce sens qu'elle a libéré l'appelant de l'accusation de séquestration, a constaté que celui-ci avait réalisé les conditions objectives des infractions de lésions corporelles simples qualifiées, voies de fait, dommages à la propriété et contrainte sexuelle, l'a déclaré pénalement irresponsable des dites infractions et a renoncé à ordonner une mesure de l'<ref-law>. Pour le surplus, elle a confirmé l'allocation des prétentions civiles à la partie plaignante, a réduit à 6'000 fr. le montant des frais de la procédure de première instance à la charge de l'appelant, a mis une partie des frais de la procédure d'appel à la charge de l'appelant et a confirmé le refus de l'indemnité prévue à l'<ref-law>.
C.
Contre ce dernier jugement, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à la réforme du jugement attaqué en ce sens qu'un montant de 21'000 fr. lui est alloué à titre d'indemnité selon l'<ref-law>. A titre subsidiaire, il conclut à l'annulation du jugement attaqué et au renvoi de la cause à la cour cantonale ou au Tribunal de police de l'arrondissement de l'Est vaudois pour complément d'instruction et nouvelle décision dans le sens des considérants.
Invités à se déterminer, la cour cantonale et le ministère public vaudois y ont renoncé.

Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir violé le droit fédéral en lui refusant le droit à une indemnité pour la détention provisoire et les mesures de substitution subies.
1.1. L'<ref-law> prévoit qu'en cas d'acquittement total ou partiel ou d'ordonnance de classement, le prévenu a droit à une indemnité pour les dépenses occasionnées par l'exercice raisonnable de ses droits de procédure (let. a), pour le dommage économique subi au titre de sa participation obligatoire à la procédure pénale (let. b) et pour la réparation du tort moral subi en raison d'une atteinte particulièrement grave à sa personnalité, notamment en cas de privation de liberté (let. c).
1.2. En l'espèce, la cour cantonale a reconnu le recourant pénalement irresponsable de la commission des infractions et a renoncé à prononcer un traitement ambulatoire selon l'<ref-law>, faute de risque de récidive (jugement attaqué p. 31 s.). Elle a refusé au recourant toute indemnité selon l'<ref-law> au motif qu'il n'avait pas été acquitté, mais que seule son irresponsabilité avait été constatée (jugement attaqué p. 34).
1.3. Ce raisonnement ne peut pas être suivi.
Un auteur irresponsable est inapte à la faute et, partant, n'est pas punissable. Il fera l'objet d'un jugement d'acquittement s'il est mis en accusation et que le tribunal arrive à la conclusion qu'il était irresponsable au moment d'agir (pour autant que les conditions à l'ouverture de l'action pénale soient réunies et sous réserve des art. 19 al. 4 et 263 CP; BOMMER/DITTMANN, in Basler Kommentar, Strafrecht I, 3e éd. 2013, n° 44 ad <ref-law>; TRECHSEL/JEAN-RICHARD, in Trechsel/Pieth [éd.], Schweizerisches Strafgesetzbuch, Praxiskommentar, 3e éd. 2018, n° 11 ad <ref-law>; cf. art. 261 al. 1 let. a et 419 CPP).
Il s'ensuit que lorsque le prévenu est irresponsable et qu'il est acquitté pour ce motif, l'<ref-law> est applicable (SCHMID/JOSITSCH, Handbuch des Schweizerischen Strafprozessrechts, 3e éd. 2017, n° 1809; MIZEL/RÉTORNAZ, in Commentaire romand, Code de procédure pénale suisse, 2011, n° 4 ad <ref-law>).
2.
Il convient d'examiner si l'indemnité prévue à l'<ref-law> peut, à certaines conditions, être refusée ou réduite.
2.1. En principe, l'<ref-law> ne sera pas applicable au prévenu irresponsable. Selon cette disposition, l'autorité pénale peut réduire ou refuser l'indemnité lorsque le prévenu a provoqué illicitement et fautivement l'ouverture de la procédure. Pour que l'indemnité puisse être réduite ou refusée, le comportement du prévenu, qui doit être illicite et fautif (" rechtswidrig und schuldhaft "), doit être à l'origine de l'ouverture de l'enquête pénale ou alors il doit s'agir d'une " faute procédurale ", c'est-à-dire d'un comportement qui a compliqué ou prolongé la procédure (<ref-ruling>; <ref-ruling>; <ref-ruling> consid. 4b p. 164 concernant la condamnation aux frais). Lorsque le prévenu est irresponsable et partant non fautif, le juge ne pourra donc pas en règle générale prendre en considération le caractère délictueux de son comportement pour réduire ou refuser l'indemnité selon l'<ref-law> (cf. MOREILLON/PAREIN-REYMOND, Petit commentaire du code de procédure pénale, 2e éd. 2016, n° 5 ad <ref-law>).
2.2.
2.2.1. En matière de frais, l'<ref-law> prévoit la possibilité de mettre les frais à la charge du prévenu irresponsable qui fait l'objet d'une ordonnance de classement en raison de son irresponsabilité ou qui a été acquitté pour ce motif si l'équité l'exige au vu de l'ensemble des circonstances. L'application de cette disposition suppose une pesée des intérêts en présence et n'intervient que si la situation financière de l'intéressé est favorable (Message du 21 décembre 2005 du Conseil fédéral relatif à l'unification du droit de la procédure pénale, FF 2006 p. 1308). Il s'agit d'éviter les cas où la libération du paiement des frais de l'auteur serait choquante (JEAN CREVOISIER, in Commentaire romand, Code de procédure pénale, 2011, n° 1 ad <ref-law>; JO PITTELOUD, Code de procédure pénale suisse, 2012, n° 1281; SCHMID/JOSITSCH, Schweizerische Strafprozessordnung, Praxiskommentar, 3e éd. 2018, n° 1 ad <ref-law>).
2.2.2. Certains auteurs proposent d'appliquer l'<ref-law> par analogie à l'indemnité octroyée selon l'<ref-law>. Ainsi WEHRENBERG et FRANK admettent qu'une indemnité peut être refusée, outre pour les motifs prévus à l'<ref-law>, lorsque le prévenu a été acquitté en raison de son irresponsabilité et que les frais ont été mis à sa charge pour des motifs d'équité (<ref-law>) (WEHRENBERG/BERNARD, in Basler Kommentar, Schweizerische Strafprozessordnung, 2e éd. 2014, n° 11 ad <ref-law>). JEANNERET ET KUHN partagent également cet avis (JEANNERET/KUHN, Précis de procédure pénale, 2e éd. 2018, n° 5063). Se référant à l'ATF <ref-ruling> consid. 2b, MOREILLON et PAREIN-REYMOND admettent que, malgré l'irresponsabilité, c'est-à-dire l'incapacité à pouvoir commettre une faute, une demande en indemnité pourrait être réduite ou refusée en application de l'<ref-law> (MOREILLON/PAREIN-REYMOND, Petit commentaire du Code de procédure pénale, 2e éd. 2016, n° 5 ad <ref-law>).
2.3.
2.3.1. Un motif de réduction ou de refus de l'indemnité prévue à l'<ref-law> en cas d'irresponsabilité du prévenu ne figure pas dans la loi. Les règles d'interprétation traditionnelles s'appliquent en matière de procédure pénale (cf. MOREILLON/PAREIN-REYMOND, Petit commentaire du Code de procédure pénale, 2e éd. 2016, n° 15 ad <ref-law>). Le recours à l'analogie est admis (HAUSER/SCHWERI/HARTMANN, Schweizerisches Strafprozessrecht, 6e éd. 2005, n° 10 ad § 6; <ref-ruling> consid. 2 p. 274). Le juge peut prononcer par analogie selon une disposition légale qui ne s'applique pas directement au cas particulier mais réglemente une situation proche de celle qu'il s'agit de régler. Mais il ne peut le faire qu'en demeurant dans le cadre général du système de la procédure pénale, en adoptant des solutions qui soient en harmonie avec ce système (<ref-ruling> consid. 4b p. 232 s.).
2.3.2. En cas d'acquittement ou d'ordonnance de classement en raison de l'irresponsabilité du prévenu, le législateur a expressément prévu, à l'<ref-law>, la possibilité de mettre les frais à la charge du prévenu irresponsable. Selon la jurisprudence, il doit exister une corrélation entre la prise en charge des frais par le prévenu et l'indemnisation de celui-ci. Ainsi, lorsque le prévenu supporte les frais, une indemnité est en règle générale exclue et, inversement, si l'Etat supporte les frais de la procédure pénale, le prévenu a en principe droit à une indemnité selon l'<ref-law> (<ref-ruling> consid. 2.4.2 p. 357). Lorsque la condamnation aux frais n'est que partielle, la réduction de l'indemnité devrait s'opérer dans la même mesure (arrêts 6B_1065/2015 du 15 septembre 2016 consid. 2.2; 6B_256/2016 du 20 juin 2016 consid. 3.3). Compte tenu de cette corrélation, il faut admettre que si le prévenu irresponsable a été condamné aux frais pour des raisons d'équité en application de l'<ref-law>, l'indemnité selon l'<ref-law> doit pouvoir être refusée. L'application analogique de l'<ref-law> s'impose aussi de par la systématique de la loi; l'<ref-law> figure dans le chapitre 1 sur les dispositions générales, alors que le chapitre 2 concerne les frais de procédure et le chapitre 3 les indemnités et la réparation du tort moral.
2.4. En l'espèce, le recourant qui a été acquitté en raison de son irresponsabilité a droit à une indemnité selon l'<ref-law> (cf. consid. 1 ci-dessus). En conformité avec l'<ref-law>, il a été condamné à une partie des frais des procédures de première instance et d'appel, condamnation qu'il n'a pas contestée. En principe, la condamnation aux frais exclut l'allocation d'une indemnité. Dans le présent cas, la condamnation aux frais n'est toutefois que partielle. La cour cantonale doit ainsi allouer au recourant une indemnité selon l'<ref-law>, mais peut la réduire dans la même mesure que les frais. En refusant toute indemnité, elle a donc violé le droit fédéral. Le recours doit être admis sur ce point, l'arrêt attaqué, annulé et la cause, renvoyée à la cour cantonale pour qu'elle alloue une indemnité réduite au recourant.
3.
Le recourant qui obtient gain de cause ne supporte pas de frais judiciaires (<ref-law>) et peut prétendre à une indemnité de dépens à la charge du canton de Vaud (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, le jugement attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Vaud versera au recourant la somme de 3'000 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 7 décembre 2018
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Kistler Vianin