Bonjour tout le monde;
Merci de m'aider à résoudre ce problème: les courbes ne s'affichent pas avec leurs couleurs respectives (légende). Merci d'avanceCode:clc;clear all;close all; %format short N=300; for i=1:15 if i==1 T=60/12; end if i==2 T=60/6; end if i==3 T=60/3; end if i==4 T=60/2; end if i==5 T=1*60; end if i==6 T=2*60; end if i==7 T=3*60; end ## if i==8 ## T=4*60; ## end ## if i==9 ## T=5*60; ## end ## if i==10 ## T=6*60; ## end ## if i==11 ## T=8*60; ## end D=1; B=1; deltaz=200.0/N; % Pas d'espace a=0.1; dt=(a*deltaz^2)/D; % Pas de temps b=B*(dt/(2*deltaz)); Ndt=round(T/dt); % Nombre de pas de temps %break % liste des nds internes et pts du maillage p=[2:N]; % Indice espace x=[0:deltaz:200]; % Profondeur %x=[-200:deltaz:0]; % condition initiale C %C=sin(m*pi*X); %C=x; t=0; f=-x; plot(f,x,'-bs','LineWidth',1.5,'MarkerSize',1),hold on for n=1:Ndt+1 % Incrément de temps t=t+dt; fn=f; f(p)=(a+b)*fn(p-1)+(1-2*a)*fn(p)+(a-b)*fn(p+1)+... ((b)/(2*deltaz)).*((fn(p+1)-fn(p-1)).^2); f(N+1)=f(N); for u=2:8; colorstflex = 'kbgrmycw'; plotStyle = {'-o','-*','-r.','-s','-^','-.',':','-+'}; if n==Ndt T=[5 10 20 30 60 120 180]; %endif plot(f(1,:),x,plotStyle{u},'color',colorstflex(u),'LineWidth',1.5,'MarkerSize',1);hold on %plot(f(1,:),x,'-rs','LineWidth',1.5,'MarkerSize',1),hold on plotStyle{1}='-bs'; colorstflex(1)='b'; legendInfo{1} = ['T = ' num2str(0)]; legendInfo{u} = ['T = ' num2str(T(u-1))]; end end end; legend(legendInfo,"location", 'southwest') xlabel('f(x,T)') ylabel('x') xlim([-200 0]) ylim([0 200]) set(gca,'view',[0 -90]) % end set(gca,"ydir","reverse") end
-----