Использование ячеек в качестве выходной таблицы в то время как л oop в октаве - PullRequest
0 голосов
/ 03 мая 2020

Итак, я реализую в своем коде некоторое время l oop, которое просто выполняет некоторые простые вычисления. Дело в том, что я хочу получить вывод, который показывает не только конечные значения, но и все из каждого шага. Лучшее, что я мог сделать, это использовать массивы ячеек со следующим кодом:

i=1; p=(a+b)/2;
valores=cell(n, 3);
while (i<=n && f(p)!=0);
  if f(a)*f(p)<0;
    a=a; b=p;
    else a=p; b=b;
  endif
  i=i+1; p=(a+b)/2;
  valores(i, :)={i-1 p f(p)}; fprintf('%d     %d      %d \n', valores{i, :});
endwhile

Пример вывода будет таким:

1     1.25      -1.40998
2     1.125      -0.60908
3     1.0625      -0.266982
4     1.03125      -0.111148
5     1.01562      -0.0370029

Но у меня есть две основные проблемы с этим методом, первый во-первых, я не смог найти способ получить какой-либо текст в качестве заголовка в первой строке, поэтому я должен объяснить, что каждый столбец в предложении позже, а во-вторых, я не знаю, как сделать так, чтобы все столбцы оставайтесь на одинаковом расстоянии друг от друга вместо того, чтобы каждый текст оставался на одинаковом расстоянии. Я предполагаю, что эта последняя проблема связана с тем, как я использовал строку fprintf, поскольку я не знаком с ней.

В случае, если это поможет понять, что я хочу получить от этого алгоритма, я ' Я пытаюсь вычислить root функции методом деления пополам. И извините, если это было долго или неясно, не стесняйтесь давать мне советы, я вроде как новичок здесь:)

...