search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
Matlab üzerinde dişli kutusu hacim hesabı
Posted in Sistem Analizi | No Comment | 3,215 views | 27/03/2009 22:36

Sistem analizi dersinde Tamer Kepçeler hocamızın verdiği değerler doğrultusunda, dişli çark üzerinde hacim hesabı yapılmıştır. Bulunan hacim, sınır değerlerini aşmayacak şekilde optimize edilerek ortaya koyulmaktadır. Matlab komutlarını aşağıda veriyorum.

Öncelikle ilk function dosyamızı yazalım.

1
2
function f=GearObjFunct(x)
f=(x(6)*(x(3)+x(1)*x(3))/2+x(7)*(x(4)+x(2)*x(4))/2+40)*5*x(5)*(x(2)*x(4)*x(7)+50);

Yukardaki function dosyasını GearObjFunct.m olarak kaydedelim. Diğer function dosyamız,

1
2
3
4
5
6
7
function [C,Ceq]=GearNonLinConstr(x)
C(1)=(400/(x(3)*x(5)))-x(6)^2;
C(2)=(400*x(1)/(x(4)*x(5)))-x(7)^7;
C(3)=40-x(3)*x(6);
C(4)=60-x(4)*x(7);
C(5)=12-x(1)*x(2);
Ceq=[];

Yukardaki function dosyasını ise GearNonLinConstr.m olarak kaydedelim. Şimdi gelelim hacmi verecek olan komutlara,

1
2
3
4
5
6
x0=[2,1.5,14,17,20,0.5,1];
LBnd=[2,1.5,14,17,20,0.5,1];
UBnd=[4,5,20,23,60,2.5,3];
A=zeros(4,7);
b=[0,0,0,0];
[x,f]=fmincon('GearObjFunct',x0,A,b,[],[],LBnd,UBnd,'GearNonLinConstr')

Peki X olarak verdiğimiz girdiler neler? Hemen onları vereyim.

X1 = Birinci kademe çevrim oranı
X2 = İkinci kademe çevrim oranı
X3 = Birinci kademe pinyon diş sayısı
X4 = İkinci kademe pinyon diş sayısı
X5 = Diş genişliği
X6 = Birinci kademe modülü
X7 = İkinci kademe modülü

GearObjFunct içersinde, dişli kutusunun hacmini verecek olan bağıntıyı yazdık. İkinci function dosyasında ise parametreler arasındaki bağıntıları belirttik. Belirttik çünkü parametreler birbirleriyle bağıntılı olduğu için, bir parametrenin değişmesi, diğer parametrelerinden de değişmesini sağlamalı. Yoksa herhangi bir şey belirtmemiş olsak, optimizasyon işlemi sırasında tek parametre değiştirilir, diğerleri ise sabit kalırdı. İşlemde ise LBnd ve UBnd ile X[Y] değerlerinin olması gereken sınırları belirttik. Örneğin X[1] değerinin 2 ile 4 arasında olmasını isteriz. Böylece optimizasyon da bu sınırlar arasında kalmış oldu. İyi çalışmalar..



Leave a Reply