how to get a expected plot for these values?
古いコメントを表示
function [Kraftstoffverbrauch,Wi, Drehzahl, 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,Drehmoment,Kraftstoffverbrauch)
xlabel ('Drehzahl(1/min)');ylabel ('Drehmoment(N.m)'); zlabel ('Kraftstoffverbrauch(kWh/100km)');
title ('Drehmoment vs Drehzahl Diagram');
end
8 件のコメント
JohnGalt
2018 年 10 月 1 日
use the '{}code' button to make your code more readable please...
JohnGalt
2018 年 10 月 1 日
also what are the inputs 'Drehzahl, Drehmoment'
JohnGalt
2018 年 10 月 1 日
t = linspace(3/4*pi,2*pi,50)';
Drehzahl = [3*cos(t); 2*cos(t); 0.7*cos(t)];
Drehmoment = [3*sin(t); 2*sin(t); 0.7*sin(t)];
[Kraftstoffverbrauch,Wi]=Kasus_1_4(Drehzahl, Drehmoment)
on another note, it's better practice to add the filename as input to the function e.g.
function [Kraftstoffverbrauch,Wi, Drehzahl, Drehmoment]=Kasus_1_4(mappeXLSXname,Drehzahl, Drehmoment)
...
[num,txt,raw] = xlsread(mappeXLSXname) ;
...
Also, it's unusual to have the same arguments in the input and the output... as whatever's calling the function already knows the input... and if the input is changing then the output name should be different.
and finally, 'Drehmoment2' is created but not used...
Shubham Mohan Tatpalliwar
2018 年 10 月 1 日
Shubham Mohan Tatpalliwar
2018 年 10 月 1 日
Walter Roberson
2018 年 10 月 1 日
Your expected is pretty much a contour() plot except with the value at each point text() into place. Your code makes no attempt to contour or text labels into place.
JohnGalt
2018 年 10 月 1 日
aside from the labelling... the issue is that your inputs scale linearly with each other ... so of course you're going to get a straight line...
Shubham Mohan Tatpalliwar
2018 年 10 月 1 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Graph and Network Algorithms についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!