Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > Оформление результатов вычислений в Matlab


Автор: olenka5386 16.6.2009, 19:14
у меня вопрос 
в матлабе я сделала вычисления, и хотела бы это более красиво оформить, типа окно, нажимаешь на кнопу оно выдает графики и результаты в отдельном окне Можно ли это сделать? и как?  
код в matlab 

syms x lambda tau sigma 
g = sym(x*(1-x)) 
f = sym(1/2-x+lambda*x*(1-x)) 
Gamma = sym(simplify(-tau*f*diff(log(f/g), x)+1)) 
phi = sym(simplify(f/Gamma)) 
rho = sym(simplify(g/Gamma)) 
z= sym(int(phi/(rho^2),x)) 
Q= sym((rho^(-1)*exp(2*z/sigma^2))) 
w=diff(Q) 
w1=subs(w,[lambda],[0]) 
w1=simple(w1) 
l=simple(solve(w1,x)) 
t(1)=simple(l(7)-l(6));t(2)=simple(l(5)-l(4));t(3)=simple(l(3)-l(2)) 
k=1 
for d = 0:0.05:0.95 
p1=subs(t(3),[tau],[d]); 
solve(p1,'sigma'); 
if subs(ans(1))>0 
a(k)=ans(1); 
else 
a(k)=ans(2); 
end 
k=k+1; 
end 
a(k)=2; 
k=k+1; 
for d = 1.05:0.05:10 
p1=subs(t(1),[tau],[d]); 
a(k) = solve(p1,'sigma'); 
k = k+1; 
end 
a=subs(a); 
x = 0:0.05:10; 
%хотела бы что бы это было в главном окне 
figure;plot(x,a) 
xlabel('\tau') 
ylabel('\sigma') 
text(2,2,'1 макс',... 
'HorizontalAlignment','left') 
text(2,3,'2 макс',... 
'HorizontalAlignment','left') 
% а все остальные всплывали 
figure;ezsurf(subs(Q,{tau,lambda},{0,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{1,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{2,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{3,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{4,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{5,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{0,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{0.2,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{0.4,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{0.6,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{0.8,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{tau,lambda},{1,0}),[0,5,0,1]) 
figure;ezsurf(subs(Q,{sigma,lambda},{1,0}),[0,10,0,1]) 
figure;ezsurf(subs(Q,{sigma,lambda},{1.88,0}),[0,10,0,1]) 
figure;ezsurf(subs(Q,{sigma,lambda},{2,0}),[0,10,0,1]) 
figure;ezsurf(subs(Q,{sigma,lambda},{3,0}),[0,10,0,1]) 
figure;ezsurf(subs(Q,{sigma,lambda},{4,0}),[0,10,0,1]) 
figure;ezsurf(subs(Q,{sigma,lambda},{5,0}),[0,10,0,1])

Автор: Ezik 2.10.2009, 14:46
можно, комманда GUIDE тебе в помощь, там появится редактор формы, кинешь кнопочку и добавишь свой код smile если что - обращайся smile

Автор: Void 2.10.2009, 15:00
Модератор: Название темы должно отражать ее суть!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)