View Single Post
Old 23-07-2014, 23:34   #7816
keroro.90
Senior Member
 
L'Avatar di keroro.90
 
Iscritto dal: Aug 2009
Cittā: Conegliano-Udine Trattative + di 25 Tutte perfette
Messaggi: 5115
Quote:
Originariamente inviato da dario fgx Guarda i messaggi
Ciao a tutti, avrei bisogno del vostro aiuto con il seguente codice matlab che calcola banalmente il centro di una circonferenza passante per 3 specifici punti dati

syms a;
syms b;
syms c;
r = input('please insert radius');
teta_grad = input('please insert angle in grad');
teta=(teta_grad*3.14)/180;
delta = input('please insert delta at angle');
eq1='r^2 - 2*b*r + c=0';
eq2='((r+delta)*sin(teta))^2 + ((r+delta)*cos(teta))^2 + -2*a*(r+delta)*sin(teta) -2*b*(r+delta)*cos(teta) + c = 0 ';
eq3='((-1)*(r+delta)*sin(teta))^2 + ((r+delta)*cos(teta))^2 -2*a*(-1)*(r+delta)*sin(teta) -2*b*(r+delta)*cos(teta) + c = 0';
S=solve(eq1,eq2,eq3,a,b,c);
xC=S.a;
yC=S.b;
disp(xC);
disp(yC);


il problema č che:

yC viene stampato a schermo usando la sue espressione esplicita ma non viene automaticamente calcolato dallo script un valore numerico. Si deve poi copiare l'espressione generata e incollarla sulla finestra principale di matlab per avere il valore numerico.
Quindi matlab conosce il valore numerico ma non lo mostra automaticamente come io vorrei. Come posso risolvere?


Grazie!!
Ho dato una letta veloce al codice, quindi forse č una cavolta...perchč li hai definiti come syms?..non definirli proprio (vengono definiti quando li crei), in questo modo sono giā numerici...

PS metti pi, non 3.14...

Ultima modifica di keroro.90 : 23-07-2014 alle 23:41.
keroro.90 č offline   Rispondi citando il messaggio o parte di esso