# Plotting the theoretical maximum possible efficiency of a heat engine

조회 수: 2(최근 30일)
Aidan Palermo 2022년 9월 5일
편집: David Goodmanson 2022년 9월 6일
I'm trying to create a temperature vs. efficiency plot using the equation n=1-(Tl/Th) for 3 different Tl values.
clear all
close all
n=0;
Tl1=263;
Tl2=277;
Tl3=291;
for Th=299:.1:316
n=n+1;
TME(n)=1-(Tl1/Th(n));
TME2(n)=1-(Tl2/Th(n));
TME3(n)=1-(Tl3/Th(n));
end
Matlab keeps telling me "index exceeds the number of array elements" and Th only eqauls 299.1 instead of the whole range it is supposed to run through. Can anybody tell me what I'm doing wrong here?

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

### 답변(1개)

David Goodmanson 2022년 9월 6일
편집: David Goodmanson 2022년 9월 6일
Hi Aidan,
It's possible to fix up the for loop, but easier and much more in the spirit of Matlab to do this with vectors.
Tl1=263;
Tl2=277;
Tl3=291;
Th=299:.1:316;
TME = 1 - (Tl1./Th);
TME2 = 1 - (Tl2./Th);
TME3 = 1 - (Tl3./Th);
Here the use of ./ means that Th is divided into the numerator on an element-by-element basis, so for e.g. TME you get a vector the same length as Th.

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

### 범주

Find more on Matrix Indexing in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by