Chào mừng các bạn đến với blog Maplevn2008’s Blog .
Blog bao gồm nhiều Category như :
8. Tài liệu
Trong mỗi Category có nhiều bài viết liên quan đến chủ đề đó.
Các bạn mới làm quen với Maple nên vào các Category “Tính toán cơ bản“ và “Tài liệu“ để tìm hiểu cơ bản và tham khảo một số tài liệu hướng dẫn sử dụng Maple mà mình đã upload lên.
Các bạn muốn tìm những vấn đề liên quan đến kiến thức lập trình trên Maple có thể vào Lập trình cơ sở và Lập trình Form để xem . Ngoài ra trong Học qua ví dụ mẫu cũng có nhiều ví dụ có thể giúp ích cho các bạn.
Các vấn đề thắc mắc về việc sử dụng Maple các bạn có thể viết comment ở đây, mình sẽ cố gắng trả lời trong thời gian sớm nhất ( tất nhiên là nếu có thể).
Chú ý: Các dấu nháy kép (1 loại) và nháy đơn (2 loại) ở các đoạn lệnh ở một số vị trí đã bị WordPress chuyển thành dấu nháy khác. Có thể sửa lại như sau:

Các dấu nháy ở trường hợp 1 và 2 có cùng ý nghĩa là để kí hiệu xâu. Trường hợp 3 phân biệt với trường hợp 2 ở chỗ là trường hợp 3 dùng để kí hiệu tên biến trong lệnh print ( lúc đó chỉ in tên biến mà không in ra giá trị) hay dùng trong phép gán để xóa giá trị của biến.
Làm sao để tìm đạo hàm ẩn ? Chỉ giúp mình với. Cám ơn.
Bởi: nquang ngày Tháng Mười Một 15, 2008
lúc 10:33 sáng
Chẳng hạn để tính đạo hàm ẩn của y theo x, trong đó F(x,y)=0, ta có thể gõ lệnh
>implicitdiff(F(x,y),y,x);
Bởi: maplevn2008 ngày Tháng Năm 7, 2009
lúc 6:22 sáng
Minh moi tim hieu ve Maple. cho minh hoi lam sao de nhom vai cau lenh trong maple.
va tai sao khi minh lay 2 ma tran T1,T2 nhan voi nhau thi ket qua chi la T1.T2?
thanks
Bởi: doankimngan ngày Tháng Mười Một 17, 2008
lúc 12:46 chiều
Trả lời bạn doankimngan:
1. Nếu bạn đã gõ lệnh ở các dòng liên tiếp liền nhau thì để nhóm chúng lại, bạn có thể bôi đen vùng lệnh, rồi vào Edit->Split or Join->Join Excution Groups (có thể dùng phím tắt F4)
Nếu bạn muốn gõ các lệnh trong cùng 1 group thì thay vì bạn nhấn Enter, bạn nhấn Shift-Enter, động tác này chỉ có tác dụng xuống hàng mà không tạo group mới.
2. Câu hỏi của bạn mình không được hiểu cho lắm. Tuy nhiên, theo minh có lẽ bạn mắc phải lỗi “phép gán giá trị”. Chú ý: Phép gắn giá trị là dấu “:=” (hai chấm bằng). Dấu “=”(bằng) chỉ có tác dụng hiển thị kết quả cho đẹp mà thôi.Ví dụ:
>T1=Matrix([[1,2],[3,2]]);
>T2=Matrix([[3,1],[2,5]]);
>T1.T2; # kết quả sẽ như bạn hỏi
Còn nếu bạn gõ:
>T1:=Matrix([[1,2],[3,2]]);
>T2:=Matrix([[3,1],[2,5]]);
>T1.T2; #kết quả là một ma trận 2×2
Bởi: maplevn2008 ngày Tháng Năm 7, 2009
lúc 6:24 sáng
Cho mình hỏi : Ví dụ khi mình giải phương trình sin(x)=0 với lệnh solve(sin(x)=0,x) thì Maple chỉ cho 1 nghiệm x=0. Vậy mình muốn Maple cho nghiệm tổng quát luôn có được không? Cám ơn.
Bởi: tuanhai ngày Tháng Mười Một 18, 2008
lúc 5:45 chiều
Để tìm tất cả các nghiệm bạn có thể viết như sau:
>_EnvAllSolutions:=true;
>solve(sin(x)=0,x);
Lúc đó nghiệm có dạng :
Dấu “~” chỉ rằng biến _Z1 là biến đã được đặt điều kiện. Bạn có thể xem các thông số qua lệnh
>about(_Z1);
Bởi: maplevn2008 ngày Tháng Năm 7, 2009
lúc 6:25 sáng
Các chức năng của maple liên quan tới hàm mũ và logarith như thế nào mấy anh. Tui làm hoài mà chẳng thu hoach là bao?
Anh em nói phác thảo sơ sơ về mấy cái đó cho tui học hỏi với.
Bởi: huycodontimbangai ngày Tháng Mười Một 19, 2008
lúc 2:19 chiều
Chú ý rằng trong Maple hàm ln(x) được viết là log(x) hoặc ln(x), hàm
được viết là log[a](b), hàm
được viết là exp(x).
Bởi: maplevn2008 ngày Tháng Năm 7, 2009
lúc 6:26 sáng
Bạn có thể giải thích rõ hơn một tí về phương pháp Monte-Karlo để tính tích phân được không ?
Bởi: huycoi ngày Tháng Mười Một 20, 2008
lúc 8:01 sáng
Trả lời bạn huycoi:
Câu hỏi của bạn hơi đi xa chủ đề Maple một tí. Mình đã sửa lại cái post ấy rồi, bạn có thể xem lại.
http://maplevn2008.wordpress.com/2008/11/16/tinh-tich-phan-b%E1%BA%B1ng-ph%C6%B0%C6%A1ng-phap-monte-karlo/
Bởi: maplevn2008 ngày Tháng Mười Một 20, 2008
lúc 3:33 chiều
Lệnh phân tích đa thức thành nhân tử trong maple là gì ấy anh nhỉ? Tiện tay phân tích cho em con này với:
(((x^2-2)^2-2)^2-x-2
Bởi: ddz ngày Tháng Mười Một 23, 2008
lúc 3:57 chiều
Để phân tích đa thức thành nhân tử, em có thể dùng lệnh factor. Cụ thể với ví dụ của em, em có thể gõ

>f:=((x^2-2)^2-2)^2-x-2;
>factor(f);
Kết quả:
Em có thể xem thêm ở đây:
http://maplevn2008.wordpress.com/2008/11/14/l%E1%BB%87nh-factor/
Bởi: maplevn2008 ngày Tháng Mười Một 23, 2008
lúc 5:27 chiều
Hình ảnh trái tim 3D ở đây : http://maplevn2008.wordpress.com/2008/12/01/hinh-%E1%BA%A3nh-trai-tim-3d/
rất đẹp. Thế hình ảnh trái tim 2D thì thế nào hả anh/chị ?
Bởi: thanhthanh ngày Tháng Mười Hai 2, 2008
lúc 7:56 sáng
Cho em hỏi sau khi mình đã vẽ đồ thị rồi thì làm sao có thể thay đổi kích thước cũng như quay đồ thị hả anh ?
Bởi: vanboi ngày Tháng Mười Hai 2, 2008
lúc 2:22 chiều
Trả lời bạn thanhthanh:
Hình ảnh trái tim 2D bạn có thể xem ở đây :
http://maplevn2008.wordpress.com/2008/12/02/hinh-%E1%BA%A3nh-trai-tim-2d/
Bởi: maplevn2008 ngày Tháng Mười Hai 2, 2008
lúc 11:42 chiều
Trả lời bạn vanboi:
Có 2 cách:
-Dùng chuột : click vào đồ thị, bạn thấy xuất hiện một thanh công cụ cho phép tinh chỉnh đồ thị
-Dùng lệnh :
+plottools[rotate] : quay đồ thị
+plottools[scale] : co giãn đồ thị
Nếu có thời gian rãnh, mình sẽ post bài sau.
Bởi: maplevn2008 ngày Tháng Mười Hai 2, 2008
lúc 11:46 chiều
Chú ý: Toàn bộ dấu nháy kép đều là dấu nháy kép thông thường .Tuy nhiên 1 số vị trí WordPress chuyển thành dấu nháy khác. Các bạn chú ý sửa lại khi copy lệnh.
Bởi: maplevn2008 ngày Tháng Mười Hai 8, 2008
lúc 4:22 chiều
Bài viết “Tạo số ngẫu nhiên trong khoảng (0,1) ”
rất hay. Tuy nhiên kết quả tạo ra là một list các số. Vậy mình muốn tạo ra một số ngẫu nhiên bất kì khi gọi lệnh thì làm thế nào ?
Bởi: huynhtien ngày Tháng Mười Hai 9, 2008
lúc 2:04 chiều
Trả lời bạn huynhtien:
Câu hỏi của bạn rất thú vị. Theo mình có thể căn cứ vào thời gian hệ thống mà lập trình. Mình đã bổ sung thêm 1 procedure vào bài cũ, bạn có thể xem thêm.
http://maplevn2008.wordpress.com/2008/12/07/t%e1%ba%a1o-s%e1%bb%91-ng%e1%ba%abu-nhien-trong-kho%e1%ba%a3ng-01/
Bởi: maplevn2008 ngày Tháng Mười Hai 10, 2008
lúc 10:18 sáng
Bạn có thể giúp mình được k?Các ứng dụng của Maple để tính diện tích và thể tích hình tròn xoay. và cả cách vẽ đồ thị biểu diễn nữa( Ví dụ như tính thể tích giới hạn bơi y=f(x), x=a,x=b khi quay quanh trục ox, oy).
Cám ơn bạn!
Bởi: ngocmai ngày Tháng Mười Hai 25, 2008
lúc 8:44 sáng
Trả lời bạn ngocmai:
Cách tính và minh họa mặt tròn xoay bạn có thể xem ở đây
http://maplevn2008.wordpress.com/2008/12/25/m%e1%ba%b7t-tron-xoay-minh-h%e1%bb%8da-va-di%e1%bb%87n-tich/
Đối với trường hợp thể tích mình sẽ post lên sau .
Bởi: maplevn2008 ngày Tháng Mười Hai 25, 2008
lúc 2:36 chiều
Co ai co tai lieu nao day du ve lenh dsolve cho toi xem voi. Toi dang can gap. Cam on nhieu!!!
Bởi: duyquang ngày Tháng Một 6, 2009
lúc 5:48 sáng
Lệnh dsolve là một lệnh giải tổng hợp: giải số, giải giải tích, giải dạng chuỗi,.. của phương trình và hệ phương trình vi phân. Bạn có thể tìm cụm từ “dsolve” trong blog để thấy 1 vài ví dụ. Ngoài ra bạn nên xem thêm trong help:
> ?dsolve/numeric
> ?dsolve/series
> ?dsolve/system
> ?dsolve/integral_transform
Bởi: maplevn2008 ngày Tháng Một 6, 2009
lúc 7:56 sáng
mình có một matrix 3×3 là A .
A11= cos(x)
A12=sin(x+y)
A13=0
A21=sin(y)
A22=sin(x)*sin(x)
A23=0
A31= sin(x)
A32= 0
A33=1
Mình muốn tìm ma trận đạo hàm của matrix A nay .
Mong bạn giúp mình với !!!
Bởi: baocam ngày Tháng Một 10, 2009
lúc 1:48 chiều
Trả lời bạn baocam:
Mình viết lại ma trận của bạn bằng ngôn ngữ Maple
>A:=Matrix([[cos(x),sin(x+y),0],[sin(y),sin(x)*sin(x),0 ],[sin(x),0,1]]);
Theo mình được biết, đạo hàm ma trận có 2 cách hiểu :
1. Cách 1: đạo hàm theo từng thành phần
-đạo hàm theo biến x cấp 1
>map(diff,A,x);
-đạo hàm theo biến x cấp 2
>map(diff,A,x$2);
-đạo hàm theo biến x cấp 3,4,…
- tương tự đạo hàm theo biến y
>map(diff,A,y);
>map(diff,A,y$2);
2. Cách 2: đạo hàm dòng 1 (các dòng khác giữ nguyên),đạo hàm dòng 2 (các dòng khác giữ nguyên),….rồi lấy tổng. Như thế ta thu được một ma trận mới trong đó mỗi phần tử bằng n-1 lần phần tử cũ cộng với đạo hàm của nó. Chẳng hạn bạn cần tính đạo hàm theo biến x (n=2) bạn có thể viết:
>f:=t-> diff(t,x)+t;
>map(f,A);
Để biết thêm về lệnh map bạn có thể search từ khóa “map” trong blog.
Bởi: maplevn2008 ngày Tháng Một 10, 2009
lúc 11:18 chiều
thanks! mình sẽ nghiên cứu tiếp cái openmaple nay`, khi nao` co’ kết quả minh` sẽ nói với bạn.
Bởi: anhhna ngày Tháng Một 12, 2009
lúc 2:58 chiều
Bạn có thể hướng dẫn mình cách sử dụng Maple để giải phươg trình vi phân và làm các bài tập môn hình học hoạ hình được không?
Cám ơn ban nhiều!
Bởi: ngocmai ngày Tháng Hai 5, 2009
lúc 6:41 sáng
Lệnh để giải phương trình và hệ phương trình vi phân là lệnh dsolve. Bạn có thể search từ “dsolve” trong blog để xem 1 vài ví dụ. Đây là một lệnh tổng hợp, bạn nên xem thêm trong Help.
Môn hình học họa hình thì mình chỉ có nghe nhắc đến tên thế thôi chứ cụ thể thì mình không rõ.
Bởi: maplevn2008 ngày Tháng Hai 5, 2009
lúc 3:36 chiều
Thầy cho em hỏi là dùng maplets để tạo một giao diện để thực hiện bài toán giải hệ phương trình tuyến tính bằng phương pháp Gauss thì phải làm sao ạ? Em xem trong Tutors có giao diện đấy mà không tìm thấy chương trình nguồn. Thầy chỉ giúp em với ạ. Em cảm ơn thầy trước
Bởi: dung ngày Tháng Hai 6, 2009
lúc 3:18 sáng
Điều này rất dễ hiểu vì Maple là một phần mềm thương mại, tuy nhiên bạn vẫn có thể xem code của nhiều hàm (đơn giản) qua lệnh showstat (vd:> showstat(cos);). Bạn có thể xem một ví dụ đơn giản ở đây:
http://maplevn2008.wordpress.com/2009/02/07/maplets-gi%e1%ba%a3i-h%e1%bb%87-tuy%e1%ba%bfn-tinh-pp-gausse/
Bởi: maplevn2008 ngày Tháng Hai 7, 2009
lúc 9:25 sáng
Mình mới tìm hiểu về maple. Và mình đang gặp khó khăn trong việc vẽ một k – ellipses. MÌnh đang rất cần. Các bạn giúp mình với.
Bởi: huonggiang ngày Tháng Hai 8, 2009
lúc 6:24 sáng
Bạn có thể xem một vài ví dụ:
> s1:=sqrt((x-1)^2+(y-2)^2) + sqrt((x+1)^2 + (y-2)^2)-4;
> plots[implicitplot](s1,x=-5..5,y=-5..5, scaling=constrained);
> s2:=sqrt((x-2)^2+(y-1)^2)+ sqrt((x+1/2)^2 +(y-3)^2)+ sqrt(x^2+y^2)-9;
> plots[implicitplot](s2,x=-10..10,y=-10..10, numpoints=3000, scaling=constrained);
Lệnh implicitplot trong gói plots là lệnh dùng để vẽ đồ thị ẩn f(x,y)=0. Bạn nên xem thêm lệnh này trong Help.
Tham số numpoints: số điểm xấp xỉ khi vẽ
scaling=constrained : tỉ lệ đồ thị 1:1
Bởi: maplevn2008 ngày Tháng Hai 8, 2009
lúc 5:18 chiều
Vẫn với k-ellipses trên, mình muốn hỏi thêm rằng có cách nào ta có thể khai báo hàm >sk:= dưới dạng tổng quát theo k, u[i] và v[i] để ta chỉ việc gán hay nhập giá trị của k, u[i] và v[i] vào là có ngay 1 đồ thị mới và (nếu có) thì ta phải khai báo các giá trị k, u[i], v[i] như thế nào?
Rất cảm ơn bạn.
Bởi: huonggiang ngày Tháng Hai 9, 2009
lúc 6:49 sáng
Bạn phải lập trình 1 chút, ví dụ
> u:=[1,-2,0,3];
v:=[0,-4,1,2];
d:=[4,7,9,13];
n:=4;
for k from 1 to n do
s[k]:=add(sqrt((x-u[i])^2+(y-v[i])^2),i=1..k)-d[k];
end do;
Các lệnh vẽ nên tách riêng, chọn miền x,y phù hợp để cho đồ thị nhìn thấy hết
> plots[implicitplot](s[1],x=-10..10,y=-5..5, scaling= constrained);
> plots[implicitplot](s[2],x=-10..10,y=-6..6, scaling= constrained);
Khi biểu thức s[k] phức tạp, để đồ thị đẹp hơn, bạn nên tăng số điểm xấp xỉ
> plots[implicitplot](s[3],x=-10..10,y=-6..6,numpoints=3000, scaling = constrained);
> plots[implicitplot](s[4],x=-10..10,y=-6..6, numpoints= 5000, scaling=constrained);
Bởi: maplevn2008 ngày Tháng Hai 9, 2009
lúc 7:40 sáng
Thầy có thể hướng dẫn em cách dùng Maple khai triển chuỗi Fuorier và ứng dung của việc khai triển chuỗi Fuorier thành xung tam giác, xung chữ nhật.. trong ngành điện tử được k?
Và thầy chỉ cho em biết cách đánh dấu vùng tính diện tích giới hạn bởi nhiều đường cong với?
Em cám ơn thầy nhiều
Bởi: ngocmai ngày Tháng Hai 10, 2009
lúc 4:32 chiều
Có vẻ bạn đang học ngành kĩ thuật nhỉ. Theo mình được biết trong Maple chỉ có lệnh thực hiện biến đổi Fourier mà không có lệnh khai triển thành chuỗi Fourier. Tuy nhiên chúng ta có thể viết một thủ tục như http://maplevn2008.wordpress.com/2009/02/11/khai-tri%e1%bb%83n-chu%e1%bb%97i-fourier/
Vấn đề vẽ miền giới hạn bạn có thể xem ở đây:
http://maplevn2008.wordpress.com/2009/01/11/h%c6%b0%e1%bb%9bng-d%e1%ba%abn-s%e1%bb%ad-d%e1%bb%a5ng-goi-inequalitygraphics/
Bởi: maplevn2008 ngày Tháng Hai 11, 2009
lúc 4:19 chiều
Chú ý: Vì đây là blog hướng dẫn sử dụng và lập trình trên Maple nên các vấn đề ở đây đều tập trung xung quanh chủ đề này.Các vấn đề đi sâu vào toán học cũng như các chuyên ngành khác các bạn có thể post trên các diễn đàn tương ứng.
Bởi: maplevn2008 ngày Tháng Hai 11, 2009
lúc 4:31 chiều
Cám ơn bạn nhiều lắm!
Nhờ có Blog của bạn mà mình đã tiến bộ rất nhiều
Bởi: ngocmai ngày Tháng Hai 12, 2009
lúc 3:21 chiều
Mình rất vui khi được mọi người ghé thăm blog của mình và càng vui hơn khi biết blog của mình giúp ích cho mọi người. ( admin)
Bởi: maplevn2008 ngày Tháng Hai 12, 2009
lúc 11:56 chiều
Em đã đọc ví dụ thầy gửi, em rất cảm ơn thầy. Tuy nhiên em muốn dùng maplets để thiết kế một giao diện để giải hệ phương trình tuyến tính bằng phương pháp Gauss ma trên giao diện đó thực hiện cả các phép biến đổi sơ cấp trên ma trận mở rộng chứ không chỉ cho ra kết quả, thầy giúp em với. Em cảm ơn thày nhiều!
Bởi: dung ngày Tháng Hai 15, 2009
lúc 8:04 sáng
Việc lập trình tính từng bước đòi hỏi viết code một cách công phu và cũng mất nhiều thời gian.Bạn có thể tự mình lập trình, nếu có vấn đề cần hỏi thì bạn có thể post lên ở đây để chúng ta cùng trao đổi.
Chú ý: Khi lập trình tính từng bước với việc sử dung Maplet thì nhất thiết bạn phải sử dụng đến 2 lệnh Get và Set trong gói Maplets[Tools]. Bạn có thể xem hướng dẫn 2 lệnh này trong help.
Bởi: maplevn2008 ngày Tháng Hai 16, 2009
lúc 11:57 chiều
Blog của các bạn rất có ích.
Bởi: hoadktd ngày Tháng Hai 20, 2009
lúc 7:45 sáng
thanks thầy nhìu lém !!! ^^
Bởi: mirada ngày Tháng Hai 22, 2009
lúc 3:07 sáng
Em mới làm quen với Maple, có một vấn đề thắc mắc là với câu lệnh seq(a[i],i=1..10) chẳng hạn thì có lúc thực hiện được, có lúc Maple lại báo lỗi. Thầy có thể giải thích vì sao và cách sữa được không ?
Cám ơn.
Bởi: huyen ngày Tháng Hai 24, 2009
lúc 1:04 chiều
Lỗi ở đây có thể là do biến “i” đã mang giá trị, ví dụ:
> i:=13;
seq(a[i],i=1..10);
sẽ có lỗi xuất hiện.
Do đó, bạn nên “xóa” giá trị của biến này thông qua lệnh
> i:=’i';
hoặc
> i:=evaln(i);
Ví dụ:
> i:=13;
seq(a[i],i=1..10);
> i:=’i';
seq(a[i],i=1..10);
Tuy nhiên, lỗi này hình như không còn tồn tại đối với các phiên bản Maple 11,Mapl 12 thì phải ?
Bởi: maplevn2008 ngày Tháng Hai 24, 2009
lúc 5:10 chiều
Admin: Các bạn nên search bằng từ tiếng việt có dấu để có thể tìm thấy kết quả dễ dàng hơn.
Bởi: maplevn2008 ngày Tháng Hai 25, 2009
lúc 5:24 chiều
Thưa thầy , Khi em dùng gõ lệnh
plot3d(x^2+y^2-2*x*y,x=-2..2,y=-2..2);
Nó hiện lên cái hình trong không gian 3D . Khi đó ta có thể xoay cái hình . Cho em hỏi là làm sao maple có thể làm được như vậy . Và khi em kết nối maple với java thì java có thể làm được như vậy ko ?
Em có nghe thầy em nói là làm được. Hình như là kết nối với kernel thì fải . Vậy thầy có thể giúp em được không ạ ? Thanks thầy nhìu lém.
Bởi: mirada ngày Tháng Ba 1, 2009
lúc 12:34 chiều
Java thì mình cũng chỉ biết qua loa thôi và mình cũng chưa bao giờ làm việc với đồ họa 3D trong Java cả. Tuy nhiên khi click chuột mà có thể xoay đồ thị thì đây là vấn đề lập trình xử lí các sự kiện về chuột. Khi kết nối Java và Maple có lẽ là các tính năng này không còn nữa vì đối tượng đồ họa của Maple quá phức tạp. Bạn nên hỏi lại thầy xem sao ?
Bởi: maplevn2008 ngày Tháng Ba 1, 2009
lúc 12:40 chiều
Thầy cho em hỏi nữa là khi em vẽ 2 đồ thị trên cùng 1 hình . Ví dụ :
plot([x^2,2*x], x=-3..3,linestyle=[SOLID,DASH], color=[red,blue]);
Làm cách nào để biết 2 đồ thị này cắt nhau ở những điểm nào và tọa độ bao nhiêu ạ ?
Bởi: mirada ngày Tháng Ba 1, 2009
lúc 12:53 chiều
Cái này có thể làm thủ công là giải hệ để tìm giao điểm, sau đó vẽ các điểm này và các đồ thị ban đầu vào trên cùng một hệ trục tọa độ. Cụ thể với ví dụ của bạn:
> p1:=plot([x^2,2*x], x=-3..3,linestyle=[SOLID,DASH], color=[red,blue]);
> giaodiem:=map(t->[rhs(t[1]),rhs(t[2])], solve({y=x^2, y=2*x}, [x,y]));
> p2:=plots[pointplot](giaodiem,symbolsize=20);
> plots[display](p1,p2);
Bởi: maplevn2008 ngày Tháng Ba 1, 2009
lúc 8:53 chiều
Minh muon biet cach giai 1 phuong trinh vi phan dao ham rieng voi cac dieu kien ban dau duoc lam nhu the nao ?
Ban lam on cho minh 1 vi du cu the. Minh chi giai duoc pt vi phan dao ham rieng con co dieu kien ban dau lam nhu the nao minh khong biet . Mong duoc su giup do
Bởi: andyyaiba ngày Tháng Ba 3, 2009
lúc 5:39 chiều
Đúng là lệnh pdsolve theo như Help của Maple thì chỉ giải phương trình đạo hàm riêng mà không có điều kiện đầu. Tuy nhiên ta có thể xử lí như sau : Đầu tiên ta giải nghiệm tổng quát, sau đó thế vào điều kiện đầu rồi tìm các hằng số. Ví dụ:
> pt:=diff(u(x,y),x)-diff(u(x,y),y,y)=2*x*y;
> dk:={u(0,y)=0,u(x,0)=0,D[2](u)(x,0)=x^2};
- tìm nghiệm tổng quát
> re:=pdsolve(pt,u(x,y),build);
- gán nghiệm tổng quát cho u
> u:=unapply(rhs(re),x,y);
- lúc này điều kiện đầu trở thành
> dk;
- cho (x,y) nhận một vài cặp giá trị (cụ thể ở đây là 2) để tìm các hằng số
> eval(subs({x=0,y=0},dk));
eval(subs({x=1,y=2},dk));
r:=solve({op(%),op(%%)});
- hệ này cho 2 ta nghiệm
+ kiểm tra với nghiệm đầu
> subs(r[1],dk);
> subs(r[1],u(x,y));
+ kiểm tra với nghiệm thứ hai
> subs(r[2],dk);
> subs(r[2],u(x,y));
Rõ ràng cả 2 trường hợp đều thỏa mãn điều kiện và đưa đến cùng 1 nghiệm u(x,y)=x^2*y và ta kết luận đây là nghiệm cần tìm.
Đây chỉ là cách nghĩ chủ quan của mình, bạn có thể xem như lời gợi ý để tham khảo.
Bởi: maplevn2008 ngày Tháng Ba 3, 2009
lúc 8:41 chiều
Thưa thầy, trong maple để vẽ 1 đường thẳng có tham số, 1 đường cong, 1 đường cong bậc 2 và 1mặt cong thì như thế nào ạ ? Xin thầy chỉ giúp em ạ. Thanks thầy nhìu
Bởi: mirada ngày Tháng Ba 6, 2009
lúc 8:11 sáng
Bạn có thể xem ví dụ hướng dẫn ở đây:
http://maplevn2008.wordpress.com/2009/03/06/v%e1%ba%bd-do-th%e1%bb%8b-tham-s%e1%bb%91/
Bởi: maplevn2008 ngày Tháng Ba 6, 2009
lúc 1:46 chiều
Thầy cho em hỏi có lệnh nào hay hàm nào trong maple mà dùng để tìm toạ độ nguyên của 1 biểu thức ko?Ví dụ: tìm tọa độ nguyên y=(x^2+3*x)/(2*x+1);
Thầy giảm giúp em bài : biện luận theo m số giao điểm của: (E) x^2/25 + y^2/9=1 và 2*(m+1)*x+3*m-4=0.
Em cám ơn thầy!
Bởi: Phượng ngày Tháng Ba 7, 2009
lúc 4:02 sáng
Bạn có thể sử dụng lệnh tìm nghiệm nguyên để giải (lệnh isolve), tuy nhiên khi giải bạn nên đưa về pt dạng đa thức, chẳng hạn, với trường hợp của bạn
> isolve(x^2+3*x=y*(2*x+1),{x,y});
Câu hỏi thứ hai của bạn đi hơi xa chủ đề Maple. Thực chất đây chỉ là bài toán tìm số giao điểm cùa ellip với đường thẳng x=c.
Bởi: maplevn2008 ngày Tháng Ba 7, 2009
lúc 5:45 sáng
Thưa thầy, em đã xem link thầy đưa nhưng nó không có đầy đủ những gì em muốn hỏi . Phiền thầy giúp em ạ . Thank thầy nhìu
Bởi: mirada ngày Tháng Ba 7, 2009
lúc 9:59 sáng
Theo mình nghĩ, đồ thị pt tham số cũng được phân thành 2 loại: trong mặt phẳng và trong không gian. Bạn có sự phân loại nào khác không ?
Còn cách đưa về pt tham số thì bạn nên xem thêm trong giáo trình hình giải tích . Ví dụ: hình ellip : x=a*cos(t),y=b*sin(t),…..
Bởi: maplevn2008 ngày Tháng Ba 7, 2009
lúc 10:50 sáng
Em cám ơn thầy,nhưng còn bài toán:biện luận theo m số giao điểm của: (E): x^2/25 + y^2/9=1 và 2*(m+1)*x+3*m-4=0 là bài tập thầy giáo dạy maple giao cho về nhà làm đấy ạ,em vừa học maple đc 2tuần nên chưa biết nhiều.Em cám ơn thầy!
Bởi: phượng ngày Tháng Ba 8, 2009
lúc 2:41 sáng
Đối với bài này bạn có thể dùng phương pháp đồ thị. Như mình đã nói trước, đây là bài toán tìm số giao điểm của đường thẳng x=c và ellip.
+ m=-1 : Không tồn tại giao điểm
+ m khác -1. Tính hệ số c , vẽ ellip và dựa vào hình vẽ ta có các trường hợp
> c:=solve(2*(m+1)*x+3*m-4=0,x);
> plots[implicitplot](x^2/25 + y^2/9=1,x=-5..5,y=-3..3,scaling=constrained);
> print(“Co 1 giao diem khi”);
solve(abs(c)=5,{m});
> print(“Khong giao nhau khi”);
solve(abs(c)>5,{m});
> print(“Co 2 giao diem khi”);
solve(abs(c)<5,{m});
Bởi: maplevn2008 ngày Tháng Ba 8, 2009
lúc 3:00 sáng
Nhờ bạn giúp mình bài: Viết phương trình tham số của mp 3*x+4*y-7*z+20=75
Bởi: hằng ngày Tháng Ba 8, 2009
lúc 3:46 sáng
Có nhiều cách, chẳng hạn : x=u, y=v, z=(3u+4v-55)/7.
Bởi: maplevn2008 ngày Tháng Ba 8, 2009
lúc 9:48 sáng
Giai giup pt sau,
pt:=log[3]((x^2+3*x+3)/(2*x^2+2*x+3))-x^2+x ;
Bởi: ngkimthu06 ngày Tháng Ba 10, 2009
lúc 2:18 sáng
Bài này có thể dùng phương pháp đồ thị.
>f:=[log[3]((x^2+3*x+3)/(2*x^2+2*x+3));
>g:=x^2-x;
>plot([f,g],x=-1..2);
Dựa vào đồ thị ta có ngay 2 nghiệm x=0 và x=1, và khi x>1 hoặc x<0 thì f<0<g; khi 0<x0>g.
Bởi: maplevn2008 ngày Tháng Ba 10, 2009
lúc 2:19 sáng
Tim giup so hang tong quat u(n) cua day sau
rsolve({u(n+1)=(2*u(n)+1)/(u(n)+2),u(0)=2},{u(n)});
Bởi: ngkimthu06 ngày Tháng Ba 10, 2009
lúc 2:20 sáng
Đây là một pt truy hồi phi tuyến nên Maple sẽ không cho nghiệm tổng quát. Tuy nhiên Maple cho phép bạn tạo ra một procedure để tính giá trị của u(n) khi biết n.
>U:=rsolve({u(n+1)=(2*u(n)+1)/(u(n)+2),u(0)=2},{u(n)},makeproc);
>U(20);
>U(30);
Ngoài ra pt dạng trên có thể đưa về hệ tuyến tính nhờ phép đặt u(n)=v(n)/w(n). Thay vào và đồng nhất tử mẫu, chọn giá trị đầu phù hợp ta được hệ:
>eqs:={v(n+1)=2*v(n)+w(n),w(n+1)=v(n)+2*w(n),v(0)=2,w(0)=1};
Lúc này nghiệm u(n) sẽ là
>simplify(subs(rsolve(eqs,{v(n),w(n)}),u(n)=v(n)/w(n)));
Bởi: maplevn2008 ngày Tháng Ba 10, 2009
lúc 3:01 chiều
Cam on ban ve loi giai hai bai toan tren.
Tuy nhien tai sao dung lenh solve hay fsolve deu thieu nghiem
Lam sao de biet lop bai giai pt hay day nhu the nao thi khong nen kiem tra bang maple
Bởi: ngkimthu06 ngày Tháng Ba 10, 2009
lúc 3:56 chiều
-Lệnh solve cho nghiệm giải tích còn lệnh fsolve tìm nghiệm số. Đối với trường hợp đa thức thì các lệnh này làm việc rất tốt, tuy nhiên đối với pt phức tạp thì công cụ giải số thông thường chỉ cho phép tìm nghiệm trên những khoảng xác định hay thực hiện phép lặp tìm 1 nghiệm với giá trị đầu. Điều này dẫn tới sự “thiếu nghiệm” như bạn đã nói.
- Để biết một lệnh có thể áp dụng cho lớp bài toán nào thì bạn có thể xem hướng dẫn trong Help , ngoài ra khi bạn thường xuyên sử dụng thì cũng có thể đúc kết một ít kinh nghiệm cho bản thân.
Bởi: maplevn2008 ngày Tháng Ba 11, 2009
lúc 12:15 chiều
Cam on ban nhieu. Cho hoi lenh gi de tinh dien tich hinhf phang gioi han boi cac duong y=f(x), y=g(x), x=a,x=b.
Bởi: ngkimthu06 ngày Tháng Ba 12, 2009
lúc 3:09 chiều
Mình cũng không rõ có lệnh này hay không nhưng đây là bài toán cơ bản và bạn có thể tính bằng công thức
> int(abs(f(x)-g(x)),x=a..b);
Bởi: maplevn2008 ngày Tháng Ba 13, 2009
lúc 3:40 chiều
cho mình hỏi nếu muốn tìm tọa độ của một vector a(1,0,-1) đối với một cơ sở U=,trong đó
u1=(1,1,2),u2=(-1,1,1),u3=(2,-1,0)
thì fải làm như thế nào???? Thanks !^!
Bởi: 764119 ngày Tháng Ba 21, 2009
lúc 6:37 chiều
Mình chưa gặp lệnh nào có chức năng tìm tọa độ của 1 vecto qua cơ sở. Tuy nhiên, ý tưởng chính của lời giải là giải hệ (x,y,z) :
a=x*u1+y*u2+z*u3. Điều này được thực hiện nhanh chóng trên Maple như sau:
> with(LinearAlgebra);
> a:=<1,0,-1>;
> u1:=<1,1,2>;
> u2:=<-1,1,1>;
> u3:=<2,-1,0>;
> td:=LinearSolve(<u1|u2|u3>,a);
- kiểm tra lại :
> td[1]*u1+td[2]*u2+td[3]*u3;
Bởi: maplevn2008 ngày Tháng Ba 21, 2009
lúc 7:00 chiều
ok,thanks,chỗ khúc mắc của mình là ở lệnh LinearSolve,chẳng hỉu nguyên tắc hđ của nó nên ko ứng dụng được,hjhj\^_^/
Bởi: 764119 ngày Tháng Ba 22, 2009
lúc 8:58 sáng
Hiện nay em đang làm bài toán tối ưu dạng toàn phương có điều kiện. Việc giải bài toán này bằng maple em đã biết cách làm. Tuy nhiên, còn một yêu cầu nữa mà em chưa thể làm được. Đó là phải nhập dữ liệu từ file text, excel…vào maple (nhập các hệ số của hàm toàn phương, nhập các điều kiện rằng buộc). Thầy chỉ cho em cách nhập dữ liệu bằng maple với. Em cảm ơn thầy !!!
Bởi: Nguyễn Tuấn Hùng ngày Tháng Ba 29, 2009
lúc 2:03 chiều
Bạn có thể xem ví dụ về ứng dụng lệnh ImportData ở đây :
http://maplevn2008.wordpress.com/2009/03/17/import-export-d%E1%BB%AF-li%E1%BB%87u/
Chú ý: Trường hợp bạn nhập dữ liệu từ Excel, bạn save file với đuôi CSV (chọn save as, chọn đuôi .CSV). Tuy nhiên đối với các phiên bản Maple 11 trở đi, Maple có cung cấp gói ExcelTools và bạn có thể tương tác trục tiếp với file xls. Khi sử dụng các lệnh Import thì dữ liệu phải đồng nhất.
Vì bạn chưa đưa ra cấu trúc file dữ liệu nên mình khó có thể xác định cách xử lí cụ thể được. Mình xin đề nghị 1 phương án đơn giản: Sử dụng 1 file text lưu dữ liệu data.txt. (Giả sử C:\data.txt). Trong đó hàng đàu tiên lưu các hệ số. Các hàng tiếp theo mỗi hàng lưu 1 điều kiện. Luc này bạn có thể sử dụng đoạn lệnh sau:
> fo:=fopen(“C:/data.txt”,READ);
> s:=readline(fo);
> close(fo);
Các hệ số và các điều kiện:
> hso:=map(parse,StringTools[Words](s));
> dk:=ImportVector(“C:/data.txt”,skiplines=1);
Bởi: maplevn2008 ngày Tháng Ba 29, 2009
lúc 3:58 chiều
Cám ơn bạn đã chỉ dẫn cho mình. Mình xin nói rõ hơn về nội dung bài toán: Mình cần giải bài toán tối ưu dạng toàn phương f(x)->min có điều kiện ràng buộc tuyến tính. Trong đó các hệ số của f(x) mình đã lấy được trong excel (nhờ bạn giúp mình). Còn điều kiện ràng buộc mình cũng đã lấy được trong file text nhưng khi lắp ráp vào bài toán thì không chạy. Ví dụ giải bài toán sau:
with(Optimization):
f:=x1^2+x2^2;
constr:=[x1+x2=1,x1>=0,x2>=0];
K:=QPSolve(f,constr);
điều quan trọng là: ở constr (tức là điều kiện ràng buộc) phải được lấy ở file text (chú ý là số điều kiện ràng buộc mình không biết trước).
Bởi: Nguyễn Tuấn Hùng ngày Tháng Ba 30, 2009
lúc 3:08 chiều
Mình quên nhắc là lệnh
> dk:=ImportVector(”C:/data.txt”,skiplines=1);
ở phần trả lời trước thì dk ở đây có kiểu Vector. Chú ý: Trong lệnh QPSolve thì điều kiện phải có dạng tập hợp (set) hay dạng danh sách (list), do đó bạn phải thay đổi kiểu của dk, chẳng hạn sang kiểu list:
>dk:=convert(dk,list);
Với ví dụ của bạn: file C:\dk.txt chứa các điều kiện nằm trên các hàng khác nhau
>with(Optimization):
>f:=x1^2+x2^2;
>constr:=ImportVector(”C:/dk.txt”);
>constr:=convert(constr,list);
>K:=QPSolve(f,constr);
Bởi: maplevn2008 ngày Tháng Ba 30, 2009
lúc 3:26 chiều
Cảm ơn bạn rất nhiều. Nhưng còn một việc cuối cùng nữa mình cần bạn giúp đỡ. Đó là làm cách nào để ghi kết quả của bài toán ra file text, excel ?
Bởi: Nguyễn Tuấn Hùng ngày Tháng Ba 31, 2009
lúc 1:40 sáng
À, mình tìm ra cách rồi. Cảm ơn bạn đã giúp đỡ mình. Cảm ơn rất nhiều !!!
Bởi: Nguyễn Tuấn Hùng ngày Tháng Ba 31, 2009
lúc 2:36 sáng
mình đang làm đề tài tìm hiểu về thư viện OpenMaple đề liên kết maple với chương trình. Bạn nào có gì kiến thức liên quan hoặc bài mẫu nào cho mình tham khảo với. Mình đang rất gấp.Cản ơn nhiều nhiều.
Bởi: ngan ngày Tháng Tư 2, 2009
lúc 2:18 sáng
Bạn có thể xem 1 số gợi ý về kết nối Maple với Java ở trang Maple/Java : http://maplevn2008.wordpress.com/maplejava/
Bởi: maplevn2008 ngày Tháng Tư 3, 2009
lúc 10:08 sáng
Thầy cho em hỏi có cách nào lấy biểu thức dưới dấu tích phân được không ? Chẳng hạn lấy biểu thức của tích phân sau:
>Int(sin(x)*exp(-x),x=a..b);
Em cám ơn.
Bởi: quynh ngày Tháng Tư 3, 2009
lúc 10:22 chiều
Bạn có thể xem ví dụ ở đây:
http://maplevn2008.wordpress.com/2009/04/04/l%E1%BA%A5y-bi%E1%BB%83u-th%E1%BB%A9c-d%C6%B0%E1%BB%9Bi-d%E1%BA%A5u-tich-phan/
Bởi: maplevn2008 ngày Tháng Tư 4, 2009
lúc 8:45 sáng
em co may bai maple hok biet lam sao day nua. chi gium em voi, gap lam luon:
1.Cho haøm soá y = (m-2)x3 – mx + 2 (Cm)dinh m de do thi tiep xuc voi truc hoanh. kiem chung bang do thi
2. viet phuong trinh tiep tuyen cua “do thi ham so” di wa 1 diem cho truoc
3.. Tìm các số nguyên tố trong khoảng [1159, 1200]
mong moi nguoi giup em voi, em con may bai nua . em cam on
Bởi: hongtra_fhk ngày Tháng Tư 4, 2009
lúc 9:27 sáng
Mình chỉ đưa ra một lời giải tham khảo cho câu 1 và câu 3. Câu 2 sẽ dễ dàng hơn nếu bạn cho hàm số cụ thể.
Câu 1:
> y:=(m-2)*x^3-m*x+2;
> pt:=factor(y);
> pt1:=op(1,pt);
pt2:=op(2,pt);
Trường hợp 1: x=1 là nghiệm của pt2.
> subs(x=1,pt2);
solve(%,{m});
> plot(subs(m=3,y),x=-1..2);
Trường hợp 2: pt2 có nghiệm kép.
> a:=coeff(pt2,x,2);
b:=coeff(pt2,x,1);
c:=coeff(pt2,x,0);
> Delta:=b^2-4*a*c;
> solve(Delta,{m});
Tất nhiên ta chỉ xét m khác 2.
> plot(subs(m=-6,y),x=-1..0);
Câu 3:
> for i from 1159 to 1200 do
if isprime(i) then print(i); fi;
end;
Bởi: maplevn2008 ngày Tháng Tư 4, 2009
lúc 10:08 sáng
thank you very much,va cau 2 : f= x^3-x,va yeu cau la viet phuong trinh tiep tuyen di qua diem A(2/3,-1), chi giup em voi nhe, em cam on nhieu, con neu yeu cau viet phuong trinh tiep tuyen tai 1 diem thi sao nua a???
a co the up len may bai lien quan den khao sat ham so va cac bai toan lien quan giong toan 12 khong, va cac bai giai ptrinh tham so,??
con 1 bai nua, em muon hoi la cho 2 phuong trinh y=2 + sinx va y = 1 + cos2x , voi dieu kien x thuoc [0,pi], em giai phuong trinh roi thi duoc 2 nghiem x=-pi/2 va x=0 thi phai,
vay em muonhoi la trong maple co lenh nao de chuyen tu x=-pi/2 thanh x=pi/2 thuoc [0,pi] vi trong toan hoc, giai 2 pt nay se ra dang nghiem tong quat la x=-pi/2+2k*pi.
Bởi: hongtra_fhk ngày Tháng Tư 5, 2009
lúc 9:23 sáng
Maple là một phần mềm toán học, bên cạnh các lệnh đã được xây dựng sẵn bạn có thể lập trình cũng như tính toán từng bước giống như bạn giải quyết vấn đề trên giấy.
Đối với câu 2 qui tắc đơn giản là viết pt tiếp tuyến qua 1 điểm bất kì (x0,y0) trên đồ thị, rồi từ đó thu được hệ pt. Bạn có thể tự mình thức hiện các bước tính toán. Lời giải sau chỉ có tính tham khảo.
- p.trình
> pt:=y=x^3-x;
-đạo hàm
> dh:=diff(rhs(pt),x);
-tiếp tuyến
> tt:=y=subs(x=x0,dh)*(x-x0)+y0;
-lập hệ
> h1:=subs({x=2/3,y=-1},tt);
> h2:=subs({x=x0,y=y0},pt);
-giải hệ
> res:=solve({h1,h2},{x0,y0});
Có lẽ số liệu không phù hợp nên nghiệm không được “đẹp”. Chú ý chỉ chọn nghiệm thực.
Đối với câu hỏi cuối mình chưa hiểu vấn đề mà bạn đặt ra. Tuy nhiên cần chú ý khi giải cách pt lượng giác. Ví dụ:
>solve(sin(x)=0,x);
chỉ cho ta 1 nghiệm x=0;
Để thu nghiệm tổng quát, bạn gõ lệnh như sau:
>_EnvAllSolutions:=true;
>solve(sin(x)=0,x);
Bởi: maplevn2008 ngày Tháng Tư 5, 2009
lúc 8:47 chiều
EM CẢM ƠN. đúng là em tìm nghiệm tổng quát, nếu có gì thắc mắc về vấn đề này em sẽ hỏi thêm, mà em còn nhiều thắc mắc lắm vì em mới học maple mà.
Bởi: hongtra_fhk ngày Tháng Tư 6, 2009
lúc 10:51 sáng
chỉ giùm em cách lập bảng biến thiên với a?
và hàm đổi từ 0.5 thành 1/2. em cảm ơn
Bởi: hongtra_h2n ngày Tháng Tư 7, 2009
lúc 7:17 sáng
Bạn có thể xem trong sách giải tích 12. Maple chỉ giúp ta tính toán đạo hàm, tìm các điểm dừng và vẽ đồ thị minh họa thôi.
Bởi: maplevn2008 ngày Tháng Tư 7, 2009
lúc 2:52 chiều
Em đang dùng hàm s := readline(filename); với filename là file .txt Encoding Ansi để đọc từng hàng dữ liệu trong file txt. Nhưng khi em dùng file .txt Encoding Unicode hay UTF-8 để có thể đọc được Tiếng Việt thì kết quả trả về cho chuỗi s ko được như mong muốn.
Cho em hỏi là nếu muốn load dữ liệu từ file có Tiếng Việt thì phải làm như thế nào, hoặc có thể dùng hàm nào khác để có thể đọc được Tiếng Việt ko? Em cám ơn!
Bởi: anhhna ngày Tháng Tư 8, 2009
lúc 4:53 sáng
Bạn vào Tools->Options->General->Encoding : chọn Unicode (UTF-8). Sau đó tắt Maple và khởi động lại. Lúc này mọi thứ lại bình thường giống như bạn dùng lệnh readline với tiếng Anh.
Bởi: maplevn2008 ngày Tháng Tư 8, 2009
lúc 6:40 sáng
ý của em là hàm để lập (vẽ) được bảng biến thiên, chứ các bước thì em đang làm rồi. vì nếu 1 bài khảo sát đủ thì có lập được bảng biến thiên mà.
Bởi: hongtra_h2n ngày Tháng Tư 8, 2009
lúc 6:44 sáng
Mình không rõ trong Maple có cung cấp lệnh vẽ bảng biến thiêng hay không, tuy nhiên ý tưởng của bạn về xây dựng một hàm để vẽ bảng biến thiêng cũng rất hay.
Bởi: maplevn2008 ngày Tháng Tư 8, 2009
lúc 6:43 chiều
Blog rat hay
Bởi: hthth ngày Tháng Tư 15, 2009
lúc 12:32 chiều
Em đang cần dùng cấu trúc dữ liệu cây (cây có 1 đến nhiều nhánh, ko phải cây nhị phân). Thầy vui lòng gợi ý cho em sơ về cách khai báo kiểu dữ liệu của 1 node trong cây.
Bởi: romanghosn ngày Tháng Tư 15, 2009
lúc 3:53 chiều
Mình không biết nhiều về cái này cho lắm. Bạn có thể xem mô hình cây nhị phân của ví dụ có trong Help của Maple:
>?examples/binarytree
Đối với trường hợp Ktree, mình đề nghị mô hình sau:
Ktree(key,value,[seq(Ktree(),i=1..K)]);
Việc xây dựng mô hình này theo mình là hoàn toàn giống trường hợp binarytree, bạn thử lập trình xem sao.
Bởi: maplevn2008 ngày Tháng Tư 15, 2009
lúc 6:50 chiều
em can tim them tai lieu ve ket noi VB voi maple nhung hok biet tim dau ra, chi giup em voi duoc hok??
Bởi: hongtra_h2n ngày Tháng Tư 17, 2009
lúc 7:12 sáng
Bạn có thể tham khảo ở đây:
http://www.adeptscience.co.uk/products/mathsim/maple/Demos/java/JavaVBOpenMaple1.html
http://www.nd.edu/~hpcc/solaris8_usr_local/src/maple12/samples/OpenMaple/msvb/
Ngoài ra bạn nên xem thêm các ví dụ trong Help của Maple
>?OpenMaple/VB
Nói thêm : Những câu hỏi liên quan đến việc kết nối Maple với các ngôn ngữ lập trình khác các bạn có thể comment ở trang Maple/Java để mọi người tiện theo dõi.
Bởi: maplevn2008 ngày Tháng Tư 17, 2009
lúc 9:06 sáng
@hongtra_h2n: bạn qua mục Maple/Java (http://maplevn2008.wordpress.com/maplejava/) bạn đọc hết mục đó sẽ thấy project hóa học dùng VB6+Maple xem thử có giúp j cho bạn được ko.
Bởi: anhhna ngày Tháng Tư 18, 2009
lúc 2:36 chiều
cho em hoi mot chut ve nhan hai ma tran co chua tham so,em tao 2 matran nhu the nay:
>with(linalg):with(LinearAlgebra):with(student):
Tx:=proc(x)
return mattrix(2,2,[1,x,0,1]);
end:
Ty:=proc(y)
return mattrix(2,2,[1,0,0,y]);
end:
>MatrixMatrixmultiply(Tx(x),Ty(y));
sao ket qua la:Tx.Ty
Bởi: huy ngày Tháng Tư 19, 2009
lúc 11:52 sáng
1. Đầu tiên mình xin nêu lên một vài chú ý:
- matrix chứ không phải là mattrix.
- mặc dù gói linalg và gói LinearAlgebra có chức năng gần như nhau nhưng chúng lại làm việc trên 2 kiểu dữ liệu khác nhau.
+ linalg : làm việc với matrix và vector.
+ LinearAlgebra: làm việc với Matrix và Vector.
Chú ý rằng matrix và Matrix, vector và Vector là những “kiểu dữ liệu” khác biệt nhau.Đây là lỗi hay mắc phải của các bạn mới làm quen với Maple.
Ở ví dụ của bạn, bạn khai báo theo kiểu matrix trong gói linalg nhưng lại sử dụng lệnh MatrixMatrixMultiply (chứ không phải là MatrixMatrixmultiply như bạn viết) của gói LinearAlgebra để nhân 2 ma trận nên có lỗi xuất hiện. Bạn có thể sửa lại theo 2 cách:
Cách 1: dùng gói linalg
with(linalg):
Tx:=proc(x)
return matrix(2,2,[1,x,0,1]);
end:
Ty:=proc(y)
return matrix(2,2,[1,0,0,y]);
end:
multiply(Tx(x),Ty(y));
Cách 2: dùng gói LinearAlgebra
with(LinearAlgebra):
Tx:=proc(x)
return Matrix([[1,x],[0,1]]);
end:
Ty:=proc(y)
return Matrix([[1,0],[0,y]]);
end:
MatrixMatrixMultiply(Tx(x),Ty(y));
Mình cũng khuyên các bạn nên sử dụng một gói thôi, tốt nhất là gói LinearAlgebra vì gói này có nhiều lệnh với nhiều tính năng hơn.
2. Nói thêm:
+ mặc dù gói LinearAlgebra được xây dựng từ gói linalg nhưng Maple vẫn không xóa gói linalg vì để đảm bảo cho các chương trình viết trên các phiên bản cũ với gói linalg vẫn chạy được.
+ khi gõ lệnh bạn nên sử dụng chức năng gợi nhắc của Maple cho nhanh chóng và chính xác. Ví dụ gõ từ LinearAlgebra bạn gõ Linea rồi nhấn Ctrl-Space ,Lúc này 1 thanh gợi nhắc xuất hiện. Bạn chỉ việc dùng phím mũi tên tìm từ khóa cần thiết và Enter.
Bởi: maplevn2008 ngày Tháng Tư 19, 2009
lúc 3:00 chiều
em cam on thay
Bởi: huy ngày Tháng Tư 20, 2009
lúc 2:48 sáng
e cam on, co gi hok biet em se hoi
Bởi: hongtra_h2n ngày Tháng Tư 20, 2009
lúc 7:30 sáng
Em đang làm bài tập và đang cần biểu diễn những danh sách như thế này:
S=
với ∅ là ko có giá trị nào thỏa
G=
với ? là bất kỳ giá trị nào.
Nếu ta có:
h1 =
h2 =
thì G >= h2 >= h1 >= S.
Thầy vui lòng gợi ý cho em cách biểu diễn dấu ∅ và dấu ? trên Maple có ý nghĩa như trên nha Thầy!
Bởi: romanghosn ngày Tháng Tư 22, 2009
lúc 4:07 chiều
S = [∅,∅,∅,∅,∅,∅]
G = [?,?,?,?,?,?]
h1 = [Sunny,?,?,Strong,?,?]
h2 = [Sunny,?,?,?,?,?]
Bởi: romanghosn ngày Tháng Tư 22, 2009
lúc 4:10 chiều
Mình không hiểu ý bạn hỏi cho lắm. Vấn đề biểu thị kí hiệu tập rỗng cũng như dấu hỏi bạn có thê xử lý như ví dụ sau:
>S:=[``,``,``,``,``,``];# dấu nháy đơn nghiêng.
>G:=[`?`,`?`,`?`,`?`,`?`];
Tuy nhiên theo mình vấn đề chính không phải ở đây, mà ở chỗ phép toán so sánh >=. Để có thể sử dụng phéo toán so sánh >= cho trường hợp so sánh 2 đối tượng đặc biệt mà không làm mất “tính năng so sánh ban đầu” của nó, bạn có thể quan sát ví dụ sau. Ví dụ này cho phép sio sánh 2 list dữ liệu theo giá trị đầu tiên của nó.
> Sosanh:=module()
option package;
export `>=`;
`>=`:=proc(x::list,y::list)
option overload;
if evalb(x[1]>=y[1]) then true;
else false;
end if;
end;
end:
> with(Sosanh);
> [4,3,4]>=[3,4];
> [2,3,4]>=[3,4];
> 2>=3;evalb(%);
Đối với trường hợp của bạn bạn phải định nghĩa phép toán so sánh >= chặt chẽ hơn, chẳng hạn như trường hợp có cùng dấu chấm hỏi , độ dài 2 list dữ liệu khác nhau, có phải luôn so sánh được không,…Sau đó bạn có thể tự mình tiến hành lập trình là xong.
Bởi: maplevn2008 ngày Tháng Tư 22, 2009
lúc 6:53 chiều
Thầy Tú có vẻ bận bịu nhẩy, he he, qua thăm nhà của thầy Hiếu đi, mới khai trương, nhưng chưa hoạt động tích cực đc, để hè chơi tiếp vậy!!!
À, wordpress cho phép tạo Reply Comment, như thế sẽ giúp người đọc biết đc câu hỏi của mình đã đc trả lời hay chưa, Tú xem thử dùng có đc ko nhé! :p
Bởi: mathlemin ngày Tháng Tư 23, 2009
lúc 6:49 chiều
Cám ơn Hiếu đã ghé thăm. Nhận trả lời qua mail là một chức năng hay của WordPress.
Bởi: maplevn2008 ngày Tháng Tư 24, 2009
lúc 9:02 sáng
Em dùng maple12. Khi em sử dụng lệnh dat:=ImportData(”C:/data.txt”) hoặc dat:=ImportMatrix(”C:/data.txt”) trong mục import dữ liệu từ file txt như thầy đã hướng dẫn lại không được. Rõ ràng em đã làm theo hướng dẫn của thầy, nhưng thử đi thử lại vẫn không được!!! Một việc nữa, thầy cho em hỏi, liệu trong maple có các hàm tính giá trị trung bình, phương sai, ma trận tương quan không ạ ?
Bởi: Nguyễn Mạnh Hùng ngày Tháng Năm 3, 2009
lúc 2:29 sáng
Chú ý:
- dấu nháy kép thẳng đứng (đây là lỗi do WordPress tạo ra nên khi copy lệnh bạn phải sửa lại).
- khi tạo ra file data.txt trong ổ C: thì giữa các hàng dữ liệu không có dòng trống.
Trong Maple có gói Statistics làm việc với dữ liệu thống kê cũng như tính toán đối với đại lượng ngẫu nhiên 1 chiều.
> with(Statistics):
Ví dụ với 2 mẫu dữ liệu:
> X:=[2,3,1,2,3,4,5,3,4,5,6,7,8]:
> Y:=[7,8,9,6,5,7,8,0,3,2,1,4,6]:
- giá trị trung bình:
> mX:=Mean(X);mY:=Mean(Y);
-phương sai mẫu(ko chệch)
> Variance(X);
- ma trận tương quan ( X,Y phải cùng số phần tử)
> CovarianceMatrix(Matrix([Vector(X),Vector(Y)]));
- ma trận hệ số tương quan ( X,Y phải cùng số phần tử)
> CorrelationMatrix(Matrix([Vector(X),Vector(Y)]));
Bởi: maplevn2008 ngày Tháng Năm 3, 2009
lúc 6:48 sáng
Thưa thầy, em đã thử đi thử lại rồi. Khi em dùng lệnh “K:=ImportMatrix(“C:/data.txt”);” thì chương trình thông báo lỗi “Error, (in ImportMatrix) cannot interpret file”. Liệu có phải maple bị lỗi không ạ?
Bởi: Nguyễn Mạnh Hùng ngày Tháng Năm 5, 2009
lúc 12:19 sáng
Trường hợp này mình chưa gặp. Bạn có thể gửi file data.txt cùng file Maple vào địa chỉ mail của mình (tonthattu009@yahoo.com) để mình kiểm tra xem sao.
Chú ý: Cần bổ sung thêm tham số khi sử dụng lệnh ImportMatrix dữ liệu từ file text, cụ thể:
>ImportMatrix(“C:/data.txt”, source=Matlab);
Bởi: maplevn2008 ngày Tháng Năm 5, 2009
lúc 12:35 chiều
cho mình hỏi về cách viết thủ tục tính ma tận nghịch đảo. cho minh code càng tốt. thank!
Bởi: boos ngày Tháng Năm 5, 2009
lúc 5:19 chiều
Rất tiếc là mình không có code. Tuy nhiên chúng ta có thể giải nhờ kết quả đơn giản sau: Giả sử cần tìm ma trận nghích đảo của ma trân A, ta viết ma trận mở rộng [A,I], với I là ma trận đơn vị. Thực hiện các phép biến đổi sơ cấp hàng đưa ma trận mở rộng này về ma trân dạng [I,B]. Lúc này B chính là ma trận nghích đảo của ma trận A.
Các phép biến đổi sơ cấp bạn có thể xem ở đây:
http://maplevn2008.wordpress.com/2009/01/25/phep-toan-tren-ma-tr%E1%BA%ADn-t4/
Bởi: maplevn2008 ngày Tháng Năm 5, 2009
lúc 7:58 chiều
Thầy cho em hỏi một câu nữa. Khi em sử dụng 3 dòng lệnh:
P:=Matrix(2,2,[[1,2],[3,4]]);
ExportMatrix(“D:/data.txt”,P);
Q:=ImportMatrix(“D:/data.txt”,source=Matlab);
thì maple sẽ cho kết quả Q= [1 2]. Tại sao lại như vậy?
Bởi: Nguyễn Mạnh Hùng ngày Tháng Năm 6, 2009
lúc 10:12 sáng
Điều này dễ hiểu vì lệnh ExportMatrix cũng như ImportMatrix đòi hỏi nhưng cấu trúc lệnh chặt chẽ về định dạng dữ liệu, kiểu file cũng như các chế độ hiển thị,…nên thông thường chúng ta hay sử dụng cặp lệnh ExportMatrix và ImportData hơn. Tuy nhiên đối với ví dụ của bạn, chúng ta có thể xử lí như sau:
cách 1:
P:=Matrix(2,2,[[1,2],[3,4]]);
ExportMatrix(”D:/data.txt”,P,target=Matlab);
Q:=ImportMatrix(”D:/data.txt”,source=Matlab);
cách 2:
P:=Matrix(2,2,[[1,2],[3,4]]);
ExportMatrix(”D:/data.txt”,P);
Q:=ImportData(”D:/data.txt”);
Bởi: maplevn2008 ngày Tháng Năm 6, 2009
lúc 10:42 sáng
Ý của mình ko phải là nhận trả lời qua email, mà là tạo Replay Comment, tức là khi có một ai hỏi, thì cậu sẽ comment ngay dươi câu hỏi đó, điều này sẽ làm cho blog của tú trông gọn gàng hơn, người hỏi cũng sẽ dễ tìm câu trả lời hơn, hỉu ý tớ ko?
Bởi: mathlemin ngày Tháng Năm 6, 2009
lúc 11:53 chiều
À, tớ mới đổi cái giao diên blog, trông gọn thoáng mát hơn nhiều lắm, sang xem thử hen, keke
Bởi: mathlemin ngày Tháng Năm 6, 2009
lúc 11:55 chiều
Thanks. Do lúc trước mình tổ chức hơi “loạn xạ” một tí nên lúc nào rãnh sẽ tổ chức các comment lại.
Bởi: maplevn2008 ngày Tháng Năm 7, 2009
lúc 6:29 sáng
Theo em biết thì maple cũng có hỗ trợ lập trình mạng đúng ko Thầy, Thầy cho em hỏi nếu em có một url: “http://thanhnien.com.vn”, trong Maple có cách nào để mình có thể lấy được những link được trang web thanhnien trỏ đến, và tìm được những trang web có link tới trang thanhnien ko?.
P/S: em cũng biết là câu hỏi cũng khá lạ so với chủ đề về Maple, thường là tính toán ma trận, đạo hàm, giải phương trình .v.v…, những cũng muốn hỏi thử để biết xem có cách nào ko? Thanks!!!
Bởi: romanghosn ngày Tháng Năm 8, 2009
lúc 10:33 sáng
Mình không dám chắc là có “lập trình mạng” được không nhưng đúng là Maple có cung cấp 1 package cho phép ta thực hiện một vài tương tác về mạng.Tên package là Sockets. Nếu bạn có những kiến thức về mạng thì có thể nghiên cứu nó.
Bởi: maplevn2008 ngày Tháng Năm 8, 2009
lúc 11:15 sáng
thầy oi!
nhóm em có làm đề tài maple về tích phân đặc biệt làm sao dể đóng gói phần lập trình đó hả thầy
giúp em với
Bởi: mongdung ngày Tháng Năm 9, 2009
lúc 1:16 chiều
Câu hỏi của bạn mơ hồ quá và mình cũng không rõ bạn tổ chức các lệnh thế nào nên khó có thể trả lời được. Bạn có thể search từ khóa “package” trong blog để xem 2 ví dụ cơ bản khi tạo package.
Bởi: maplevn2008 ngày Tháng Năm 9, 2009
lúc 2:27 chiều
Thầy cho em hỏi nếu em tính toán trên ma trận vuông có kích thước lớn (khoảng 1000-5000) thì có kỹ thuật nào để làm giảm kích thước của ma trận để tính ko?
Bởi: anhhna ngày Tháng Năm 10, 2009
lúc 12:39 chiều
Thông thường đối với những vấn đề như thế bạn nên thực hiện các biến đổi tổng quát trước để đưa vấn đề cần giải quyết về dạng đơn giản hơn, rồi sau đó mới áp dụng vào dữ liệu thu được. Trong thống kê bạn có thể thực hiện nén dữ liệu trước (chẳng hạn bằng Principal component analysis) và tất nhiên sẽ đưa đến sai số lớn cho phương pháp. Ngoài ra bạn có thể sử dụng công cụ giải tích số.
Bởi: maplevn2008 ngày Tháng Năm 10, 2009
lúc 6:28 chiều
Thầy ơi! ko có cách Đóng gói cơ bản cho tát cả các file lập trình trong maple ha thầy
em có kiems tất cả các trang rồi, nhung em ko hiểu có lam thử cũng có chút thành công nhung cuối cùng maple cua em bị lỗi, mà nhóm em sắp nộp rồi thầy ơi
thầy giúp em với!!!!!!!!!!
Bởi: mongdung ngày Tháng Năm 10, 2009
lúc 2:00 chiều
Mình cũng muốn giúp lắm nhưng mình vẫn chưa hiểu vấn đề bạn đang cần làm là gì cả. Khái niệm “đóng gói” của bạn nghĩa là sao nhỉ? Bây giờ bạn có thể cho mình biết bạn có những file gì, những thủ tục gì,…và cần làm gì với chúng để mình xem có thể giúp gì được không ?
Bởi: maplevn2008 ngày Tháng Năm 10, 2009
lúc 6:37 chiều
sao maple cang ngay cang kho vay.. giup em may bai nay với, em pó tay rồi, nghì cà tuần ma vẫn hok làm được cho đúng:
Dùng if, hoặc for, while:
1. Hãy cho biết từ 101 đến 301 có bao nhiêu số nguyên tố.
2. Cho số nguyên dương n, hãy cho biết n có bao nhiêu chữ số
3. Cho 3 số nguyên dương a, b, c. Hãy cho biết chúng có nguyên tố cùng nhau hay không?
4. Phát sinh một mảng a gồm 10 phân tử một cách ngẫu nhiên.
a. Tìm giá trị lớn nhất, nhỏ nhất trong mảng.
b. Tính giá trị trung bình các phần tử trong mảng.
c. Lập một mảng mới b từ mảng a bằng cách tác động hàm 2x lên các phần tử của mảng a.
VD: a = [1, 3, 2, 5] thì b = [2, 8, 4, 32].
Bởi: hongtra_fhk ngày Tháng Năm 12, 2009
lúc 8:57 sáng
Đây là những bài tập rất cơ bản. Nếu yêu cầu hạn chế sử dụng các hàm dựng sẵn của Maple thì mình có vài gợi ý như sau:
1. Hàm isprime(n) kiểm tra số nguyên tố. Bạn sử dụng thêm vòng for để đếm là xong.
2. Bạn sử dụng vòng while, tìm số i đầu tiên mà phần nguyên của n/10^i bằng 0 thì i chính là số chữ số của n.
3. Dùng vòng for i chạy từ 2 đến min(a,b,c) để kiểm tra, nếu có i mà cả a,b,c chia hết thì kết luận sai.
4. Ở bài này mình nghĩ vấn đề có thể là bạn chưa biết cách tạo ra các số ngẫu nhiên.
- tạo ra số ngẫu nhiên nhận giá trị nguyên trên đoạn [a,b], bạn có thể viết
> rand1:=rand(-2..5): # a=-2,b=5
>rand1();
- tạo số thực trong đoạn [a,b] bạn có thể viết:
> rand2:=(a,b)->a+(b-a)*RandomTools[Generate](float(digits=6)):
> rand2(-1,5);
- hai mảng a,b có thể khai báo:
> a:=array(1..10):
> b:=array(1..10):
Phần việc còn lại bạn có thể tự lập trình.
Bởi: maplevn2008 ngày Tháng Năm 12, 2009
lúc 3:18 chiều
GiaiTichPhanKhongCan := proc (a, b, c, c1, c2) local delta, kq; delta := b^2-4*a*c; if a = 0 then if b 0 then kq := ln(b*c2+c)/b-ln(b*c1+c)/b elif c 0 then kq := (c2-c1)/c end if end if; if a 0 then if delta = 0 then kq := -1/(a*(c2+(1/2)*b/a))+1/(a*(c1+(1/2)*b/a)) elif 0 < delta then kq := ln((2*a*c2+b-sqrt(delta))/(2*a*c2+b+sqrt(delta)))/sqrt(delta)-ln((2*a*c1+b-sqrt(delta))/(2*a*c1+b+sqrt(delta)))/sqrt(delta) else kq := 2*arctan((2*a*c2+b)/sqrt(abs(delta)))/sqrt(abs(delta))-2*arctan((2*a*c1+b)/sqrt(abs(delta)))/sqrt(abs(delta)) end if end if; return kq end proc
em can dong goi lai, giúp em với
Bởi: mongdung ngày Tháng Năm 12, 2009
lúc 5:03 chiều
thank nhiều
Bởi: mongdung ngày Tháng Năm 12, 2009
lúc 5:06 chiều
Bạn có thể xem gợi ý ở bài viết “Sử dụng file “.m”" :
http://maplevn2008.wordpress.com/2009/05/12/s%E1%BB%AD-d%E1%BB%A5ng-file-m/
Bởi: maplevn2008 ngày Tháng Năm 12, 2009
lúc 8:14 chiều
bai 1 em thu roi, nhung chay hok dung… nhung du sao em cam on thay nhieu. em hoi kem ve lap trinh ma…
thay cho em hoi them may bai nua nha
bai 1:Xây dựng các chu trình procedure để tính:
Xây dựng các chu trình để tìm UCLN và BCNN cho một số lượng tuỳ ý các số nguyên dương. Báo lỗi khi dữ liệu sai (số âm, không phải số nguyên, v.v…)
Bai 2:Người ta đã chứng minh được rằng một số nguyên dương là chính phương nếu và chỉ nếu số các ước số của nó là một số lẻ. (VD: 36 có 7 ước số: 1, 2, 3, 6, 12, 24 và 36).
a. Viết chu trình kiểm tra một số n có phải là số chính phương hay không?
b. Cho mảng a gồm 20 phần tử gồm các số nguyên được phát sinh một cách ngẫu nhiên. Hãy xuất tất cả các số chính phương trong mảng ra màn hình. Mảng có bao nhiêu số chính phương?
c. Tìm số chính phương lớn nhất trong mảng.
mong thay giup em,
Bởi: hongtra_fhk ngày Tháng Năm 13, 2009
lúc 7:02 sáng
Những bài này đòi hỏi lập trình 1 tí. Mình có vài gợi ý nhỏ:
1. Khi tìm UCLN ta có thể cho kiểm tra đến số nhỏ nhất trong các số, còn trường hợp tìm BCNN thì kiểm tra đến tích các số.
Để kiểm tra dữ liệu nhập vào (list các số) có thuộc kiểu số nghuyên dương không, bạn dùng cấu trúc sau:
>andmap(type,[2,3,4,5],posint); # đúng
>andmap(type,[2,3,-4,5],posint); # sai
2. Bài này trong đề đã nói cụ thể cách kiểm tra 1 số có chính phương hay không, do đó ta chỉ cần viết 1 thủ tục con tính số ước là xong. Cách tạo ra số ngẫu nhiên thì mình đã gợi ý ở trả lời trước. Vấn đề còn lại là dùng vòng for và lệnh điều kiện if để lập trình.
Chúc bạn hoàn thành tốt các bài tập này.
Bởi: maplevn2008 ngày Tháng Năm 15, 2009
lúc 2:16 chiều
Thầy cho em hỏi, liệu có thể xem được code trong maple không? Ví dụ em muốn xem lệnh LPSolve họ viết mã như thế nào thì xem ở đâu?
Bởi: Nguyễn Tuấn Hùng ngày Tháng Năm 15, 2009
lúc 10:27 sáng
Maple chỉ cho xem code các lệnh ở “phần chính” của nó, tức là các thủ tục con bên trong theo mình được biết là không xem được. Do đó đối với các hàm cơ bản thì ta hầu như xem được tất cả code của nó. Bạn quan sát ví dụ sau (chú ý bổ sung thêm tham số):
> interface(verboseproc=2);
> print(cos);
> showstat(cos);
Đối với ví dụ của bạn, bạ có thể viết:
> interface(verboseproc=2);
> print(Optimization[LPSolve]);
Bạn có thể thấy rằng bên trong thủ tục này có chứa vài thủ tục con như Convert:-MatrixForm:-ProcessLP, LP:-SolveInteger , …, nhưng các thủ tục này lại không nằm trong các gói chuyên ngành mà Maple cung cấp.
Bởi: maplevn2008 ngày Tháng Năm 15, 2009
lúc 2:26 chiều
thầy ơi!
thầy có tài liệu ” trắc nghiệm maple ” ko? share cho em va cac ban voi.
came ơn thầy nhiều!!!!!( càng nhiều càng tốt).
Bởi: mongdung ngày Tháng Năm 15, 2009
lúc 2:58 chiều
Ôi, rất tiếc là mình không có các tài liệu trắc nghiệm về Maple. Bạn thử tìm trên mạng xem sao.
Bởi: maplevn2008 ngày Tháng Năm 16, 2009
lúc 7:37 chiều
thưa thầy em chuẩn bị thi giải tích 2 ,thầy giáo cho đề cương về nhà gồm những phần sau :
-tích phân bội 2,3
-tích phân đường loại 1,2 .tích phân mặt loại 1,2.
về phần tích phân bội 2,3 thi em biết cấu trúc lệnh rồi nhưng về phần tích phân đường va tích phân mặt có cấu trúc nào tính thẳng trực tiếp không ( hay vẫn phải chuyển sang tích phân xác định và tích phân bội 2) thầy em viết như code của thầy thi ra kết quả :
code : pathint(1,[x,y]=line(,));
[0] [0]
kết quả :pathint(1, [x, y] = line([ ], [ ]))
[0] [1]
và xin thầy giúp em một vấn đề nữa tai sao 1 số bài tính thì ra kết quả con một số bài tính lai thấy hiện ra biểu thức tích phân
Em xin cảm ơn thầy .
Bởi: hung ngày Tháng Năm 17, 2009
lúc 2:23 sáng
Đối với một số miền đơn giản thì Maple có thể giúp ta tính trực tiếp. Bạn có thể xem thêm trong Help của Maple.
> with(Student[VectorCalculus]);
- đường loại 1:
> ?PathInt
- đường loại 2:
> ?LineInt
- mặt ( không thấy tham số gì cho phép phân biệt mặt loại nào cả)
> ?SurfaceInt
Ví dụ về tích phân đường:
http://maplevn2008.wordpress.com/2008/11/23/tich-phan-d%C6%B0%E1%BB%9Dng/
Khi có tham số “inert” thì kết quả là công thức dạng tích phân bội. Tuy nhiên trong một số trường hợp mà ta không thêm tham số này nhưng do tích phân bội thu được không thể tính ra kết quả giải tích thì kết quả trả về cũng là một biểu thức tính phân. Lúc này bạn có thể dùng lệnh evalf để lấy giá trị xấp xỉ của nó, ví dụ:
> kq:=int(exp(-x^3)*sin(x^2),x=0..1);
> evalf(kq);
Bởi: maplevn2008 ngày Tháng Năm 17, 2009
lúc 2:00 chiều
Trong package LinearAlgebra có thủ tục Normalize áp dụng cho Vector, cho em hỏi có cách nào áp dụng trực tiếp cho Matrix không ?
Bởi: anhhna ngày Tháng Năm 21, 2009
lúc 2:14 chiều
Normalize là thủ tục chuẩn hóa vecto. Đối với ma trận thì mình vẫn chưa biết có lệnh nào không, nhưng bạn có thể tính nhanh chóng bằng hệ thức: A/MatrixNorm(A,options) trong đó A là ma trận cần chuẩn hóa. Bạn nên xem thêm trong Help lệnh MatrixNorm để biết truyền tham số options.
Bởi: maplevn2008 ngày Tháng Năm 21, 2009
lúc 5:45 chiều
Em có viết 1 vài package nhỏ nhưng toàn bộ lệnh trong package này người dùng đều có thể xem qua lệnh print. Thầy cho em hỏi có cách nào để giấu code đi không? Cám ơn.
Bởi: thanhthao ngày Tháng Năm 21, 2009
lúc 2:16 chiều
Theo mình được biết có 1 cách giấu code đi là bạn tạo package nhờ module. Các hàm ở phần export bạn không tiến hành định nghĩa trực tiếp mà dùng một biến local để xây dựng hàm có chức năng tương tự, rồi sau đó chỉ việc gọi ra trong thủ tục chính. Đây là một vấn đề hay, cuối tuần này mình sẽ post một ví dụ minh họa.
Bởi: maplevn2008 ngày Tháng Năm 21, 2009
lúc 5:51 chiều
Cám ơn thầy. Em đã làm được rồi. Cách của thầy rất hiệu quả.
Bởi: thanhthao ngày Tháng Năm 23, 2009
lúc 1:34 chiều
Mình mới tìm hiểu về maple. vấn đề mình là vấn đề hiển thị là công thức: mình có công thức: p:=(a+b)*c, bây giờ mình có a+b=ab mình muốn p chuyển thành dạng sau p:=ab*c thì phải làm như thế nào. Cám ơn nhiều
Bởi: nguyenphong ngày Tháng Năm 27, 2009
lúc 7:41 chiều
Vấn đề chính của bạn là hiển thị hình thức. Mình đề nghị 1 giải pháp như sau:
- sử dụng kiểu symbol để biểu diễn biểu thức
> p:=convert((a+b)*c,symbol);
- đưa ra “luật” tác động
> rule:=[a+b=a-b];
- tác động luật theo trình tự ( chuyển p về dạng toán: parse(p); tác động luật biến đổi p: applyrule(rule,parse(p)); và cuối cùng chuyển về lại kiểu symbol).
> p:=convert(applyrule(rule,parse(p)),symbol);
Bởi: maplevn2008 ngày Tháng Năm 28, 2009
lúc 6:12 sáng
Sau khi tính toán, em có 1 ma trận 4×1, datatype=float[8] như sau:
-.179605302026774882
-.359210604053549874
-.179605302026774938
-.898026510133874690
Cho em hỏi là làm sao để em có thể chuyển về thành ma trận có cách làm tròn số như sau:
-.18
-.36
-.18
-.90
Bởi: anhhna ngày Tháng Năm 28, 2009
lúc 5:30 chiều
>a:=Vector([-.179605302026774882, -.359210604053549874, -.179605302026774938, -.898026510133874690], datatype=float[8]):
>UseHardwareFloats:=false:
>evalf(a,2);
Bởi: maplevn2008 ngày Tháng Năm 29, 2009
lúc 1:27 chiều
Nếu em có 1 số cực nhỏ thế này: -4.09451679407575268*10^(-33), Thầy cho em hỏi làm sao để cho Maple làm tròn những số này thành 0.
Bởi: anhhna ngày Tháng Năm 28, 2009
lúc 5:47 chiều
Cách chính thống thì mình vẫn chưa biết, tuy nhiên bạn có thể xử lí như sau:
- thiết lập sai số cho phép
> saiso:=10^(-10);
- tạo “luật” : số có modul nhỏ hơn sai số thì gán bằng 0.
> rule:=[x::satisfies(t->is(abs(t)<saiso))=0];
> a:=-4.09451679407575268*10^(-33);
- áp dụng luật
> applyrule(rule,a);
> applyrule(rule,sin(a*x)+cos(a)+t);
Bởi: maplevn2008 ngày Tháng Năm 29, 2009
lúc 1:34 chiều
Thầy có thể xem lại code của dòng lệnh rule được không ?
Bởi: thanhthao ngày Tháng Sáu 3, 2009
lúc 11:43 sáng
Rất cám ơn bạn đã phát hiện. Do mình copy từ Maple sang mà quên chỉnh lại các kí tự đặc biệt thành mã HTML nên nó hiển thị không chính xác. Mình đã sửa lại comment rồi.
Bởi: maplevn2008 ngày Tháng Sáu 3, 2009
lúc 11:50 sáng
Ví dụ em có 1 biểu thức:
>f:=”R1R2.U=R1R2.I*R1R2.R”;
nhưng em ko thể thực hiện được lệnh
>subs({R1R2.U=2,R1R2.I=3},parse(f));
mục đích là biết trước 2 biến, tìm biến còn lại.
Em biết vấn để là ở chỗ dấu chấm, có nó thì không thể thực hiện được, mà ko có nó thì trật tự các chữ cái bị đảo lộn, mà em ko muốn như thế. Thầy có cách nào giúp em với ?
Bởi: romanghosn ngày Tháng Sáu 3, 2009
lúc 4:50 chiều
Vấn đề chính không phải ở dấu chấm mà ở chữ I. Chú ý rằng chữ I trong Maple là kí hiệu của đơn vị ảo. Do đó để sử dụng trong lệnh subs bạn phải ngăn cản sự định giá:
>f:=”R1R2.U=R1R2.I*R1R2.R”;# dấu nháy kép thẳng đứng
>subs({R1R2.U=2,’R1R2.I’=3},parse(f));# dấu nháy đơn thẳng đứng
Ngoài ra bạn cũng có thể xử lí cách khác bằng cách “ép” Maple đổi kí hiệu đơn vị ảo sang chữ cái khác, ví dụ J. Lúc này bạn chỉ cần thêm câu lệnh sau vào phía trước đoạn lệnh của bạn là ổn:
>interface(imaginaryunit=J);
và nhớ rằng đơn vị ảo bây giờ là J.
Bởi: maplevn2008 ngày Tháng Sáu 4, 2009
lúc 6:12 sáng
Cám ơn Thầy, nhờ Thầy chỉ dẫn mà em làm được rồi.
Bởi: romanghosn ngày Tháng Sáu 4, 2009
lúc 8:51 sáng
Thầy cho em hỏi trong Maple tính đạo hàm của hàm số tại một điểm cụ thể x=a chẳng hạn thì dùng lệnh gì ?
Bởi: ngocthao ngày Tháng Sáu 6, 2009
lúc 3:50 chiều
Bạn dùng lệnh fdiff. Ví dụ:
> fdiff(x^3-x,x=1);
Đây là công cụ đào hàm số của Maple.
Bởi: maplevn2008 ngày Tháng Sáu 6, 2009
lúc 7:28 chiều
Thầy cho em hỏi trong maple có hàm time không ạ? Em muốn tính thời gian một chu trình chạy thì phải làm sao ạ?
Bởi: thu ngày Tháng Sáu 13, 2009
lúc 8:59 sáng
Bạn có thể dùng hàm time, ví dụ tính thời gian tính giai thừa cho bởi hàm fac:
> fac:=proc(n)
option remember;
if n*(n-1)=0 then return 1;
else return n*procname(n-1); fi;
end;
> time(fac(1000));
Nếu bạn muốn tính 1 lần cho nhiều thủ tục và hàm thì có thể làm như sau:
> t:=time(): # lưu thời điểm đầu
fac(2000);
evalf(int(x^x*sin(x),x=1..3));
time()-t; # thời gian tính bằng thời điểm kết thúc trừ đi thời điểm ban đầu
Bởi: maplevn2008 ngày Tháng Sáu 13, 2009
lúc 10:51 sáng
Em cám ơn thầy. Thầy coi dùm em coi đặt hàm time vào vị trí nào trong chu trình sau:
> dutru:=proc(d,l,c,i,t0)
local q,n,t,b:
q:=sqrt((2*l*d)/(i*c)):
print(`so luong dat hang toi uu:`):print(q):
F(q):=l*d/q+i*c*q/2+c*d:
print(`tong chi toan bo:`);print((F(q)));
n:=d/q:
print(`so lan dat hang toi uu trong 1 nam:`); print(n);
t:=1/n:
print(` chu ky toi uu:`);print(t);
b:=d*(t0-t*trunc(t0/t)):
print(` diem dat hang toi uu:`);print(b);
end
Nếu em muốn làm thành 1 package thì phải làm sao ạ?
Bởi: thu ngày Tháng Sáu 13, 2009
lúc 2:33 chiều
Đặt vào vị trí nào là tùy thuộc vào yêu cầu của đề bài và mục đích tính toán. Vấn đề tạo package thì bạn có thể search từ khóa package trong blog để tìm ví dụ.
Bởi: maplevn2008 ngày Tháng Sáu 14, 2009
lúc 6:41 sáng
Thầy ơi cho em hỏi sao sau mỗi lần chạy thì thời gian chạy lại khác nhau nhưng với cùng một số liệu ạ? Em xài maple 12 thì có khác gì maple 9 không ạ?
Bởi: thu ngày Tháng Sáu 14, 2009
lúc 4:16 sáng
Điều này là hoàn toàn bình thường. Tốc độ tính toán phụ thuộc vào nhiều yếu tố như tài nguyên của máy ở thời điểm hiện tại (số lượng quá trình đang hoạt động, dung lượng RAM còn rãnh,…), cấu trúc lệnh sử dụng( một số option có thể giúp ta trả về cho hàm một bảng nhớ các giá trị, điều này cho phép rút ngắn thời gian ở các bước tiếp theo,…),…
Bạn xài Maple 12 thì chạy bình thường các file viết trên Maple 9. Tuy nhiên các file viết trên Maple 12 thì có khả năng không chạy được trên Maple 9 do có nhiều hàm ,thủ tục và bố cục giao diện mà chỉ có trong phiên bản mới.
Bởi: maplevn2008 ngày Tháng Sáu 14, 2009
lúc 7:01 sáng
Em cám ơn thầy. Để em làm thử package rùi gửi thầy coi dùm em.
Bởi: thu ngày Tháng Sáu 14, 2009
lúc 7:15 sáng
Cho em hỏi lập trình symbolic trên maple là gì vậy ạ.Có tài liệu và ví dụ vào không cho em với.Em đang học về cái này.cám ơn
Bởi: uit ngày Tháng Sáu 17, 2009
lúc 5:31 chiều
Đó là lập trình hình thức, thực hiện biến đổi và tính toán trên dữ liệu vào bao gồm các kí hiệu và số. Nhờ công cụ lập trình symbolic này mà ta có thể thu được nghiệm giải tích của nhiều bài toán. Ví dụ lệnh tính tích phân:
> int(a*x^2+b*sin(x),x);
Có 1 quyển sách viết khá hay về một số tính toán hình thức này (tiếng Nga):
Bởi: maplevn2008 ngày Tháng Sáu 18, 2009
lúc 6:31 sáng
dạ thầy có thể cho em xin cuốn sách đó không ạ.Nhưng tiếng nga thì em chịu, không biết có tiếng anh không vậy thầy.Nhờ thầy gởi cho em qua email:triantivirus@gmail.com em cám ơn thầy nhiều.
Bởi: uit ngày Tháng Sáu 19, 2009
lúc 6:09 sáng
Bạn có thể tải 1 quyển sách tiếng Anh ở đây:
http://maplevn2008.files.wordpress.com/2008/11/maple-advanced-programming-guide.pdf
Ngoài ra bạn có thể xem thêm các tài liệu tham khảo mà mình đã upload lên trong blog.
http://maplevn2008.wordpress.com/tag/tai-li%E1%BB%87u/
Bởi: maplevn2008 ngày Tháng Sáu 19, 2009
lúc 8:00 chiều
dạ em cám ơn thầy nhiều.
Bởi: uitpro ngày Tháng Sáu 20, 2009
lúc 2:01 sáng
thầy ơi, em đang làm một bài giới thiệu về gói student, mong thầy giúp đỡ ạ.
Bởi: lanh ngày Tháng Sáu 18, 2009
lúc 5:13 sáng
Gói student là một gói lệnh cơ bản bao gồm nhiều lệnh được thiết kế để hỗ trợ cho việc giảng dạy và học tập bộ môn giải tích đối với sinh viên. Bạn có thể xem thêm trong Help.
>?student
Bởi: maplevn2008 ngày Tháng Sáu 18, 2009
lúc 6:41 sáng
Em đang tạo một ứng dụng giải phương trình bằng Maplets. Nhưng sau khi thiết kết giao diện xong thì em không biết vào đâu để viết code cho 2 button “Giai Phuong Trinh” và “Thoat”. Mong thầy và các bạn ở đây hướng dẫn giúp em. Em xin cảm ơn.
Bởi: Kiều Phát ngày Tháng Sáu 18, 2009
lúc 2:17 chiều
Bạn có thể xem hướng dẫn ở đây để biết thêm cách thiết lập sự kiện khi kích vào Button:
http://maplevn2008.wordpress.com/2009/06/18/maplet-m%E1%BB%99t-vai-s%E1%BB%B1-ki%E1%BB%87n-khi-kich-button/
Bởi: maplevn2008 ngày Tháng Sáu 18, 2009
lúc 7:17 chiều
Cho em cách đọc 1 file như thế nào vậy thầy?
Em muốn biết ý tưởng cho thủ tục đó ?
Cảm ơn thầy!
Bởi: NNT ngày Tháng Sáu 20, 2009
lúc 3:38 sáng
Bạn có thể xem 1 vài thao tác đơn giản ở đây:
http://maplevn2008.wordpress.com/2009/06/22/lam-vi%E1%BB%87c-v%E1%BB%9Bi-file-text/
Bởi: maplevn2008 ngày Tháng Sáu 22, 2009
lúc 8:19 sáng
xin thầy và các bạn giúp mình với:
mình đang làm đề tài về kết nối giữa maple va excel tools.Nhưng mình không biết làm sao hết,giúp mình với,minh sắp phải nộp rồi
Bởi: thanh huong ngày Tháng Sáu 20, 2009
lúc 2:46 chiều
Vấn đề này đã trả lời rồi mà, cậu có thể xem ở đây:
http://maplevn2008.wordpress.com/2008/11/05/bai-t%E1%BA%ADp-xac-su%E1%BA%A5t-va-th%E1%BB%91ng-ke/#comment-356
Bởi: tuandat ngày Tháng Sáu 21, 2009
lúc 6:40 sáng
Chào thầy! em đang cần tìm hiểu 1 package trong Maple 12 sau đó Mô tả được mục đích (tác dụng) của Package. Lấy vài ví dụ minh họa. Nếu trong package có những khái niệm hay định nghĩa mới hay những thuật ngữ thì phải nêu ra cụ thể + ví dụ. Tiếp đến Thực hiện việc giới thiệu một số hàm cơ bản trong Package + ví dụ minh họa. Sắp thi môn này mà tụi em vẫn chưa biết làm thế nào mong thầy giúp đỡ
Bởi: Phạm Văn Hưng ngày Tháng Sáu 22, 2009
lúc 4:14 sáng
Các package trong Maple đều có phần giới thiệu tổng quan ở phần mở đầu( trong Help), ví dụ:
>?Student
>?LinearAlgebra
>?Maplets
…………………………………
Các ví dụ minh họa sẽ được trình bày trong từng lệnh cụ thể của package.
Một vài thuật ngữ toán các bạn có thể vào Dictionary trong Maple để tra cứu
Help-> Manuals,Dictionary and more->Dictionary.
Bởi: maplevn2008 ngày Tháng Sáu 22, 2009
lúc 8:17 sáng
Cám ơn thầy nhiều
Bởi: Phạm Văn Hưng ngày Tháng Sáu 22, 2009
lúc 8:26 sáng
Thay oi, cho em hoi ve plotsetupva plotuotput, 2 ham nay co lien quan gi den lenh plot khong a?? thay cho em vi du, em chua hieu ro van de nay cho lam
Bởi: hongtra_fhk ngày Tháng Sáu 27, 2009
lúc 1:20 chiều
Bạn có thể xem ví dụ ở đây:
http://maplevn2008.wordpress.com/2009/06/27/thi%e1%ba%bft-l%e1%ba%adp-tham-s%e1%bb%91-di%e1%bb%81u-khi%e1%bb%83n-cho-l%e1%bb%87nh-v%e1%ba%bd-d%e1%bb%93-th%e1%bb%8b/
Bởi: maplevn2008 ngày Tháng Sáu 27, 2009
lúc 9:28 chiều
Thay cho em hoi co cach gi xem cac gia tri dac biet cua ham sin,cos ko?
Bởi: havu ngày Tháng Sáu 28, 2009
lúc 6:52 sáng
Bạn có thể sử dụng 2 lệnh sau:
>FunctionAdvisor(sin,”special_values”);
>FunctionAdvisor(cos,”special_values”);
Ngoài ra bạn có thể xem thêm ở đây:
http://maplevn2008.wordpress.com/2009/04/06/xem-maple-d%e1%bb%8bnh-nghia-cac-ham-d%e1%ba%b7c-bi%e1%bb%87t/
Bởi: maplevn2008 ngày Tháng Sáu 28, 2009
lúc 7:40 chiều
thầy ơi cho em hỏi, cách tạo đường dẫn tới help như thế nào ạ, em thấy một số tài liệu click vào 1 tên hàm là xuất hiện bảng trợ giúp.
Bởi: lanh ngày Tháng Sáu 28, 2009
lúc 12:55 chiều
Ở đây mình sẽ hướng dẫn bạn tạo 1 link kiên kết đến “int” trong Help với từ khóa hiển thị trên Worksheet là “Tichphan”.
- Chọn vị trí muốn đặt link, vào Insert—>HyperLink
- Một hộp thoại xuất hiện, bạn điền thông tin như sau:
+ Link Text: Tichphan (Đây là tên sẽ hiển thị trên Worksheet)
+ Type: Help Topic (nơi tìm kiếm thông tin)
+ Target: int (vấn đề)
Bởi: maplevn2008 ngày Tháng Sáu 28, 2009
lúc 7:56 chiều
Cám ơn thầy
Bởi: lanh ngày Tháng Sáu 29, 2009
lúc 3:53 sáng
Thầy ơi cho em hỏi cách tắt Auto saving trong maple
Bởi: lanh ngày Tháng Sáu 30, 2009
lúc 4:15 sáng
Bạn vào Option—> General—-> tìm dòng chữ “Auto save every”. Bạn có thể tắt hoặc tăng thời gian giữa 2 lần save.
Bởi: maplevn2008 ngày Tháng Sáu 30, 2009
lúc 6:28 sáng
Rất hay và ấn tượng
Bởi: toan hoc ngày Tháng Bảy 11, 2009
lúc 4:51 sáng
xin chào các bạn
các bạn cho mình hỏi .Mình có chương trình sau:
>beta:=matrix(3,1,[2.5,3.0,4.0]);
>k[2]:=matrix(2,1,[1*sigma[c],1.5*sigma[c]]);
> for i from 1 to 2 do c[i]:=evalm(k[1][i,1]*k[2]);
> od;
>for i from 1 to 2 do
> for j from 1 to 3 do
> n:=evalm(beta[j,1]*c[i]);
> print(n);
> end do
> end do;
Mình muốn hỏi các bạn là sau câu lệnh này sẽ xuất hiện 6 ma trận và có cách nào để gán các giá trị n1,n2,n3,n4,n5,n6 cho các ma trận đó để sử dụng trong các câu lệnh tiếp theo của bài toán. Mình rất mong được sự giúp đỡ của các bạn. Ai biết thì giúp mình với. Mình đang cần gấp rất mong nhận dc hồi âm sơm. Hay gửi cho mình vào email trong.weld.utehy@gmail.com . Xin chân thành cảm ơn
Bởi: trong ngày Tháng Bảy 20, 2009
lúc 4:55 chiều
>beta:=matrix(3,1,[2.5,3.0,4.0]);
>k[2]:=matrix(2,1,[1*sigma[c],1.5*sigma[c]]);
>k[1]:=matrix(2,1,[1.1,1.3]);
> for i from 1 to 2 do c[i]:=evalm(k[1][i,1]*k[2]);
> od;
>for i from 1 to 2 do
> for j from 1 to 3 do
> n:=evalm(beta[j,1]*c[i]);
> print(n);
> end do
> end do;
Mình muốn hỏi các bạn là sau câu lệnh này sẽ xuất hiện 6 ma trận và có cách nào để gán các giá trị n1,n2,n3,n4,n5,n6 cho các ma trận đó để sử dụng trong các câu lệnh tiếp theo của bài toán. Mình rất mong được sự giúp đỡ của các bạn. Ai biết thì giúp mình với. Mình đang cần gấp rất mong nhận dc hồi âm sơm. Hay gửi cho mình vào email trong.weld.utehy@gmail.com . Xin chân thành cảm ơn
Bởi: trong ngày Tháng Bảy 20, 2009
lúc 5:02 chiều
Bạn có thể gán như thế này:
>for i from 1 to 2 do
> for j from 1 to 3 do
> n[(i-1)*3+j]:=evalm(beta[j,1]*c[i]);
> print(n[(i-1)*3+j]);
> end do
> end do;
Lúc này 6 ma trận liên tiếp sẽ lưu trong n[1],n[2],…, n[6].
Bởi: hung ngày Tháng Bảy 21, 2009
lúc 1:30 sáng
em rat cam on anh hung da giup do em va em da lam dc roi. em cam on anh nhe
Bởi: trongnk87 ngày Tháng Bảy 21, 2009
lúc 4:21 sáng
Mình chào các bạn mình có một bài toán đang làm thì bị vướng mắc rất mong mọi người chỉ giúp
Tính S= sigma/(K*sigma[a]+ψ*sigma[m])
- β = 2,5 ; 3,0 ; 4,0
- K1 = 1,1 ; 1,30
- K2 =295 ÷ 442,5
- η= 0.8;0.9
- ε = 0,5
- ψ = 0,2; 0,3.
- μ = 1,0
Trong đó K=(β*K1*K2*η)/(ε*μ)
sigma[a]=168; 239,4 ;80,9 ; 42,0 ; 86,1 ; 27,6 ; 533,6
sigma[m]=80,304; 88,578; 18,08115; 31,227; 59,1507; 22,7424; 417,2752
Rất mong được sự giúp đỡ của tất cả các bạn .Mình cám ơn các bạn
Bởi: trong ngày Tháng Bảy 22, 2009
lúc 4:20 chiều
Đối với bài này bạn nên viết một hàm để tính, chẳng hạn: S=f(beta,K1,K2,eta,epsilon,psi,mu,sigma,sigma_a,sigma_m),cụ thể:
>f:=proc(beta,K1,K2,eta,epsilon,psi,mu,sigma,sigma_a,sigma_m)
local K;
K:=beta*K1*K2*eta/(epsilon*mu);
return sigma/(K*sigma_a+psi*sigma_m);
end proc;
Sau đó bạn muốn tính giá trị nào thì chỉ cần nhập vào giá trị biến tương ứng trong hàm là xong.
Ví dụ:
>S:=f(2.5,1.1,295,0.8,0.5,0.2,1,100,168,80);
Trong đó tham số sigma=100. Bạn có thể xem lại công thức tính S, ở đó có tham số sigma và bạn chưa đưa ra giá trị ( có thể bạn gõ nhầm).
Bởi: maplevn2008 ngày Tháng Bảy 23, 2009
lúc 2:40 sáng
mình chào các bạn mình có bài tạp lam với cấu trúc này ko dc mong các bạn sửa hộ mình với
>psi:=[0.2,0.3];
>beta:=[2.5,3.0,4.0];
>k1:=[1.1,1.3];
>eta:=0.8;
>epsilon:=0.5;
>mu:=1.0;
>sigma[c]:=295;
>sigma_1:=180;
>k2:=[1*sigma[c],1.5*sigma[c]];
>sigma[max]:=[168,239.4,80.9,42.0,86.1,27.6,533.6];
>sigma[min]:=[7.392,62.244,44.7377,- 20.454,- 32.2014,-17.8848,-300.9504];
>sigma[tong]:=evalm(sigma[max]+sigma[min]);
>sigma[hieu]:=evalm(sigma[max]-sigma[min]);
>sigma_a:=evalm(sigma[hieu]*0.5);
>sigma_m:=evalm(sigma[tong]*0.5);
mình muốn tính giá trị
S= sigma_1/(K*sigma_a+ψ*sigma_m)
Trong do K=beta*K1*K2*eta/(epsilon*mu)
Mình rất mong được sự giúp đỡ của các bạn.
Mình chân thành cảm ơn các bạn.
Bởi: trongnk87 ngày Tháng Bảy 23, 2009
lúc 4:30 sáng
Trời đất. Bài này thì tùy mục đích mà dùng vòng for hoặc tính theo từng giá trị cũng được. Chứ bạn hỏi chung chung thế ai mà trả lời cho được.
Bởi: tuan ngày Tháng Bảy 25, 2009
lúc 9:33 sáng
chào mọi người
Mình muốn vẽ ba hàm số y= 1/x với x=0.2..2
y=x^3+4x với x=0.5..3
và hàm y=6*x với x=1..3
trên cùng một hệ toạ độ và gán màu khác nhau cho mỗi đồ thị mình phải làm thế nào mong các bạn chỉ giúp mình với
Bởi: nam ngày Tháng Bảy 25, 2009
lúc 7:47 chiều
Bạn xem thử thế này được không
>p1:=plot(1/x,x=0.2..2,color=red):
p2:=plot(x^3+4*x,x=0.5..3,color=blue):
p3:=plot(6*x,x=1..3,color=cyan):
plots[display](p1,p2,p3);
Bởi: thaonguyen ngày Tháng Bảy 26, 2009
lúc 2:45 sáng
Rất vui được các bạn cùng tham gia trao đổi trên blog. Hy vọng blog này se là nơi để các bạn yêu thích và sử dụng Maple giao lưu với nhau.
Bởi: maplevn2008 ngày Tháng Bảy 26, 2009
lúc 3:15 sáng
Do trang này đã khá dài,c ác bạn có thể vào trang Hỏi/Đáp2 để trao đổi.
http://maplevn2008.wordpress.com/h%e1%bb%8fidap2/
Bởi: maplevn2008 ngày Tháng Bảy 26, 2009
lúc 3:21 sáng
Chào các bạn
Mình đã vẽ được đồ thị của hàm như sau:
Và bây giờ mình muốn gán vào trục tung tên hàm S. trục hoành là x và muốn đặt tên cho đường p1, p2,p3 và muốn đặt tên của đồ thị thì mình phải làm sao. Rất mong được sự giúp đỡ của các bạn
>p1:=plot(1/x,x=0.2..2,color=red):
p2:=plot(x^3+4*x,x=0.5..3,color=blue):
p3:=plot(6*x,x=1..3,color=cyan):
plots[display](p1,p2,p3);
Bởi: nam ngày Tháng Bảy 27, 2009
lúc 11:23 sáng
Bạn thử xem lệnh này:
>plot(1/x,x=0.2..2,color=red,labels=["x","S"]);
Bởi: tuan ngày Tháng Bảy 29, 2009
lúc 2:15 sáng
Em đang học ĐHSP TPHCM, hiện nay em đang học HP Lập trình toán với Maple 12.
Các anh chị có biết một số đề thi học phần không?
Có thể giúp em một số đề để em làm thử nghiệp (cần rất gấp_sắp thi rồi).
Chân thành cảm ơn nhiều.
vitinhtheky22@yahoo.com.vn
Bởi: minhhungedu ngày Tháng Bảy 29, 2009
lúc 2:35 chiều
các bạn cho mình hỏi muốn tạo lưới trên đồ thị thì phải làm thế nào? Xin cám ơn nhé. Bạn nào biết vào giúp mình nhé. Mình đang rất cần
Bởi: ha ngày Tháng Bảy 30, 2009
lúc 3:56 chiều
Bạn có thể sử dụng tham số gridlines khi vẽ đồ thị, ví dụ:
> plot(sin(x),x=-Pi..Pi,gridlines=true);
Bạn có thể xem thêm trong help
>?plot/options
ở phần gridlines.
Bởi: maplevn2008 ngày Tháng tám 1, 2009
lúc 9:13 sáng
Cho minh hoi lam the nao de dua mot giao dien maplet ve word duoc. Minh cam on nhieu
Bởi: dung ngày Tháng tám 2, 2009
lúc 2:46 chiều
Cái này thì bạn nên chụp màn hình lại rồi dán vào Word là xong. Có 2 cách chụp:
- Nhấn phím Print-Screen trên bàn phím,lúc này toàn bộ màn hình sẽ được chụp lại. Bạn vào Paint, Paste vào đó rồi cắt phần tranh mà bạn muốn
- Nhấn Alt+Print-Screen, lúc này giao diện Maplet ở trên nhất của màn hình sẽ được chụp, và bạn chỉ việc Paste vào Word là xong.
Bởi: tuanhung ngày Tháng tám 3, 2009
lúc 1:08 sáng
Minh lam duoc roi, cam on ban nhieu!
Bởi: dung ngày Tháng tám 11, 2009
lúc 2:09 sáng
cho minh hoi lam sao de copy mot chuong trinh maplet sang word voi, minh lam mai chang duoc. Minh cam on nhieu!
Bởi: dung ngày Tháng tám 25, 2009
lúc 3:39 sáng
O tren minh co tra loi roi ma. Neu ban muon copy phan text vao thi chi viec copy va dan vao thoi. Neu ban muon chup hinh cai giao dien thi lam nhu tren.
Bởi: tuanhung ngày Tháng tám 27, 2009
lúc 9:20 sáng
tim ho minh dao ham cap n cua ham y=arctanx. Xin cam on
Bởi: lynguyen ngày Tháng Mười 5, 2009
lúc 3:04 chiều
Nói ngoài lề một tí:
Ta có: (1+x^2).y’=1. Sau đó áp dụng công thức Newton ta sẽ thu được hệ thức truy hồi để tính đạo hàm cấp n.
Trong Maple:
> diff(arctan(x),x$n);
> convert(%,StandardFunctions);
Bởi: maplevn2008 ngày Tháng Mười 5, 2009
lúc 11:50 chiều
Giả sử khi giải một hệ phương trình đại số tuyến tính em dùng lệnh fsolve thì thấy nghiệm có dạng {x1,x2,..,xn} để convert nó sang dạng Vector thì làm thế nào được ạ ?
Phương trình đại số tuyến tính còn cách giải nào khác không dùng fsolve không vậy thầy
Bởi: trungkstn ngày Tháng Mười 16, 2009
lúc 10:43 sáng
Chào bạn. Bạn có thể xem ví dụ sau:
> htt:={2*x-y=4,x+y=7}:
> fsolve(htt,{x,y});
> map(rhs,%);
> Vector(convert(%,list));
Chú thích: hàm rhs lấy vế phải của 1 phương trình, hàm map giúp tác động vào từng đối tượng. Ngoài ra ta không thể convert trực tiếp từ kiểu tập hợp (set) về Vecto được, bởi thế ta có thể convert về kiểu list.
Ngoài lệnh fsolve ( giải số) còn có lệnh solve (giải giải tích), lệnh LinearAlgebra[LinearSolve].
Bởi: maplevn2008 ngày Tháng Mười 16, 2009
lúc 11:51 sáng
Thanks thầy em đã làm được.
Bởi: trungkstn ngày Tháng Mười 16, 2009
lúc 6:57 chiều
Vài câu hỏi nữa em xin thầy giúp đỡ
)
1. Làm sao để khai báo một Vector nhưng số chiều của vector đó không phải là cố định. Mỗi khi ở một phép tính nào đó có kết quả ta lấy giá trị đó đưa vào làm thành phần của vector.
2. Khi có một vector mà mỗi phần tử của vector đó ứng với một thời điểm t. Làm thế nào để vẽ một đồ thị mà trục hoành là trục thời gian t còn trục tung là giá trị của các thành phần của vector. Các điểm có tọa độ (xi,t) (xi là thành phần thứ i của vector) được nối trơn với nhau (hoặc nối theo đường thẳng cũng được
Bởi: trungkstn ngày Tháng Mười 17, 2009
lúc 2:43 sáng
Chào bạn.
- Viết thủ tục và trả giá trị về bằng 1 vector. Ví dụ: Tao vecto là các số nguyên tố nhỏ hơn n cho trước (n>=2).
>vecNT:=proc(n)
local i,res;
if nvecNT(1);
>vecNT(5);
>vecNT(40);
- Dùng hàm vecto theo biến thời gian t. Ví dụ:
> v:=t->Vector([t,sin(t)*cos(t)]);
> v(2);
> v(Pi);
> plot([v(t)[1],v(t)[2],t=-Pi..Pi]);
> ?plot/parametric
Bởi: maplevn2008 ngày Tháng Mười 17, 2009
lúc 4:55 chiều
em hỏi:
có một vector (100) làm thế nào để vẽ trên hệ Oxy sao cho mỗi điểm thì có hoành độ là chỉ số của thành phần, tung độ là các thành phần của vector, Các điểm được nối trơn với nhau
Bởi: Trịnh Quốc Trung ngày Tháng Mười 19, 2009
lúc 7:24 chiều
Chào bạn.
Bạn có thể xem ví dụ sau:
> n:=10:
> A:=LinearAlgebra[RandomVector](n,generator=0..10):
> B:=[seq([i,A[i]],i=1..n)]:
> f:=CurveFitting[Spline](B,x):
> plot(f,x=1..n);
Để làm trơn đồ thị bạn có thể dùng spline. Maple mặc định spline bậc 3.
Bởi: maplevn2008 ngày Tháng Mười 22, 2009
lúc 12:08 chiều
Hi! Chào anh Tú. Thật bất ngờ vì được gặp lại anh đó. Nhớ hồi nào anh về thăm thầy Lương, em cũng có mặt ở đó. Anh biết em chứ? Cách đây mấy bữa thầy có kể với em là anh vừa đi Belarus về và đang thi tuyển giảng viên vào Đại học Khoa học Huế. Thế mà giờ đây anh đã là giảng viên của Đại học Sư phạm Đà Nẵng. Chúc mừng anh nha. Em đang học maplet trên lớp nên cần học hỏi anh nhiều, anh giúp em với anh hí!
Bởi: Nhat Minh ngày Tháng Mười 27, 2009
lúc 4:08 sáng
Chào em. Rất tiếc là anh không nhớ nhưng chúng ta “đồng sư” môn rồi. Có vấn đề gì thắc mắc em có thể viết comment để mọi người cùng trao đổi.
Bởi: maplevn2008 ngày Tháng Mười 27, 2009
lúc 10:56 sáng
gúp em giải BT về logic toán này với, em sử dụng maple 12
chứng minh đẳng thức
p or `≡`(q and r, p or q) and (p or r)
Bởi: ĐinhPhong ngày Tháng Mười Một 5, 2009
lúc 4:20 sáng
Bạn có thể sử dụng lệnh Logic[Equivalent] để giải quyết bài tập này.
Bởi: maplevn2008 ngày Tháng Mười Một 5, 2009
lúc 11:37 sáng
em chưa biết về hàm giải vi phân trong maple, thầy giúp em 2 VD này dể em hiểu thêm về vi phân đc ko, thanks
1. sd vi phân để tính gần đúng :ln(e+0.1)
2. Tính vi phân toàn phần : z=5*(x^2)*(y^3)
Bởi: Xuân Hồng ngày Tháng Mười Một 5, 2009
lúc 4:24 sáng
Để tính vi phân bạn có thể xem ví dụ trong Help:
>?difforms/d
Bởi: maplevn2008 ngày Tháng Mười Một 5, 2009
lúc 11:41 sáng
em chao thay.
Thay cho hoi :ket noi maple voi java thi thuong duoc ung dung de lam gi?
Bởi: ngochieu ngày Tháng Mười Một 13, 2009
lúc 10:43 sáng
Chào bạn.
Kết nối Java với Maple để sử dụng nguồn thư viện toán dồi dào trong Maple cho việc giải quyết các vấn đề lớn có khối lượng tính toán nhiều, yêu cầu độ chính xác cao và có sử dụng các thuật toán chuyên ngành đã được xây dựng. Nhờ kết nối chúng ta có thể giảm dung lượng code của chương trình, khỏi mất thời gian test lại các thuật toán đã xây dựng sẵn ( tất nhiên là ta tin rằng Maple giải đúng).
Bởi: maplevn2008 ngày Tháng Mười Một 14, 2009
lúc 3:50 sáng
cam on thay da tra loi em!
em dang hoc ve mople ,thay no co ung dung rat lon.
nhung khi lam mot de tau ve maple thi lai kho biet lam gi.boi vi thay giao em bao:chi duoc lam nhung gi ma trong may chua co.
em dang lam de tai ve ly thuyet do thi.(trinh do dai hoc).thay co the cho em loi khuyen ve dan y cua de tai dc kho?tuc la em nen lam nhung phan nao?va lam thi minh phai tu code duoi dang proc hay ap dung cac cau lenh co san?
Bởi: ngochieu ngày Tháng Mười Một 14, 2009
lúc 1:07 chiều
Chào bạn. Vấn đề lý thuyết đồ thị thì mình chỉ biết sơ sài thôi. Một vài gợi ý có tính chất chủ quan của mình bạn có thể tham khảo:
- Nếu bạn có kiến thức tốt về Lý thuyết đồ thị và có kĩ năng lập trình thì có thể viết lại một vài lệnh như : tìm đường đi ngắn nhất giữa hai đỉnh với ma trận liền kề, có thể in ra từng bước và minh họa đồ thị, hay sử dụng các định lý kiểm tra đồ thị đã cho có chu trình Haminton, Euler,… và minh họa đồ thị trong trường hợp tìm thấy,….
- Nếu khả năng lập trình hạn chế thì bạn có thể sử dụng các hàm dựng sẵn, lúc này chủ yếu là bạn cho người dùng biết những thông tin có thể về đồ thị cũng như minh họa hình học của nó ( có thể xây dựng giao diện minh họa cho đẹp mắt,…),…
Bởi: maplevn2008 ngày Tháng Mười Một 15, 2009
lúc 3:34 sáng
Mình mới biết đến maple. Hiện đang dùng maple 11, mình muốn vẽ đồ thị f(x) gồm x khi x0. Bạn có thể chỉ mình code để vẽ nó ko?
Cảm ơn nhiều.
Bởi: Trí ngày Tháng Mười Một 17, 2009
lúc 12:59 chiều
Chào bạn.
Câu hỏi của bạn không được rõ cho lắm.
Để vẽ đồ thị hàm y=f(x) từ a đến b, bạn dùng lệnh
plot(f(x),x=a..b). Ví dụ:
>plot(sin(x),x=-Pi..Pi);
Bởi: maplevn2008 ngày Tháng Mười Một 19, 2009
lúc 7:06 sáng
Mấy bác ơi. Bác nào có tài liệu hướng dẫn sử dụng Maple 12 nhỉ. Chia sẻ cho E nhé
Bởi: Gv.xps ngày Tháng Mười Một 19, 2009
lúc 9:18 sáng
Bạn có thể xem ở phần tài liệu:
http://maplevn2008.wordpress.com/2009/01/07/tai-li%e1%bb%87u-ti%e1%ba%bfng-vi%e1%bb%87t/
Các hướng dẫn này đều sử dụng được với Maple 12.
Bởi: maplevn2008 ngày Tháng Mười Một 21, 2009
lúc 11:39 sáng
Chào Thầy. e mới tìm hiểu về Maple vì thế kiến thức còn hạn chế. mong thầy giúp đỡ em. câu hỏi
Xây dựng kiểu dữ liệu và các thủ tục cần thiết để tạo package thực hiện việc tính toán trên đồ thị như: xét tính liên thông, tìm thành phần liên thông, tìm đường đi, chu trinh.
Bởi: Minh Long ngày Tháng Mười Một 24, 2009
lúc 6:16 chiều
Chào bạn.
Bạn có thể tham khảo cách tổ chức dữ liệu về đỉnh, cạnh trong gói GraphTheory. Chẳng hạn đối với đồ thị vô hướng ta sử dụng kiểu dữ liệu tập hợp (set) để khai báo tập đỉnh, các cạnh. Còn đối với đồ thị có hướng thì ta sử dụng kiểu dữ liệu list. Việc xét tính liên thông, tìm đường đi,… là vấn đề về thuật toán, bạn phải tự tìm hiểu thôi.
Bởi: maplevn2008 ngày Tháng Mười Một 25, 2009
lúc 4:05 sáng
thay cho em hoi:
ham lam cham thoi gian trong maple la gi vay?
tuong tuong voi ham delay() trong C++;
Bởi: hieu ngày Tháng Mười Một 26, 2009
lúc 5:31 sáng
Chào bạn.
Bạn có thể xem hàm sleep mà mình đã xây dựng ở đây:
http://maplevn2008.wordpress.com/2009/09/06/xay-d%e1%bb%b1ng-ham-sleepn/
Bởi: maplevn2008 ngày Tháng Mười Một 26, 2009
lúc 6:43 sáng
Thưa thầy cho em hỏi trong Maple có hàm nào đáp ứng phần tối ưu nhiều biến không:
VD: cực đại hóa hàm như sau
f(x1, x2)=21.5+x1*sin(4Pi x1)+x2*sin(20Pi x2)
với -3.0<=x1<=12.1 và 4.1<=x2<=5.8
Bởi: nguyen phong ngày Tháng Mười Một 27, 2009
lúc 3:34 chiều
Chào bạn.
Bạn có thể sử dụng gói Optimization.
> with(Optimization);
Bởi: maplevn2008 ngày Tháng Mười Một 28, 2009
lúc 12:29 chiều