Function behaves unexpectedly on array inputs. To improve performance, properly vectorize your function to return an output with the same size and shape as the input arguments
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Elle
am 25 Sep. 2024
Kommentiert: Elle
am 1 Okt. 2024
Why am I getting the warning?
EDIT: removed VER information.
%% Hill equation
% Rate = Vmax * S^n / (K^n + S^n)
hill = @(S,Vmax,K,n) Vmax*S^n / (K^n + S^n);
%Check Michaelis Menton Function using S, Vmax=1, Km=0.1, and n=1)
hill_1 = @(S) hill(S, 1, 0.1, 1);
figure(1)
fplot(hill_1, [0,3])
0 Kommentare
Akzeptierte Antwort
Swastik Sarkar
am 25 Sep. 2024
While the formula is correct, the MATLAB code provided works well for scalar values but requires element-wise operations when working with matrices. By default, MATLAB assumes matrix operations on the variables. To address the warning encountered, the code should be modified as follows:
% Note element-wise operations
hill = @(S,Vmax,K,n) Vmax .* S.^n ./ (K.^n + S.^n);
% Check Michaelis-Menten Function using S, Vmax=1, Km=0.1, and n=1
hill_1 = @(S) hill(S, 1, 0.1, 1);
% Plot the function
figure(1)
fplot(hill_1, [0, 3])
Further information can be found in the following documentation::
Hope this helps.
3 Kommentare
Swastik Sarkar
am 1 Okt. 2024
I'm glad that this answer helped you! Please consider accepting the answer next time so that others in the community can benefit from it as well.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations 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!