Failure in initial objective function evaluation. FSOLVE cannot continue.
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Erin A Sweeney
am 3 Sep. 2020
Beantwortet: Walter Roberson
am 3 Sep. 2020
I have looked over my code and can't find the problem. It has given me two errors, one when I was stepping through to try and find the issue:
"Unrecognized function or variable 'L' Error in MatlabHW_1 (line 46)" and when I ran it normally it gave me the fsolve error: "Error in fsolve (line 255)
fuser = feval(funfcn{3},x,varargin{:});"
I am not sure what this means and I haven't found any documentation on it, but for context here is my code:
function nacelle()
% *Constants:*
sigma = 5.67e-8; %Stephan Boltzman constant
% *Variables:*
efficiency = 0.93; %efficiency
A_gen = 4.2; %[m^2] generator surface area
epsilon = 0.8; %emissivity
T_inf = 30+273.15; %[K] air temperature
power = 2.5e6; %[W] generator power
% *Set up array for temperature:*
h = linspace(30,80,10); %array for increasing heat transfer coefficient
L = length(h); %find length of coefficient data
T = zeros(L,1); %set up temperature vector
%%
options=optimset('Display','off'); % Publishing purposes only Option to display output
for i=1:L
T = fsolve(@(T) thefunct(T, epsilon, efficiency, T_inf, A_gen, power, sigma, h(i)), 300, options);
T_s = T-273.15; %convert to celsius
end
%% Plot and Results
plot(h,T_S)
xlabel('Heat Transfer coefficient [W/(m^2*K)]')
ylabel('Surface temperature [C]')
title('Wind Turbine Generator in Nacelle')
set(gca,'FontSize',14)
end
%%
% *Residual function for finding temperature*
function Res = thefunct(T, epsilon, efficiency, T_inf, A_gen, power, sigma, h)
Res = power - (h*A_gen*(T_S-T_inf)+sigma*A_gen*T_s^4+efficiency*power);
end
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 3 Sep. 2020
In thefunct() you confuse T and T_S and T_s
Also, the line
T_s = T-273.15; %convert to celsius
You need to save all of the values, such as
T_S(i) = T-273.15; %convert to celsius
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Electrical Block Libraries 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!