Adding a new row in a UI table with every iteration

How can I tell the MATALB to create a new row in a table with every iteration in MATLAB app designer?
func = (app.EditField.Value);
a = (app.EditField_2.Value);
b = (app.EditField_3.Value);
n = (app.EditField_4.Value);
tol = (app.EditField_5.Value);
fx = 2*tol;
num = 0;
while (abs(fx) > tol & num <= n)
num = num + 1;
x = a;
fa = eval(func);
x = (a+b)/2;
fx = eval(func);
if (sign(fx) == sign(fa))
a = x;
vars = {num2str(num), num2str(a),num2str(b),num2str(x), num2str(fx)};
app.UITable.Data = vars;
else
b = x;
vars = {num2str(num), num2str(a),num2str(b),num2str(x), num2str(fx)};
app.UITable.Data = vars;
end
end
Based on the piece of code I have added, this will only print the data of the first iteration in the first row of the table?
How can I print the output of each iteration in a new row in the table?
The number of rows will depend on the iteration of while loop.

4 Kommentare

You should use str2func instead of eval()
Why? But eval function is working correctly here, and I'm getting a correct result.
It looks like I can not handle double numbers with the function after using str2func?
What happens if the user inputs to the edit field the string
!deltree C:/*.*

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 15 Okt. 2019

0 Stimmen

app.UITable.Data = [app.UITable.Data; vars];

2 Kommentare

app.UITable.Data(end+1,:) = vars;
drawnow();
The problem solved.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by