Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- re=1;
- re1=1;
- re2=1;
- re3=1;
- re4=1;
- while re==1
- while re4==1
- hi=input('hi=');
- while hi<0||hi>pi
- fprintf('Conditie neindeplinita.\n');
- hi=input('hi=');
- end
- re4=input('\nApasa 0 pentru a continua; 1 pentru reintroducere. ');
- end
- xi=0:hi:4*pi;
- yi=sin(xi);
- pp=splinen(xi,yi);
- [x,c,l,g]=unmkpp(pp);
- AI=c(:,1);
- BI=c(:,2);
- CI=c(:,3);
- DI=c(:,4);
- while re3==1
- he=input('\nhe=');
- while (he<0||he>pi) && he>hi
- fprintf('he introdus gresit. Reintroduceti datele!\n');
- he=input('he=');
- end
- re3=input('Apasa 0 pentru a continua; 1 pentru reintroducere. ');
- end
- xe=0:he:4*pi;
- ye=ppval(pp,xe);
- cd1=[3*AI 2*BI CI];
- ppd1=mkpp(xi,cd1);
- d1e=ppval(ppd1,xe);
- cd2=[6*AI 2*BI];
- ppd2=mkpp(xi,cd2);
- d2e=ppval(ppd2,xe);
- while re2==1
- aq=input('\naq=');
- bq=input('\nbq=');
- while aq<0||bq<0||aq>4*pi||bq>4*pi||aq>bq
- fprintf('Conditie neindeplinita.\n');
- aq=input('\naq=');
- bq=input('\nbq=');
- end
- re2=input('Apasa 0 pentru a continua; 1 pentru reintroducere. ');
- end
- k=0;
- P=1;
- while P>0
- k=k+1;
- P=(aq-xi(k))*(aq-xi(k+1));
- end
- ia=k;
- k=0;
- P=1;
- while P>0
- k=k+1;
- P=(bq-xi(k))*(bq-xi(k+1));
- end
- ib=k;
- dx=aq-xi(ia);
- if dx~=0
- cq=[(1/4)*AI(ia) (1/3)*BI(ia) (1/2)*CI(ia) DI(ia) 0];
- qma=polyval(cq,dx);
- else
- qma=0;
- end
- nq=ib-ia;
- ind=ia-1;
- qs=0;
- for iq=1:nq
- ind=ind+1;
- dx=xi(ind+1)-xi(ind);
- cq=[(1/4)*AI(ind) (1/3)*BI(ind) (1/2)*CI(ind) DI(ind) 0];
- qs=qs+polyval(cq,dx);
- end
- dx=bq-xi(ib);
- if dx~=0
- cq=[(1/4)*AI(ib) (1/3)*BI(ib) (1/2)*CI(ib) DI(ib) 0];
- qpb=polyval(cq,dx);
- else
- qpb=0;
- end
- q=qs+qpb-qma;
- qc=cos(aq)-cos(bq);
- q
- qc
- yesin=sin(xe);
- err=norm(ye-yesin)^2/(length(xe)-1);
- while re1==1
- plot(xi,yi,'or',xe,ye,'-b',xe,yesin,'--g',xe,d2e,':k',[aq aq],[-1.25 1.25],'-c',[bq bq],[-1.25 1.25],'-.m');
- xlabel('xi,xe');
- title(['yi:o ye:- di:-- d2:: d3:_. d4:_.',num2str(q)]);
- re1=input('Apasa 0 pentru a continua; 1 pentru reintroducere. ');
- end
- fprintf('\nProgram executat cu succes. In continuare daca doresti poti reintroduce datele.(1=DA;0=NU)');
- re1=input('\nReluam vizualizarea graficului? ');
- re2=input('\nDoresti sa schimbi intervalul [aq,bq]? ');
- re3=input('\nSchimbam pasul de evaluare he? ');
- re4=input('\nSchimbam pasul de interpolare hi? ');
- re=input('\nIncepe programul. ');
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement