Column Vector - Nonscalar arrays.
Show older comments
Hello;
For some reason I can't put the following equations into a column vector:
F1 = @(X, T) -50*(X(1-0.167*(1-X))^0.5 - 2.2*(1-X)/(exp(-11.02+11570/T))/(exp(-14.96+11070/T)+(exp(-1.331+2331/T))*(1-X))^2);
F2 = @(X, T) -4.1*(T-673.2)+ 10200*(X(1-0.167*(1-X))^0.5 - 2.2*(1-X)/(exp(-11.02+11570/T))/(exp(-14.96+11070/T)+(exp(-1.331+2331/T))*(1-X))^2);
F = [F1; F2]
unfortunately I keep on getting the error:
Nonscalar arrays of function handles are not allowed; use cell arrays instead.
Does anyone know how to format the two equations nicely into a column vector (So that I can run ODE45 afterwards with it)
Thanks
Answers (1)
James Tursa
on 6 Apr 2020
F = @(X, T) [F1(X, T); F2(X, T)];
3 Comments
madhan ravi
on 6 Apr 2020
Also note that you have missed the operator in X(1.0-...) %^
John Barr
on 6 Apr 2020
James Tursa
on 6 Apr 2020
This
[X,T] = ode45(@(X,T) F, zspan, initialconditions);
should be simply this
[X,T] = ode45(F, zspan, initialconditions);
Categories
Find more on Operators and Elementary Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!