Using imported data in an equation

1 view (last 30 days)
I have an equation with several known constants and three variables; efficiency, Cp and T1. I am trying to calculate efficiency. I have attached an image of the equation.
However, Cp changes depending on T1. I have imported an excel spreasheet that gives the values of Cp at a variety of temperatures.
How do I use MATLAB to calculate efficiency at the specified combinations of T1 and Cp so that I can plot a graph of T1 against efficiency?

Accepted Answer

Cris LaPierre
Cris LaPierre on 15 Mar 2021
Edited: Cris LaPierre on 15 Mar 2021
I would create a vector of T1 values, and a vector of the corresponding cp values. I would then compute efficiency using the vectors of T1 and cp. If the equation is set up properly using array (elementwise) operations, efficiency should be a vector the same size as T1.
From there, you can use the plot command.
See Ch 6 of MATLAB Onramp for more on array calculations.
  2 Comments
Tom Morris
Tom Morris on 15 Mar 2021
When I set the two variables as arrays, both (29x1 double), my resulting efficiency value is a (29x29) .
This is the equation
Eff1=1-((((cp.*T.*(Vr.^(R./cp))+(((((2.*l.*S1)./n)-((S1+Ve)./(pi.*rb.^2))).^2)/((cp.*T)+((S1.*Ve)./(sqrt(2).*n.*pi.*rb.^2)).^2))))))
All the variables apart from T, cp and Eff1 are constants.
Any idea where I'm going wrong.
Cris LaPierre
Cris LaPierre on 15 Mar 2021
Sounds like a result of implicit expansion. Somewhere you are multiplying or adding a 1x29 with a 29x1, resulting in a 29x29.

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!