JSFiddle - React, Tailwind, and code Playground
by Lazaro Contreras
HTML
<table id="myTable">
</table>
CSS
table, td{
border-collapse: collapse;
border: 2px black solid;
}
JavaScript
/*function f(x) {
//return x**2 - 6
//return -Math.cos(x) - x**3
return Math.cos(x) - x
}
var
p0 = 0.5,
p1 = Math.PI / 4,
q0 = f(p0),
q1 = f(p1),
p = 0,
i = 0
while (i < 1000) {
p = p1 - ( ( q1 * (p1 - p0) ) / (q1 - q0) )
var table = document.getElementById("myTable");
var row = table.insertRow(i);
var n = row.insertCell(0);
var pc = row.insertCell(1);
var qc = row.insertCell(2);
n.innerHTML = i;
pc.innerHTML = p0;
qc.innerHTML = q0;
if ((p - p1) == 0) {
return
}
p0 = p1
q0 = q1
p1 = p
q1 = f(p)
i++
}
console.log(p0, q0)
*/
function f(x) {
return x**3 - 7*x**2 + 14*x - 6
}
function F(x) {
return x**3 - 7*x**2 + 14*x - 6
}
var
a = new Vector(),
p = new Vector(),
i = 0
while (i < 1000) {
p = (a + b) / 2
var table = document.getElementById("myTable");
var row = table.insertRow(i);
var n = row.insertCell(0);
var ac = row.insertCell(1);
var bc = row.insertCell(2);
var pc = row.insertCell(3);
var fp = row.insertCell(4);
var fa = row.insertCell(5);
n.innerHTML = i;
ac.innerHTML = a;
bc.innerHTML = b;
pc.innerHTML = p;
fp.innerHTML = f(p);
fa.innerHTML = f(a);
console.log(a, b, p, f(p), f(a))
if (Math.abs(b - a) >= 0 && Math.abs(b - a) < 0.000000001) {
return
}
if(f(p) * f(a) > 0){
a = p
a = Math.round(p * 100000 ) / 100000
}else{
b = p
b = Math.round(p * 100000 ) / 100000
}
i++
}
function Vector(x, y, z) {
this.x = x || 0;
this.y = y || 0;
this.z = z || 0;
}
Vector.prototype = {
negative: function() {
return new Vector(-this.x, -this.y, -this.z);
},
add: function(v) {
if (v instanceof Vector) return new Vector(this.x + v.x, this.y + v.y, this.z + v.z);
else return new Vector(this.x + v, this.y + v, this.z + v);
},
subtract: function(v) {
if (v instanceof Vector) return new Vector(this.x - v.x, this.y - v.y, this.z - v.z);
else return new Vector(this.x - v, this.y - v, this.z - v);
},
...