Deathblade Mesaj tarihi: Nisan 2, 2012 Paylaş Mesaj tarihi: Nisan 2, 2012 Merhaba arkadaşlar, Bitirme tezim başlıkta yazdığım gibi dizel egzoz aşırı doldurma sisteminin matlab üzerinde simulasyonu üzerine. Daha sonra da ihtiyaç duyarım diye başlık açayım dedim, takıldıkça yazarım. Sorularıma geçeyim (ilk soru direk en önemlis gidişatı değiştirebilir): 1-Kodları matlab üzerinden yazmamızı istedi hoca. Ees kullansam çok kolay olcaktı işim. Mesala ees üzerinde cp[1]=Cp(CO2;T=T[1]) yazınca t1 sıcaklığında C02 cp'sini veriyor program. Matlab'de böyle bir termodinamik kütüphane tarzında bir şey bulabilir miyim ? 2-Hadi diyelim 1 olmadı. Gerekli kodları ben gömülü olarak yazacağım. İlk olarak başlangıçta egzoz gazının k=cp/cv ısıl kapasite oranı sıcaklığa bağlı olarak lazım. Bunu ees'ten az önce elde ettim grafik olarak, plotdigitizer diye bir program kullanarakta numerik olarak döktüm. Bu numerik değerler elimdeyken nasıl eğri uydurabilirim ve sonradan kullanabilirim ? Grafik http://i.imgur.com/8ryn0.png Numerik Değerler 2.22256 27.0165 53.2639 79.5028 102.819 137.783 177.116 241.193 305.259 372.224 447.916 529.423 628.387 728.802 824.845 912.153 1000.91 1104.22 1206.08 1284.65 1358.86 1440.34 1440.34 1.30116 1.28870 1.27653 1.26610 1.25828 1.24872 1.23830 1.22584 1.21542 1.20732 1.19951 1.19286 1.18650 1.18101 1.17697 1.17409 1.17150 1.16891 1.16661 1.16518 1.16403 1.16289 1.16203 Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deathblade Mesaj tarihi: Nisan 2, 2012 Konuyu açan Paylaş Mesaj tarihi: Nisan 2, 2012 Nub db. Hallettim. Ama ilki cidden çok iyi olcak. Daha bir sürü veri var havanın sıcaklığa bağlı değişimi ıvır zıvır. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Legenden Mesaj tarihi: Nisan 2, 2012 Paylaş Mesaj tarihi: Nisan 2, 2012 kolay gelsin tezinde :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Nisan 2, 2012 Paylaş Mesaj tarihi: Nisan 2, 2012 http://hot-tdb.sourceforge.net/ libThermo mu ne öyle bir toolbox vardı asıl, bulamadım onu. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deathblade Mesaj tarihi: Mayıs 8, 2012 Konuyu açan Paylaş Mesaj tarihi: Mayıs 8, 2012 Help ! http://i.imgur.com/f7OyG.png Şimdi şöyle, tez için yukarıdaki P-V diagramını çizmem gerekiyor. Yukarıdaki 6 noktanın hepsi için P ve V değerleri elimde. Logaritmik gibi görünen örneğin 4-5 noktası arası için ise sabit bir formul var. Yukarıya da yazdım, P_4*V_4^k=P_5*V_5^k arada bir değer bulunmak isterse de P_4*V_4^k=c dedikten sonra istenilen noktanın hacmi girilerek basınç ya da tersi bulunabilir. 2-3, 3-4, is-1 noktaları arasını plot kullanarak çizdim fakat bu denklemli ilerleyen bölgelere yetemedim. Aklımda şöyle bir şey var aradan 5-10 tane nokta belirleyip buradan spline geçirmek, ona da sonsuz girdi falan derken ne kadar doğru olacak bilemedim. Bu matlab toollarından işeme yarayabilecek ya da başka bir komutla çok daha hızlı halledebilecek bir durumum var mı ? Hepinizi seviyorum. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deathblade Mesaj tarihi: Mayıs 24, 2012 Konuyu açan Paylaş Mesaj tarihi: Mayıs 24, 2012 Üsteki olayı çözdüm fakat şimdi de şöyle bir şey var. Cftool da eğri ürettiğim 6-7 farklı grafik var. function [fitresult, gof] = createFits(x_plot01, y_plot01, x_plot12, y_plot12, y_plot23, x_plot34, y_plot34, x_plot45, y_plot45, x_plot56, y_plot56) %CREATEFITS1(X_PLOT01,Y_PLOT01,X_PLOT12,Y_PLOT12,Y_PLOT23,X_PLOT34,Y_PLOT34,X_PLOT45,Y_PLOT45,X_PLOT56,Y_PLOT56) % Create fits. % % Data for 'PVDiyagrami' fit: % X Input : x_plot01 % Y Output: y_plot01 % Data for 'PVDiyagrami2' fit: % X Input : x_plot12 % Y Output: y_plot12 % Data for 'PVDiyagrami3' fit: % X Input : y_plot23 % Y Output: y_plot23 % Data for 'PVDiyagrami4' fit: % X Input : x_plot34 % Y Output: y_plot34 % Data for 'PVDiyagrami5' fit: % X Input : x_plot45 % Y Output: y_plot45 % Data for 'PVDiyagrami6' fit: % X Input : x_plot56 % Y Output: y_plot56 % Output: % fitresult : a cell-array of fit objects representing the fits. % gof : structure array with goodness-of fit info. % % See also FIT, CFIT, SFIT. % Auto-generated by MATLAB on 24-May-2012 23:38:53 %% Initialization. % Initialize arrays to store fits and goodness-of-fit. fitresult = cell( 6, 1 ); gof = struct( 'sse', cell( 6, 1 ), ... 'rsquare', [], 'dfe', [], 'adjrsquare', [], 'rmse', [] ); %% Fit: 'PVDiyagrami'. [xData, yData] = prepareCurveData( x_plot01, y_plot01 ); % Set up fittype and options. ft = fittype( 'gauss4' ); opts = fitoptions( ft ); opts.Display = 'Off'; opts.Lower = [-Inf -Inf 0 -Inf -Inf 0 -Inf -Inf 0 -Inf -Inf 0]; opts.StartPoint = [2.2 -1.23978259526207 0.253410720765794 1.8283132509419 -0.739166050010213 0.256281798371332 1.54376527141146 -0.061745298625778 0.311930558967262 1.2921830061264 0.545043545342439 0.293804898609032]; opts.Upper = [Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf]; opts.Normalize = 'on'; % Fit model to data. [fitresult{1}, gof(1)] = fit( xData, yData, ft, opts ); % Plot fit with data. figure( 'Name', 'PVDiyagrami' ); h = plot( fitresult{1}, xData, yData ); legend( h, 'y_plot01 vs. x_plot01', 'PVDiyagrami', 'Location', 'NorthEast' ); % Label axes xlabel( 'x_plot01' ); ylabel( 'y_plot01' ); grid on %% Fit: 'PVDiyagrami2'. [xData2, yData2] = prepareCurveData( x_plot12, y_plot12 ); % Set up fittype and options. ft = fittype( 'gauss3' ); opts = fitoptions( ft ); opts.Display = 'Off'; opts.Lower = [-Inf -Inf 0 -Inf -Inf 0 -Inf -Inf 0]; opts.StartPoint = [71.2967759487512 -0.567745858055583 0.0749689480850106 39.9854352109671 -0.450528239982349 0.109485279563862 25.8999781621985 -0.250629672493714 0.163044148616659]; opts.Upper = [Inf Inf Inf Inf Inf Inf Inf Inf Inf]; opts.Normalize = 'on'; % Fit model to data. [fitresult{2}, gof(2)] = fit( xData2, yData2, ft, opts ); % Plot fit with data. figure( 'Name', 'PVDiyagrami2' ); h = plot( fitresult{2}, xData2, yData2 ); % legend( h, 'y_plot12 vs. x_plot12', 'PVDiyagrami2', 'Location', 'NorthEast' ); % Label axes xlabel( 'x_plot12' ); ylabel( 'y_plot12' ); grid on %% Fit: 'PVDiyagrami3'. [xData, yData] = prepareCurveData( y_plot23, y_plot23 ); % Set up fittype and options. ft = fittype( 'poly1' ); opts = fitoptions( ft ); opts.Lower = [-Inf -Inf]; opts.Upper = [Inf Inf]; % Fit model to data. [fitresult{3}, gof(3)] = fit( xData, yData, ft, opts ); % Plot fit with data. figure( 'Name', 'PVDiyagrami3' ); h = plot( fitresult{3}, xData, yData ); legend( h, 'y_plot23 vs. y_plot23', 'PVDiyagrami3', 'Location', 'NorthEast' ); % Label axes xlabel( 'y_plot23' ); ylabel( 'y_plot23' ); grid on %% Fit: 'PVDiyagrami4'. [xData, yData] = prepareCurveData( x_plot34, y_plot34 ); % Set up fittype and options. ft = fittype( 'poly1' ); opts = fitoptions( ft ); opts.Lower = [-Inf -Inf]; opts.Upper = [Inf Inf]; % Fit model to data. [fitresult{4}, gof(4)] = fit( xData, yData, ft, opts ); % Plot fit with data. figure( 'Name', 'PVDiyagrami4' ); h = plot( fitresult{4}, xData, yData ); legend( h, 'y_plot34 vs. x_plot34', 'PVDiyagrami4', 'Location', 'NorthEast' ); % Label axes xlabel( 'x_plot34' ); ylabel( 'y_plot34' ); grid on %% Fit: 'PVDiyagrami5'. [xData, yData] = prepareCurveData( x_plot45, y_plot45 ); % Set up fittype and options. ft = fittype( 'gauss4' ); opts = fitoptions( ft ); opts.Display = 'Off'; opts.Lower = [-Inf -Inf 0 -Inf -Inf 0 -Inf -Inf 0 -Inf -Inf 0]; opts.StartPoint = [122.202740374761 0.0268032810602805 0.0044103731246938 82.4755007334386 0.0339131995091891 0.00549837983417437 60.6967167225884 0.0472704630020747 0.00793937879869857 40.2549151110612 0.0659416744929432 0.00967472505213017]; opts.Upper = [Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf]; % Fit model to data. [fitresult{5}, gof(5)] = fit( xData, yData, ft, opts ); % Plot fit with data. figure( 'Name', 'PVDiyagrami5' ); h = plot( fitresult{5}, xData, yData ); legend( h, 'y_plot45 vs. x_plot45', 'PVDiyagrami5', 'Location', 'NorthEast' ); % Label axes xlabel( 'x_plot45' ); ylabel( 'y_plot45' ); grid on %% Fit: 'PVDiyagrami6'. [xData, yData] = prepareCurveData( x_plot56, y_plot56 ); % Set up fittype and options. ft = fittype( 'power2' ); opts = fitoptions( ft ); opts.Display = 'Off'; opts.Lower = [-Inf -Inf -Inf]; opts.StartPoint = [1.35553983501774 -1.26588600909486 1.20274161001059e-015]; opts.Upper = [Inf Inf Inf]; % Fit model to data. [fitresult{6}, gof(6)] = fit( xData, yData, ft, opts ); % Plot fit with data. figure( 'Name', 'PVDiyagrami6' ); h = plot( fitresult{6}, xData, yData ); legend( h, 'y_plot56 vs. x_plot56', 'PVDiyagrami6', 'Location', 'NorthEast' ); % Label axes xlabel( 'x_plot56' ); ylabel( 'y_plot56' ); grid on bunları tek bir grafikte göstermek istiyorum farklı 6 farklı plot çiziyor yetemedim. Help ! Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
SeaGle Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 Hold on yazıp sonra plot yazacaksın, üst üste çizer. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deathblade Mesaj tarihi: Mayıs 24, 2012 Konuyu açan Paylaş Mesaj tarihi: Mayıs 24, 2012 olmadı o :/ fonksiyon olarak olduğu için falan mı acaba ? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
SeaGle Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 bilemedim de en başta hold on yazıp komutları işletince sırayla bütün plotları üst üste çiziyordu. Sende niye olmadı onu bilemedim :D Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Havenless Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 "axis auto" yaz, bir de "hold on" değil hold diye hatırlıyorum. Tüm fonksiyonlar tek grafikte gözükür bu komutlardan sonra ard arda plot yaparsan. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
SeaGle Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 Hold on yazıyoruz abi denedim şimdi Karıştırdım mı dedim ama yok, on da var Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Havenless Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 Aynen öyleymiş, bir de her plot komutundan sonra grafiği aktardıktan sonra "hold on" yazman gerekebilir sanırım, koda baktım da mantıklı gibi. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
SeaGle Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 Hold on'dan sonraki bütün plotları grafiğe atıyor kendi diye biliyorum. Ulan ben de bişeyler biliyorum ama emin olamıyorum sfdgsfd Dediğin gibi eksenleri autoscale yapması gerekebilir. Bi grafik diğerinden çok farklıysa mesela biri diğerinin yanında yatay eksene yapışık bi çizgi gibi kalabiliyor diğer grafik çok büyük olduğu için. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Havenless Mesaj tarihi: Mayıs 24, 2012 Paylaş Mesaj tarihi: Mayıs 24, 2012 Birden fazla çizim olacağı için değerler her grafikte farklı çıkabiliyor arada. Acayip şekiller çıkabilir. (tu) O yüzden eksenleri iyi ayarlamalı bence de. Bir de GnuPlot diye bir program var benim kullandığım, opensource o. Tavsiye ederim, kodları bayağı benzer MATLAB'la, kaynak da istemediğin kadar. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deathblade Mesaj tarihi: Mayıs 24, 2012 Konuyu açan Paylaş Mesaj tarihi: Mayıs 24, 2012 yok yok o "hold on" şekilde de, olmuyor yetemedim bir türlü. Dataları xData2, yData2 şeklinde düzelttim sonra, h = plot( fitresult{1}, xData, yData, fitresult{2}, xData2, yData2, .... ); şeklinde denedim matlab kabul etmedi onu da. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar