array of numbers and strings
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Marc-Olivier Labrecque-Goulet
am 4 Mär. 2017
Kommentiert: Marc-Olivier Labrecque-Goulet
am 4 Mär. 2017
Hi, I have an issue creating string. let say I have 2 numbers and a string:
nb1 = 12;
nb2 = 1;
str1 = '+';
I want to create a variable (array or a string) from these 3 variables:
op = {nb1 str1 nb2} ;
op is an operation, (i will later need to acces nb2 as a number value and fprint the whole op.)
I then need to make an array of op. This array is storing every operations made.
history = [];
for i = 1 : 5
history = [history op]; %adding the last operation in the history
nb1 = nb1 + i; %just changing the numbers in a random way to illustrate
nb2 = nb2 - i;
str1 will also change for an other string, I lack imagination to illustrate that...
op = {nb1 str1 nb2};
end
i want to be able to access a certain operation in the history and fprintf it on the screen.
op = history (n*2);
fprintf ('%s',op);
And finally, also change the value of a number from the previous value.
nb1 = op{1};
op and nb1 at this stage should be what they were "n" operation before.
0 Kommentare
Akzeptierte Antwort
Geoff Hayes
am 4 Mär. 2017
Marc-Olivier - the line of code
op = {nb1 str1 nb2} ;
will create a 1x3 cell array of two numbers (in the first and third positions) and a string (for the operation). It is not a string.
If you have several operations/equations, then you can concatenate them together to form the history as
history = [];
for k=1:5
numA = randi(255,1,1);
numB = randi(255,1,1);
operator = '+';
eqn = {numA operator numB};
history = [history ; eqn]; % vertical concatenation using ;
end
If you wish to access the third equation in the history, you would then do
thirdEquation = history(3,:);
You are accessing the third row (so use 3) and you want all of the columns (so use the colon).
To print this equation, you would do
fprintf('%d %s %d\n', thirdEquation{1}, thirdEquation{2}, thirdEquation{3});
where you specify the type of each element in your equation: number, string, number.
You should then be able to manipulate any of the values in this third equation via the usual manner of accessing elements in the cell array.
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!