How to create a vector with elemts being the outputs of a function

1 Ansicht (letzte 30 Tage)
Hello, we are given the ready function 'floris' which gives out power and speed at a specific location. Speed output is a numeric value. I want to create a vector (or just a set of values) named 'speeds' that has as elements, all the different speeds for all the location. My final purpose is to plot x-location vs speed.
To take it to the next level, I would like to be able to do simultaneously the same for y location. If I could do a 3d plot of [x, y] location that gives the speed output would be ideal. Have no idea how to do this though. Height stays fixed at 0.3m. x has to go from 10m to 14.16m and y from -0.54m to +0.54m.
Any help would be much appreciated and thank you in advance
for x=10:0.02:14.160
location = [x 0 0.3];
[power,speed]=floris(wind_speed,density,wind_direction,turbine_centre,yaw_angle,diameter,powercurve,location);
speeds(1,x)=speed
end

Akzeptierte Antwort

Matt J
Matt J am 29 Apr. 2021
Bearbeitet: Matt J am 29 Apr. 2021
One way,
fun=@(x) floris(wind_speed,density,wind_direction,...
turbine_centre,yaw_angle,diameter,powercurve,[x 0 0.3]);
[power,speed]=arrayfun(fun, 10:0.02:14.160);
  2 Kommentare
Matt J
Matt J am 29 Apr. 2021
Here is a simpler, made-up example, just to illustrate what should happen:
fun=@(x) deal( sum([x,0,0.3]) , mean([x,0,0.3])) ;
[power,speed]=arrayfun(fun, 10:0.02:14.160);
whos power speed
Name Size Bytes Class Attributes power 1x209 1672 double speed 1x209 1672 double

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by