Filter löschen
Filter löschen

How to put unequal range of values in functon

2 Ansichten (letzte 30 Tage)
Shubham Mohan Tatpalliwar
Shubham Mohan Tatpalliwar am 25 Sep. 2018
Beantwortet: KSSV am 25 Sep. 2018
i have made a function for getting interpolated values and in this function i want to give input of unequal range of drehzahl and drehmoment. i have attached the file of the program and its excel sheet
  6 Kommentare
KSSV
KSSV am 25 Sep. 2018
Copy here a full working code with given inputs..then we can work on the issue of unequal case.
Shubham Mohan Tatpalliwar
Shubham Mohan Tatpalliwar am 25 Sep. 2018
Bearbeitet: KSSV am 25 Sep. 2018
function [Kraftstoffverbrauch,Drehmoment]=Kasus_1_4(Drehzahl, Drehmoment)
[num,txt,raw] = xlsread('Mappe1.xlsx') ;
Dz = num(:,1) ; Dz(isnan(Dz))= [ ];
A = num(:,2:end) ;
A(isnan(A(:,1)),:)= [] ;
W = A(1:2:end,:) ;
Dm = A(2:2:end,:) ;
Dz1 = repmat(Dz,1,size(Dm,1)) ;
idx = ~isnan(Dm) ;
F = scatteredInterpolant([Dz1(idx) Dm(idx)],W(idx));
Wi = F(Drehzahl,Drehmoment);
Drehmoment2 = Drehmoment*3.0769*2.64;
Geschwindigkeit= (Drehzahl/(3.07*2.64))*2.037*0.06;
Kraftstoffverbrauch= (2*3.14*(Drehmoment).*(Drehzahl))./(Wi*0.98*0.8.*(Geschwindigkeit)*600);
plot3(Drehzahl,Drehmoment2,Kraftstoffverbrauch)
end
Drehzahl=1:3000
Drehmoment=100:150
the input range would be variable every time

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 25 Sep. 2018
function [Kraftstoffverbrauch,Drehmoment]=Kasus_1_4(Drehzahl, Drehmoment)
% Modify the dimensions
nx = length(Drehzahl) ;
ny = length(Drehmoment) ;
if nx > ny
Drehmoment = linspace(min(Drehmoment),max(Drehmoment),nx) ;
elseif nx<ny
Drehzahl = linspace(min(Drehzahl),max(Drehzahl),ny) ;
end
[num,txt,raw] = xlsread('Mappe1.xlsx') ;
Dz = num(:,1) ; Dz(isnan(Dz))= [ ];
A = num(:,2:end) ;
A(isnan(A(:,1)),:)= [] ;
W = A(1:2:end,:) ;
Dm = A(2:2:end,:) ;
Dz1 = repmat(Dz,1,size(Dm,1)) ;
idx = ~isnan(Dm) ;
F = scatteredInterpolant([Dz1(idx) Dm(idx)],W(idx));
Wi = F(Drehzahl,Drehmoment);
Drehmoment2 = Drehmoment*3.0769*2.64;
Geschwindigkeit= (Drehzahl/(3.07*2.64))*2.037*0.06;
Kraftstoffverbrauch= (2*3.14*(Drehmoment).*(Drehzahl))./(Wi*0.98*0.8.*(Geschwindigkeit)*600);
plot3(Drehzahl,Drehmoment2,Kraftstoffverbrauch)
end

Weitere Antworten (0)

Kategorien

Mehr zu Data Import from MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by