Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
[MATLAB][TEMA] radacinile ecuatiei
Last Updated: May 18 2010 17:38, Started by
bogdan_boss
, May 18 2010 15:04
·
0
#1
Posted 18 May 2010 - 15:04
Pentru foarte multi pare ceva banal, dar exercitiul suna cam asa:
Creati fisierul functie ecuatie.m care are ca parametrii de intrare trei numere reale (a = 1, b = 6.5, c = 13) care calculeaza radacinile ecuatiei de ordinul a?x2+ b?x + c = 0. Functia trebuie sa traseze graficul functiei f(x) = a?x2+ b?x + c, punand în evidenta radacinile si maximul sau minimul functiei. stiu ca xm=-b/2*a si ym=-(b^2-4*a*c)/(4*a); Am intrat in matlab editor si am scris asta: function f=ec2 (a,b,c) f=x^2+6.5*x+13 am salvat, am intrat inapoi in workspace si am tastat asta: if a==0 disp('Parametrul a trebuie sa fie nenul'); elseif b^2-4*a*c<0 disp('Ecuatia are radacini complexe'); else x1=(-b+sqrt(b^2-4*a*c))/2*a; x2=(-b-sqrt(b^2-4*a*c))/2*a; de aici nu mai stiu nimic, am incercat o alta sursa, de la un coleg, nici lui nu ii da, si nu stiu ce sa fac, pentru ca imi arata asta in aceasta situatie: ">> disp (x1,x2) ??? Undefined function or variable 'x1'." multumesc. :console: :confuzzled: edit: stiu sigur ca sunt destui care sa stie cum se poate ajunge la rezolvarea acestei situatii, numai ca dupa experienta nefericita cu acel coleg, am incredere doar daca si programul imi spune ca este corect, asa ca daca se poate sa testati daca merge intr-adevar sau nu. :-s Edited by bogdan_boss, 18 May 2010 - 15:05. |
#2
Posted 18 May 2010 - 15:39
function ec2(a,b,c)
if (a==0) disp('Parametrul a trebuie sa fie nenul'); elseif (b^2-4*a*c<0) disp('Ecuatia are radacini complexe'); else x1=(-b+sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a) xm=-b/(2*a) ym=-(b^2-4*a*c)/(4*a) if (x1<x2) t=x1-10:0.1:x2+10 else t=x2-10:0.1:x1+10 end y=t; for i=1:length(t) y(i)=a*t(i)^2+b*t(i)+c; end plot(t,y,'r',x1,0,'bo',x2,0,'bo',xm,ym,'go'); grid on; end iar in workspace apelezi ec2(a,b,c) |
#3
Posted 18 May 2010 - 15:50
deci care introduc primul in program si unde? in editor, workspace?
adica cu ce incep si in ce loc, ca nu stiu, parca dupa function venea un "=" :-/... Edited by bogdan_boss, 18 May 2010 - 15:59. |
#4
Posted 18 May 2010 - 16:06
#5
Posted 18 May 2010 - 16:12
s-a rezolvat problema tehnica privind ce introduc si unde,dar nu inteleg exact acest citat:
"if (x1<x2) t=x1-10:0.1:x2+10 else t=x2-10:0.1:x1+10 end y=t; for i=1:length(t) y(i)=a*t(i)^2+b*t(i)+c; end plot(t,y,'r',x1,0,'bo',x2,0,'bo',xm,ym,'go'); " Edited by bogdan_boss, 18 May 2010 - 16:25. |
#6
Posted 18 May 2010 - 17:38
if (x1<x2)
t=x1-10:0.1:x2+10 else t=x2-10:0.1:x1+10 end creez un vector t cu (practic e axa x pentru plotarea graficului) daca x1<x2 atunci creez axa de la [x1-10;x2+10] iar punctele sa fie din 0.1 in 0.1 daca x2>x1... y=t; asta ca sa initializez pe y cu un vector de aceleasi dimensiuni ca si x for i=1:length(t) y(i)=a*t(i)^2+b*t(i)+c; end generez vectorul i cu valorile functiei pentru intervalul de mai sus plot(t,y,'r',x1,0,'bo',x2,0,'bo',xm,ym,'go'); " fac grafic pentru -y functie de t -punctul x1,0 -punctul x2,0 -punctul xm,ym Ptr restul de neclaritati help plot help function etc |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users