2010-05-02 33 views
17

Tôi đang tìm kiếm một đơn giản computer algebra system (cas) cho JavaScript nhưng tôi không thể tìm thấy bất kỳ thứ gì với google. Tôi chỉ cần chức năng cơ bản:Hệ thống đại số máy tính JavaScript

  • đơn giản hóa biểu thức thành một số hình thức canonic. Khả năng kiểm tra xem hai biểu thức có giống nhau hay không, tức là, một (x + y) == ax + ay
  • phân tích các công thức toán học. Tôi muốn nó có thể đọc các biểu thức như ax² + 4x.
  • giải phương trình đơn giản, v.v.

Bạn có biết thư viện như vậy không?

+0

Giải quyết các phương trình đơn giản: Làm thế nào đơn giản? Các phép toán đơn giản có thể xây dựng các phương trình không giải được, ví dụ: 'x^x = 3' hoặc' x^5 + x^3 - 6 * x^2 + 3 = 0'. – kennytm

+0

BTW, hãy thử Google cho "Toán học tượng trưng". – kennytm

+3

@KennyTM Những phương trình này không thể giải quyết được, trừ khi bạn đang nói về cách chúng có nhiều giải pháp. Giải pháp: ['x^x = 3'] (http://www.wolframalpha.com/input/?i=x^x+%3D+3%3B+solve+for+x), [' x^5 + x^3 - 6 * x^2 + 3 = 0'] (http://www.wolframalpha.com/input/?i=x^5+%2B+x^3+-+6*x^2+ % 2B + 3 +% 3D + 0% 3B + giải + cho + x) –

Trả lời

-1

Để phân tích cú pháp công thức toán học, bạn có thể dùng thử jscc. Giải quyết chúng là trái như một bài tập cho người đọc ...

5

(tôi trả lời bản thân mình, như bounty thất bại trong việc mang lại sự chú ý về vấn đề này.)

Bạn có thể muốn thử this CAS, trong đó có một số chức năng tốt (mặc dù một số bộ phận bị hỏng, sử dụng các phiên bản cũ hơn).

+0

Readme của thư viện đó nói rằng nó không giải phương trình. –

-1
+0

Đầu tiên, Javascript không thể truy cập các trang web bên ngoài. Thứ hai, W | A không đúng CAS. Thứ ba, ToS của nó cấm truy cập bằng các phương tiện tự động. –

+0

Đầu tiên, XMLHttpRequest trên Samsung có thể truy cập các trang web bên ngoài. Phần thứ hai là đúng, nhưng bạn có thể trích xuất giải thích biểu tượng từ phản ứng. Thứ ba, phần nào của http://products.wolframalpha.com/api/termsofuse.html cấm truy cập tự động? –

+0

Xin lỗi, về XMLHttpRequest bạn đúng. Tôi nhầm lẫn câu hỏi này với về SmarTV. Có, bạn cần phải yêu cầu proxy đối với API wolfram để nhận kết quả bằng JavaScript. Điều này có thể được thực hiện bằng cách thiết lập ReverseProxy trên trang web nơi dự án của bạn được lưu trữ. –

1

Để thêm một thư viện rắn vào danh sách: http://mathjs.org/

Nó thậm chí đã góp phần giải quyết một vấn đề với complex calculations.

+0

Nhưng nó không phải là một hệ thống đại số máy tính. Không có vấn đề gì loại số học mơ hồ đã được thực hiện với nó. –

2

Bạn cũng có thể nhìn vào JSolve: http://www.movss.com/~rich/jsolve/

Nó được viết bằng Java và biên soạn JavaScript bằng cách sử dụng khuôn khổ GWT.

+0

Ồ, điều này ít nhất là giải quyết 'a * x^2 + b * x + c = 0'. –

2

Bạn có thể thử nerdamer

  • đơn giản hóa
  • Sacombank
  • mở rộng
  • chức năng tùy chỉnh
  • vectơ
  • ma trận
  • hội nhập
  • biệt
  • gốc giải
  • suy

//Expanding 
 
var result = nerdamer('a*(x+y)',null,'expand'); 
 
document.getElementById('text').innerHTML = '<p>'+result.text()+'</p>'; 
 
//Solving equation 
 
var sol = nerdamer.solveEquations('0=x^2+x+a','x'); 
 
document.getElementById('text').innerHTML += '<p>'+sol.toString()+'</p>';
<script src="http://nerdamer.com/js/nerdamer.core.js"></script> 
 
<script src="http://nerdamer.com/js/Algebra.js"></script> 
 
<script src="http://nerdamer.com/js/Solve.js"></script> 
 
<div id="text"></div>

+0

Đó là một bộ giải số, chứ không phải đại số. –

+0

Nó chỉ là một sự trùng hợp mà nó cho thấy '0,5' cho' 1/2' trong ví dụ này, để nó không có vẻ là một giải quyết số. Hãy thử cái gì đó sẽ trả về '1/3' hoặc' sqrt (2) 'thay thế. –

+0

@ polkovnikov.ph Vui lòng đưa ra ví dụ về phương trình như vậy. – ArchHaskeller

Các vấn đề liên quan