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

Mehr zu Variables finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by