필터 지우기
필터 지우기

How to put unequal range of values in functon

조회 수: 2 (최근 30일)
Shubham Mohan Tatpalliwar
Shubham Mohan Tatpalliwar 2018년 9월 25일
답변: KSSV 2018년 9월 25일
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
KSSV
KSSV 2018년 9월 25일
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 2018년 9월 25일
편집: KSSV 2018년 9월 25일
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

댓글을 달려면 로그인하십시오.

채택된 답변

KSSV
KSSV 2018년 9월 25일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by