passing app inputs to an array in another function
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Timothy Dunning
am 6 Dez. 2022
Beantwortet: Timothy Dunning
am 6 Dez. 2022
I have developed a relatively simple program to simulate a trajectory of a shuttle through the air which had no errors. I then decided to make a GUI so that a user could input what they wanted as initial values. for want of a better way I decided to save the user inputs as global variables but when I try to define my initial matrix z(:,1) I get the following error:
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Here is a snippet of the function where the error occurs:
function guess = shootingMethod()
% set initial value
t(1) = 0;
n=1;
count=1;
dt=0.1;
global z1;
global z2;
global desh;
global errAll;
%initial angle guesses
guess(1)=20;
guess(2)=70;
z(:,1) = [z1;z2*sind(guess(count))]; %error on this line
q(:,1) = [0;z2*cosd(guess(count))];
the global variables z1 and z2 are 1 and 2500 respectively. Where is the error coming from and is there a better way to pass the variables (as I am aware global variables are an ineffiecient method)?
2 Kommentare
Bora Eryilmaz
am 6 Dez. 2022
Bearbeitet: Bora Eryilmaz
am 6 Dez. 2022
You can always make your function take the arguments it needs:
function guess = shootingMethod(z1, z2)
end
and call it as
z1 = 1;
z2 = 2500;
shootingMethod(z1, z2)
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Workspace Variables and MAT-Files 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!