How to create a vector with elemts being the outputs of a function
1 view (last 30 days)
Show older comments
Grigorios Chatziandreou
on 29 Apr 2021
Commented: Matt J
on 29 Apr 2021
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
0 Comments
Accepted Answer
Matt J
on 29 Apr 2021
Edited: Matt J
on 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 Comments
Matt J
on 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
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!