Permalänk
Medlem

Legend problem i Matlab!!

Hej,

Har en uppg. där man använder "syms". Har gjort en m-fil som frågar efter 1-3 diff-ekv och tillhörande begynnelsevärden...

Uppgiften vill att: Use legend to specify the solutions! Alltså de ekv. som ja matar in ska sedan skrivas ut i legend... ekvationen blir ju "symbolisk", vet inte hur jag ska göra om den till ex ett nr (syms2num? denna finns ju ej.. ) så jag kan mata in den enkelt i legend med ex num2str osv...

syms x1 x2 x3

if a==1

ekv1=input('Skriv in din diff-ekv!, ex:Dx1=2+5*x1\n','s')
beg1=input('Begynnelsevärde? ex: "x1(0)=3" \n','s')
[x1]=dsolve(ekv1,beg1)

t=0:0.1:10;
X1=double(subs(x1,t))
XX=str2double(X1)

% siffror --> str2double om jag vill ha siffror
% text (string) --> num2str, om jag vill ha text

plot(t,X1),grid
legend(XX)

Dold text
Permalänk
Medlem

syms x y z
z=x+y;
text=char(z);
plot(1)
legend(text)

Permalänk
Medlem

Tack!

blev en liknande:

t=0:0.1:10;
X1=subs(x1,t);

plot(t,X1), grid on

legend(char(x1),'location','BestOutSide')