text:
Trở về Mục lục cuốn sách
Hàm số và tập tin
Đến giờ ta mới chỉ đưa một hàm vào trong mỗi tập tin. Cũng có thể đặt nhiều hàm vào trong một tập tin, nhưng chỉ có hàm đầu tiên, hàm cấp cao nhất mới gọi được từ Command Window. Các hàm phụ trợ khác có thể được gọi từ bất kì đâu trong tập tin, nhưng không thể gọi từ tập tin khác.
Những chương trình lớn thường cần đến nhiều hàm; việc giữ tất cả các hàm trong cùng một tập tin tuy tiện lợi, nhưng làm cho việc gỡ lỗi trở nên khó khăn vì bạn không thể gọi các hàm phụ trợ từ Command Window.
Để giúp giải quyết vấn đề này, tôi thường dùng hàm cấp cao nhất để phat triển và thử nghiệm các hàm phụ trợ. Chẳng hạn, tôi có thể tạo ra một tập tin tên là
duck.m và khởi đầu với một hàm cấp cao nhất có tên là
duck mà không nhận vào bất kì biến đầu vào cũng như trả lại bất kì biến đầu ra nào.
Sau đó tôi sẽ viết một hàm có tên là
error_func để lượng giá hàm sai số cho
fzero. Để thử nghiệm
error_func tôi sẽ gọi nó từ
duck rồi gọi
duck từ Command Window.
Bản nháp chương trình đầu tiên của tôi có thể trông như sau:
function res = duck() error = error_func(10) end function res = error_func(h) rho = 0.3; % density in g / cm^3 r = 10; % radius in cm res = h; end
Dòng lệnh
res = h chưa xong, nhưng để phục vụ mục đích thử nghiệm thì từng ấy mã lệnh cũng đủ. Một khi đã hoàn thành và thử nghiệm
error_func, tôi sẽ sửa
duck sao cho nó dùng
fzero.
Ở bài toán này tôi có thể chỉ cần đến hai hàm, nhưng nếu có nhiều hàm hơn, tôi có thể lần lượt viết và thử nghiệm từng hàm một, rồi sau đó kết hợp chúng lại thành một chương trình chạy được.
Mô hình hóa vật lý
Các ví dụ mà chúng ta đã đề cập đến giờ đều liên quan đến toán học; Bài tập [“bài toán con vịt”], là ví dụ đầu tiên mà chúng ta tìm hiểu một hiện tượng vật lý. Nếu bạn chưa làm bài này, hãy quay lại và ít nhất là đọc kỹ bài toán.
Cuốn sách này được viết về chủ đề mô hình hóa vật lý, vì vậy tôi nên giải thích ý nghĩa của cụm từ trên. Mô hình hóa vật lý là một công đoạn thiết lập những phỏng đoán về các hệ thống vật lý và giải thích biểu hiện của chúng. Một hệ vật lý là thứ tồn tại khách quan mà ta cần quan tâm, chẳng hạn như con vịt.
Hình vẽ sau minh họa các bước của quá trình này:
Một mô hình là một dạng biểu diễn được đơn giản hóa cho một hệ vật lý. Quá trình lập một mô hình được gọi là trừu tượng hóa. Trong phạm vi bàn đến ở đây, “trừu tượng” ngược nghĩa với “hiện thực;” một mô hình trừu tượng ít có sự tương đồng trực tiếp đến hệ vật lý mà nó mô phỏng, cũng như hội họa trừu tượng không trực tiếp biểu diễn hình ảnh của vạn vật ngoài đời. Một mô hình hiện thực là mô hình bao gồm nhiều chi tiết hơn và tương đồng hơn với thế giới thực.
Sự trừu tượng hóa sẽ dẫn đến việc phải quyết định đúng đắn về việc đưa các yếu tố nào vào mô hình và đơn giản bớt hoặc lược bỏ những yếu tố nào. Chẳng hạn, trong bài toán con vịt, ta xét đến trọng lượng riêng của vịt và lực đẩy nổi của nước, nhưng bỏ qua lực đẩy nổi do không khí và tác động đạp nước của chân vịt. Ta cũng đơn giản hóa hình dạng con vịt bằng cách giả thiết rằng phần con vịt ngập trong nước cũng gần giống một chỏm cầu. Và chúng ta đã sử dụng những ước tính sơ lược về kích thước và khối lượng của con vịt.
Trong số các quyết định giản hóa trên, có cái chấp nhận được. Khối lượng riêng của con vịt cao hơn của không khí rất nhiều nên ảnh hưởng của lực đẩy nổi của không khí có lẽ sẽ rất nhỏ. Những quyết định khác, như hình dạng khối cầu, thì khó chấp nhận hơn, nhưng có ích. Hình dạng thực tế của con vịt rất phức tạp; mô hình khối cầu giúp ta có thể tính được một kết quả gần đúng mà không phải thực hiện đo đạc chi tiết hình dạng của những con vịt thật.
Một mô hình giống thật hơn chưa chắc đã tốt hơn. Mô hình rất có ích vì chúng có thể được phân tích về mặt toán học và mô phỏng về mặt số trị. Các mô hình quá giống thật sẽ khó có thể mô phỏng được và hoàn toàn không thể phân tích được.
Một mô hình được gọi là thành công nếu nó đạt yêu cầu đề ra. Nếu ta chỉ cần một ước đoán rất thô sơ về phần của con vịt ngập trong nước thì mô hình khối cầu cũng là đủ. Nếu ta cần một lời giải chính xác hơn (vì lý do nào đó) thì ta có thể cần đến một mô hình giống thật hơn.
Việc kiểm tra xem một mô hình có đủ tính đúng đắn hay không được gọi là thẩm định. Hình thức chặt chẽ nhất của thẩm định là tiến hành đo trên hệ vật lý và so sánh với kết quả dự đoán của một mô hình.
Nếu điều này không thực hiện được, ta vẫn còn những hình thức thẩm định khác tuy không chặt chẽ bằng. Một hình thức là so sánh nhiều mô hình của cùng một hệ. Nếu chúng không thống nhất thì có biểu hiện là (ít nhất) một trong số các mô hình đó đã sai, và độ lớn của sự khác biệt chính là dấu hiệu về độ tin cậy của những ước tính đó.
Đến giờ chúng ta chỉ thấy được một mô hình vật lý, vì vậy mà một phần của đoạn thảo luận trên vẫn chưa thể làm rõ. Ta sẽ quay trở lại chủ đề này sau, nhưng trước hết cần tìm hiểu thêm về véc-tơ.
Véc-tơ với vai trò là biến đầu vào
Vì nhiều hàm lập sẵn chấp nhận véc-tơ làm đối số, nên sẽ không có gì lạ khi bạn có thể viết các hàm nhận vào véc-tơ. Sau đây là một ví dụ (ngốc nghếch):
function res = display_vector(X) X end
Chẳng có gì đặc biệt về hàm này cả. Điểm khác biệt duy nhất so với hàm vô hướng mà ta gặp từ trước đó là tôi đã dùng một chữ cái viết in để gợi nhớ rằng
X là một véc-tơ.
Sau đây là một ví dụ khác về một hàm không trả về giá trị nào; nó chỉ hiển thị giá trị của biến đầu vào:
>> display_vector(1:3) X = 1 2 3
Tiếp theo là một ví dụ lý thú hơn, trong đó gói đoạn mã lệnh ở Mục [Rút gọn] để tính tổng các phần tử của một véc-tơ:
function res = mysum(X) total = 0; for i=1:length(X) total = total + X(i); end res = total; end
Tôi gọi nó là
mysum để tránh xung đột tên với hàm lập sẵn
sum, nhưng về công dụng thì hai hàm giống nhau.
Sau đây là cách gọi nó từ Command Window:
>> total = mysum(1:3) total = 6
Vì hàm này có một giá trị trả về nên tôi đã cố ý gán nó cho một biến.
Véc-tơ đóng vai trò là biến đầu ra
Cũng không có gì sai khi gán véc-tơ cho một biến đầu ra. Sau đây là một ví dụ trong đó gói đoạn mã lệnh ở Mục {apply}:
function res = myapply(X) for i=1:length(X) Y(i) = X(i)^2 end res = Y end
Lý tưởng nhất lẽ ra phải thay đổi tên của biến đầu ra thành
Res, để nhắc rằng nó nhận một giá trị véc-tơ, nhưng tôi đã không làm vậy.
Sau đây là cách dùng
myapply:
>> V = myapply(1:3) V = 1 4 9
Hãy viết một hàm có tên là
find_targetđể gói đoạn lệnh từ Mục [Tìm kiếm], để tìm vị trí của giá trị mong muốn trong một véc-tơ.
Véc-tơ hóa hàm của bạn
Những hàm tính trên véc-tơ thường cũng dùng được với các số vô hướng, vì MATLAB coi rằng số vô hướng là véc-tơ có chiều dài bằng 1.
>> mysum(17) ans = 17 >> myapply(9) ans = 81
Không may là, điều còn lại không phải luôn đúng. Nếu bạn viết một hàm để tính cho đầu vào là số vô hướng, thì nó có thể không dùng được cho véc-tơ.
Nhưng có trường hợp vẫn được! Nếu các toán tử và hàm bạn dùng trong thân hàm có thể tính được với véc-tơ thì hàm của bạn sẽ tính được cho véc-tơ.
Chẳng hạn, sau đây chính là hàm đầu tiên mà ta viết:
function res = myfunc (x) s = sin(x) c = cos(x) res = abs(s) + abs(c) end
Này! Nó làm việc được với véc-tơ đấy:
>> Y = myfunc(1:3) Y = 1.3818 1.3254 1.1311
Đến đây, tôi muốn dừng lại một chút để thừa nhận rằng tôi đã khắt khe một chút khi trình bày về MATLAB, vì có một số đặc điểm mà tôi nghĩ đã làm khó người mới học một cách không cần thiết. Nhưng rồi cuối cùng, ở đây ta thấy được những đặc điểm chứng tỏ sức mạnh của MATLAB.
Một số hàm khác ta đã viết lại không dùng được với véc-tơ, nhưng chúng có thể sửa được dễ dàng. Chẳng hạn, có hàm
hypotenuse từ Mục {hypotenuse}:
function res = hypotenuse(a, b) res = sqrt(a^2 + b^2); end
Hàm này không tính được với véc-tơ vì toán tử
^ dành cho phép lũy thừa ma trận, và chỉ tính cho các ma trận vuông.
>> hypotenuse(1:3, 1:3) ??? Error using ==> mpower Matrix must be square.
Nhưng nếu bạn thay thế
^ bởi toán tử tính theo phần tử
.^, nó lại chạy được!
>> A = [3,5,8]; >> B = [4,12,15]; >> C = hypotenuse(A, B) C = 5 13 17
Ở trường hợp này, nó ghép cặp các phần tử tương ứng từ hai véc-tơ đầu vào, nên các phần tử của
C là độ dài cạnh huyền lần lượt của các cặp (3, 4), (5, 12) and (8, 15).
Nói chung, nếu bạn muốn viết một hàm trong đó chỉ dùng các toán tử theo phần tử và các hàm làm việc trên véc-tơ, thì hàm mới viết cũng sẽ làm việc được với véc-tơ.
Tổng và hiệu
Một phép toán với véc-tơ quan trọng khác là tổng lũy tích, vốn nhận một véc-tơ đầu vào và tính một véc-tơ mới gồm tất cả các tổng thành phần của véc-tơ ban đầu. Theo kí hiệu toán, nếu V là véc-tơ ban đầu, thì các phần tử của tổng lũy tích, C, là:
Ci = ∑ j = 1iVj
Nói cách khác, phần tử thứ i của C là tổng của i phần tử đầu tiên trong V. MATLAB cung cấp một hàm có tên là
cumsum để tính tổng lũy tích:
>> V = 1:5 V = 1 2 3 4 5 >> C = cumsum(V) C = 1 3 6 10 15
Hãy viết một hàm có tên là
cumulative_sumtrong đó dùng một vòng lặp để tính tổng lũy tích của véc-tơ đầu vào.
Phép tính ngược với
cumsum là
diff, vốn tính hiệu giữa các phần tử kế tiếp trong véc-tơ đầu vào.
>> D = diff(C) D = 2 3 4 5
Lưu ý rằng véc-tơ đầu ra ngắn hơn 1 phần tử so với véc-tơ đầu vào. Vì vậy, phiên bản
diff trong MATLAB không thật sự là hàm ngược của
cumsum. Nếu là hàm ngược thì ta đã có thể trông đợi
cumsum(diff(X)) bằng
X:
>> cumsum(diff(V)) ans = 1 2 3 4
Nhưng nó đã không thỏa mãn điều kiện trên.
Hãy viết một hàm
mydiffđể tính nghịch đảo của
cumsum, sao cho cả
cumsum(mydiff(X))và
mydiff(cumsum(X))đều trả lại
X.
Tích và thương
Dạng phép nhân của
cumsum là
cumprod, dùng để tính tích số lũy tích. Theo kí hiệu toán học thì:
Pi = ∏ j=1iVj
Trong MATLAB, hàm đó như sau:
>> V = 1:5 V = 1 2 3 4 5 >> P = cumprod(V) P = 1 2 6 24 120
Hãy viết một hàm tên là
cumulative_prodtrong đó dùng vòng lặp để tính tích số lũy tích từ véc-tơ đầu vào.
MATLAB không cung cấp một phiên bản phép nhân tương ứng với
diff, mà lẽ ra đã có tên
ratio, để tính tỉ số giữa các phần tử kế tiếp nhau trong véc-tơ đầu vào.
Hãy viết một hàm tên là
myratiođể tính nghịch đảo của
cumprod, sao cho cả
cumprod(myratio(X))và
myratio(cumprod(X))đều trả lại
X.
Bạn có thể dùng một vòng lặp, hoặc nếu khéo hơn, có thể lợi dụng hệ thức elna + lnb = ab.
Nếu áp dụng
myratiocho một véc-tơ có chứa các số Fibonacci, bạn có thể khẳng định được rằng tỉ số giữa các phần tử kế tiếp nhau hội tụ về tỉ số vàng, $(1+\sqrt{5})/2$ (xem Bài tập {fibratio}).
Kiểm tra sự tồn tại
Đôi khi ta phải kiểm tra các phần tử của một véc-tơ xem nếu có bất kì phần tử nào thỏa mãn một điều kiện cho trước hay không. Chẳng hạn, bạn muốn biết rằng có phần tử số dương trong véc-tơ hay không. Theo logic học, điều kiện này được gọi là kiểm tra sự tồn tại, và nó được kí hiệu bởi dấu ∃ , đọc là “tồn tại.” Chẳng hạn, biểu thức sau
∃ x thuộc S: x > 0
nghĩa là “tồn tại phần tử x nào đó trong tập hợp S sao cho x > 0.” Trong MATLAB, ý này có thể được thể hiện tự nhiên bằng một hàm logic như
exists, vốn trả lại 1 nếu có phần tử như vậy và 0 nếu không có.
function res = exists(X) for i=1:length(X) if X(i) > 0 res = 1; return end end res = 0; end
Trước đây chưa bắt gặp lệnh
return; nó tương tự như
break, chỉ khác là nó thoát khỏi cả hàm chứ không chỉ vòng lặp. Điều đó rất cần đến trong trường hợp này vì ngay khi tìm được một phần tử dương, ta biết được câu trả lời (có tồn tại!) và có thể kết thúc hàm lập tức mà không cần xét đến các phần tử còn lại.
Nếu ta thoát ở cuối vòng lặp, điều đó nghĩa là ta không thể tìm thấy giá trị mong muốn (vì nếu có, ta đã gặp lệnh
return).
Kiểm tra sự toàn vẹn
Một phép toán véc-tơ thường gặp khác là kiểm tra xem tất cả các phần tử có cùng thỏa mãn một điều kiện không; nó được gọi là kiểm tra sự toàn vẹn và được kí hiệu bằng dấu ∀ và được đọc là “với mọi.” Vì vậy biểu thức này
∀ x thuộc S: x > 0
có nghĩa là “với mọi phần tử x trong tập hợp S, x > 0.”
Một cách khá ngốc nghếch để lượng giá biểu thức này trong MATLAB là đếm số phần tử thỏa mãn điều kiện trên. Một cách tốt hơn là rút gọn bài toán về kiểm tra sự tồn tại; nghĩa là viết lại
∀ x thuộc S: x > 0
theo dạng
∼ ∃ x thuộc S: x ≤ 0
Trong đó ∼ ∃ nghĩa là “không tồn tại.” Nói cách khác, kiểm tra để đảm bảo tất cả các phần tử phải dương thì cũng như kiểm tra điều ngược lại, có tồn tại phần tử không dương.
Hãy viết một hàm có tên
forallnhận vào một véc-tơ và trả lại giá trị 1 nếu tất cả các phần tử đều dương và 0 nếu có bất kì phần tử nào không dương.
Véc-tơ logic
Khi áp dụng một toán tử logic cho một véc-tơ, kết quả là một véc-tơ logic; nghĩa là một véc-tơ trong đó các phần tử đều là những giá trị logic 1 và 0.
>> V = -3:3 V = -3 -2 -1 0 1 2 3 >> L = V>0 L = 0 0 0 0 1 1 1
Ở ví dụ này,
L là véc-tơ logic có các phần tử tương ứng với các phần tử của
V. Với mỗi phần tử dương của
V, phần tử tương ứng của
L bằng 1.
Véc-tơ logic có thể được dùng như cờ để lưu giữ trạng thái của một điều kiện. Chúng thường được dùng với hàm
find, vốn nhận vào một véc-tơ logic và trả lạ một véc-tơ bao gồm các chỉ số của những phần tử “đúng.”
Áp dụng
find vào
L ta được
>> find(L) ans = 5 6 7
nghĩa là các phần tử thứ 5, 6 và 7 có giá trị bằng 1.
Nếu không có phần tử “đúng” nào, kết quả sẽ là véc-tơ rỗng.
>> find(V>10) ans = Empty matrix: 1-by-0
Ví dụ này tính toán véc-tơ logic và truyền nó làm đối số cho
find mà không gán nó vào một biến trung gian. Bạn có thể đọc đoạn mã lệnh này theo cách trừu tượng là “tìm tất cả những chỉ số của các phần tử trong
V có giá trị lớn hơn 10.”
Bạn cũng có thể dùng
find để viết lại
exists cho gọn hơn:
function res = exists(X) L = find(X>0) res = length(L) > 0 end
Hãy viết một phiên bản của
forallcó dùng
find.
Thuật ngữ
- hàm cấp cao nhất:
- Hàm đầu tiên trong một tập tin M; là hàm duy nhất có thể gọi đến từ Command Window hoặc từ một tập tin khác.
- hàm phụ trợ:
- Hàm trong tập tin M nhưng không phải hàm cấp cao nhất; nó chỉ có thể được gọi từ một hàm khác trong cùng tập tin.
- mô hình hóa vật lý:
- Quá trình đưa ra phỏng đoán về các hệ vật lý cũng như giải thích biểu hiện của chúng.
- hệ vật lý:
- Thứ tồn tại trong thế giới thực mà chúng ta quan tâm nghiên cứu.
- mô hình :
- Sự mô tả được đơn giản hóa của hệ vật lý, rất thích hợp cho việc phân tích và mô phỏng.
- trừu tượng hóa:
- Quá trình xây dựng một mô hình bằng cách quyết định những yếu tố nào cần được giản hóa hoặc lược bỏ.
- thẩm định:
- Kiểm tra xem mô hình có đạt yêu cầu sử dụng hay không.
- kiểm tra sự tồn tại:
- Một điều kiện logic nhằm diễn đạt ý “có tồn tại” một phần tử thỏa mãn một thuộc tính nhất định trong tập hợp cho trước.
- kiểm tra sự toàn vẹn:
- Một điều kiện logic nhằm diễn đạt ý tất cả các phần tử trong tập hợp đều có chung một thuộc tính nhất định.
- véc-tơ logic:
- Một véc-tơ gồm các giá trị logic 1 hoặc 0, thường là kết quả của phép áp dụng một toán tử logic vào một véc-tơ ban đầu.
4 responses to “Chương 7: Hàm số của véc-tơ”
Pingback: Chương 1. Các biến và giá trị | Blog của Chiến
Pingback: Chương 11: Tối ưu hóa và nội suy | Blog của Chiến
Pingback: Chương 6: Tìm nghiệm | Blog của Chiến
Pingback: Mô hình hóa hiện tượng vật lý bằng MATLAB | Blog của Chiến

markdown:
Trở về
[Mục lục](https://quangchien.wordpress.com/2012/03/16/sach-matlab/#toc) cuốn sách
### Hàm số và tập tin
Đến giờ ta mới chỉ đưa một hàm vào trong mỗi tập tin. Cũng có thể đặt nhiều hàm vào trong một tập tin, nhưng chỉ có hàm đầu tiên,
**hàm cấp cao nhất** mới gọi được từ Command Window. Các **hàm phụ trợ** khác có thể được gọi từ bất kì đâu trong tập tin, nhưng không thể gọi từ tập tin khác.
Những chương trình lớn thường cần đến nhiều hàm; việc giữ tất cả các hàm trong cùng một tập tin tuy tiện lợi, nhưng làm cho việc gỡ lỗi trở nên khó khăn vì bạn không thể gọi các hàm phụ trợ từ Command Window.
Để giúp giải quyết vấn đề này, tôi thường dùng hàm cấp cao nhất để phat triển và thử nghiệm các hàm phụ trợ. Chẳng hạn, tôi có thể tạo ra một tập tin tên là
duck.m và khởi đầu với một hàm cấp cao nhất có tên là
duck mà không nhận vào bất kì biến đầu vào cũng như trả lại bất kì biến đầu ra nào.
Sau đó tôi sẽ viết một hàm có tên là
error_func để lượng giá hàm sai số cho
fzero. Để thử nghiệm
error_func tôi sẽ gọi nó từ
duck rồi gọi
duck từ Command Window.
Bản nháp chương trình đầu tiên của tôi có thể trông như sau:
function res = duck() error = error_func(10) end function res = error_func(h) rho = 0.3; % density in g / cm^3 r = 10; % radius in cm res = h; end
Dòng lệnh
res = h chưa xong, nhưng để phục vụ mục đích thử nghiệm thì từng ấy mã lệnh cũng đủ. Một khi đã hoàn thành và thử nghiệm
error_func, tôi sẽ sửa
duck sao cho nó dùng
fzero.
Ở bài toán này tôi có thể chỉ cần đến hai hàm, nhưng nếu có nhiều hàm hơn, tôi có thể lần lượt viết và thử nghiệm từng hàm một, rồi sau đó kết hợp chúng lại thành một chương trình chạy được.
### Mô hình hóa vật lý
Các ví dụ mà chúng ta đã đề cập đến giờ đều liên quan đến toán học; Bài tập [“bài toán con vịt”], là ví dụ đầu tiên mà chúng ta tìm hiểu một hiện tượng vật lý. Nếu bạn chưa làm bài này, hãy quay lại và ít nhất là đọc kỹ bài toán.
Cuốn sách này được viết về chủ đề
**mô hình hóa vật lý**, vì vậy tôi nên giải thích ý nghĩa của cụm từ trên. Mô hình hóa vật lý là một công đoạn thiết lập những phỏng đoán về các hệ thống vật lý và giải thích biểu hiện của chúng. Một **hệ vật lý** là thứ tồn tại khách quan mà ta cần quan tâm, chẳng hạn như con vịt.
Hình vẽ sau minh họa các bước của quá trình này:
Một
**mô hình** là một dạng biểu diễn được đơn giản hóa cho một hệ vật lý. Quá trình lập một mô hình được gọi là **trừu tượng hóa**. Trong phạm vi bàn đến ở đây, “trừu tượng” ngược nghĩa với “hiện thực;” một mô hình trừu tượng ít có sự tương đồng trực tiếp đến hệ vật lý mà nó mô phỏng, cũng như hội họa trừu tượng không trực tiếp biểu diễn hình ảnh của vạn vật ngoài đời. Một mô hình hiện thực là mô hình bao gồm nhiều chi tiết hơn và tương đồng hơn với thế giới thực.
Sự trừu tượng hóa sẽ dẫn đến việc phải quyết định đúng đắn về việc đưa các yếu tố nào vào mô hình và đơn giản bớt hoặc lược bỏ những yếu tố nào. Chẳng hạn, trong bài toán con vịt, ta xét đến trọng lượng riêng của vịt và lực đẩy nổi của nước, nhưng bỏ qua lực đẩy nổi do không khí và tác động đạp nước của chân vịt. Ta cũng đơn giản hóa hình dạng con vịt bằng cách giả thiết rằng phần con vịt ngập trong nước cũng gần giống một chỏm cầu. Và chúng ta đã sử dụng những ước tính sơ lược về kích thước và khối lượng của con vịt.
Trong số các quyết định giản hóa trên, có cái chấp nhận được. Khối lượng riêng của con vịt cao hơn của không khí rất nhiều nên ảnh hưởng của lực đẩy nổi của không khí có lẽ sẽ rất nhỏ. Những quyết định khác, như hình dạng khối cầu, thì khó chấp nhận hơn, nhưng có ích. Hình dạng thực tế của con vịt rất phức tạp; mô hình khối cầu giúp ta có thể tính được một kết quả gần đúng mà không phải thực hiện đo đạc chi tiết hình dạng của những con vịt thật.
Một mô hình giống thật hơn chưa chắc đã tốt hơn. Mô hình rất có ích vì chúng có thể được phân tích về mặt toán học và mô phỏng về mặt số trị. Các mô hình quá giống thật sẽ khó có thể mô phỏng được và hoàn toàn không thể phân tích được.
Một mô hình được gọi là thành công nếu nó đạt yêu cầu đề ra. Nếu ta chỉ cần một ước đoán rất thô sơ về phần của con vịt ngập trong nước thì mô hình khối cầu cũng là đủ. Nếu ta cần một lời giải chính xác hơn (vì lý do nào đó) thì ta có thể cần đến một mô hình giống thật hơn.
Việc kiểm tra xem một mô hình có đủ tính đúng đắn hay không được gọi là
**thẩm định**. Hình thức chặt chẽ nhất của thẩm định là tiến hành đo trên hệ vật lý và so sánh với kết quả dự đoán của một mô hình.
Nếu điều này không thực hiện được, ta vẫn còn những hình thức thẩm định khác tuy không chặt chẽ bằng. Một hình thức là so sánh nhiều mô hình của cùng một hệ. Nếu chúng không thống nhất thì có biểu hiện là (ít nhất) một trong số các mô hình đó đã sai, và độ lớn của sự khác biệt chính là dấu hiệu về độ tin cậy của những ước tính đó.
Đến giờ chúng ta chỉ thấy được một mô hình vật lý, vì vậy mà một phần của đoạn thảo luận trên vẫn chưa thể làm rõ. Ta sẽ quay trở lại chủ đề này sau, nhưng trước hết cần tìm hiểu thêm về véc-tơ.
### Véc-tơ với vai trò là biến đầu vào
Vì nhiều hàm lập sẵn chấp nhận véc-tơ làm đối số, nên sẽ không có gì lạ khi bạn có thể viết các hàm nhận vào véc-tơ. Sau đây là một ví dụ (ngốc nghếch):
function res = display_vector(X) X end
Chẳng có gì đặc biệt về hàm này cả. Điểm khác biệt duy nhất so với hàm vô hướng mà ta gặp từ trước đó là tôi đã dùng một chữ cái viết in để gợi nhớ rằng
X là một véc-tơ.
Sau đây là một ví dụ khác về một hàm không trả về giá trị nào; nó chỉ hiển thị giá trị của biến đầu vào:
>> display_vector(1:3) X = 1 2 3
Tiếp theo là một ví dụ lý thú hơn, trong đó gói đoạn mã lệnh ở Mục [Rút gọn] để tính tổng các phần tử của một véc-tơ:
function res = mysum(X) total = 0; for i=1:length(X) total = total + X(i); end res = total; end
Tôi gọi nó là
mysum để tránh xung đột tên với hàm lập sẵn
sum, nhưng về công dụng thì hai hàm giống nhau.
Sau đây là cách gọi nó từ Command Window:
>> total = mysum(1:3) total = 6
Vì hàm này có một giá trị trả về nên tôi đã cố ý gán nó cho một biến.
### Véc-tơ đóng vai trò là biến đầu ra
Cũng không có gì sai khi gán véc-tơ cho một biến đầu ra. Sau đây là một ví dụ trong đó gói đoạn mã lệnh ở Mục {apply}:
function res = myapply(X) for i=1:length(X) Y(i) = X(i)^2 end res = Y end
Lý tưởng nhất lẽ ra phải thay đổi tên của biến đầu ra thành
Res, để nhắc rằng nó nhận một giá trị véc-tơ, nhưng tôi đã không làm vậy.
Sau đây là cách dùng
myapply:
>> V = myapply(1:3) V = 1 4 9
Hãy viết một hàm có tên là
find_targetđể gói đoạn lệnh từ Mục [Tìm kiếm], để tìm vị trí của giá trị mong muốn trong một véc-tơ.
### Véc-tơ hóa hàm của bạn
Những hàm tính trên véc-tơ thường cũng dùng được với các số vô hướng, vì MATLAB coi rằng số vô hướng là véc-tơ có chiều dài bằng 1.
>> mysum(17) ans = 17 >> myapply(9) ans = 81
Không may là, điều còn lại không phải luôn đúng. Nếu bạn viết một hàm để tính cho đầu vào là số vô hướng, thì nó có thể không dùng được cho véc-tơ.
Nhưng có trường hợp vẫn được! Nếu các toán tử và hàm bạn dùng trong thân hàm có thể tính được với véc-tơ thì hàm của bạn sẽ tính được cho véc-tơ.
Chẳng hạn, sau đây chính là hàm đầu tiên mà ta viết:
function res = myfunc (x) s = sin(x) c = cos(x) res = abs(s) + abs(c) end
Này! Nó làm việc được với véc-tơ đấy:
>> Y = myfunc(1:3) Y = 1.3818 1.3254 1.1311
Đến đây, tôi muốn dừng lại một chút để thừa nhận rằng tôi đã khắt khe một chút khi trình bày về MATLAB, vì có một số đặc điểm mà tôi nghĩ đã làm khó người mới học một cách không cần thiết. Nhưng rồi cuối cùng, ở đây ta thấy được những đặc điểm chứng tỏ sức mạnh của MATLAB.
Một số hàm khác ta đã viết lại không dùng được với véc-tơ, nhưng chúng có thể sửa được dễ dàng. Chẳng hạn, có hàm
hypotenuse từ Mục {hypotenuse}:
function res = hypotenuse(a, b) res = sqrt(a^2 + b^2); end
Hàm này không tính được với véc-tơ vì toán tử
^ dành cho phép lũy thừa ma trận, và chỉ tính cho các ma trận vuông.
>> hypotenuse(1:3, 1:3) ??? Error using ==> mpower Matrix must be square.
Nhưng nếu bạn thay thế
^ bởi toán tử tính theo phần tử
.^, nó lại chạy được!
>> A = [3,5,8]; >> B = [4,12,15]; >> C = hypotenuse(A, B) C = 5 13 17
Ở trường hợp này, nó ghép cặp các phần tử tương ứng từ hai véc-tơ đầu vào, nên các phần tử của
C là độ dài cạnh huyền lần lượt của các cặp (3, 4), (5, 12) and (8, 15).
Nói chung, nếu bạn muốn viết một hàm trong đó chỉ dùng các toán tử theo phần tử và các hàm làm việc trên véc-tơ, thì hàm mới viết cũng sẽ làm việc được với véc-tơ.
### Tổng và hiệu
Một phép toán với véc-tơ quan trọng khác là
**tổng lũy tích**, vốn nhận một véc-tơ đầu vào và tính một véc-tơ mới gồm tất cả các tổng thành phần của véc-tơ ban đầu. Theo kí hiệu toán, nếu *V* là véc-tơ ban đầu, thì các phần tử của tổng lũy tích, *C*, là: *C* = ∑ i *j*= 1 *i* *V* *j*
Nói cách khác, phần tử thứ
*i* của *C* là tổng của *i* phần tử đầu tiên trong *V*. MATLAB cung cấp một hàm có tên là
cumsum để tính tổng lũy tích:
>> V = 1:5 V = 1 2 3 4 5 >> C = cumsum(V) C = 1 3 6 10 15
Hãy viết một hàm có tên là
cumulative_sumtrong đó dùng một vòng lặp để tính tổng lũy tích của véc-tơ đầu vào.
Phép tính ngược với
cumsum là
diff, vốn tính hiệu giữa các phần tử kế tiếp trong véc-tơ đầu vào.
>> D = diff(C) D = 2 3 4 5
Lưu ý rằng véc-tơ đầu ra ngắn hơn 1 phần tử so với véc-tơ đầu vào. Vì vậy, phiên bản
diff trong MATLAB không thật sự là hàm ngược của
cumsum. Nếu là hàm ngược thì ta đã có thể trông đợi
cumsum(diff(X)) bằng
X:
>> cumsum(diff(V)) ans = 1 2 3 4
Nhưng nó đã không thỏa mãn điều kiện trên.
Hãy viết một hàm
mydiffđể tính nghịch đảo của
cumsum, sao cho cả
cumsum(mydiff(X))và
mydiff(cumsum(X))đều trả lại
X.
### Tích và thương
Dạng phép nhân của
cumsum là
cumprod, dùng để tính
**tích số lũy tích**. Theo kí hiệu toán học thì: *P* = ∏ i *j*=1 *i* *V* *j*
Trong MATLAB, hàm đó như sau:
>> V = 1:5 V = 1 2 3 4 5 >> P = cumprod(V) P = 1 2 6 24 120
Hãy viết một hàm tên là
cumulative_prodtrong đó dùng vòng lặp để tính tích số lũy tích từ véc-tơ đầu vào.
MATLAB không cung cấp một phiên bản phép nhân tương ứng với
diff, mà lẽ ra đã có tên
ratio, để tính tỉ số giữa các phần tử kế tiếp nhau trong véc-tơ đầu vào.
Hãy viết một hàm tên là
myratiođể tính nghịch đảo của
cumprod, sao cho cả
cumprod(myratio(X))và
myratio(cumprod(X))đều trả lại
X.
Bạn có thể dùng một vòng lặp, hoặc nếu khéo hơn, có thể lợi dụng hệ thức
e ln= a+ ln b a b.
Nếu áp dụng
myratiocho một véc-tơ có chứa các số Fibonacci, bạn có thể khẳng định được rằng tỉ số giữa các phần tử kế tiếp nhau hội tụ về tỉ số vàng, $(1+\sqrt{5})/2$ (xem Bài tập {fibratio}).
### Kiểm tra sự tồn tại
Đôi khi ta phải kiểm tra các phần tử của một véc-tơ xem nếu có bất kì phần tử nào thỏa mãn một điều kiện cho trước hay không. Chẳng hạn, bạn muốn biết rằng có phần tử số dương trong véc-tơ hay không. Theo logic học, điều kiện này được gọi là
**kiểm tra sự tồn tại**, và nó được kí hiệu bởi dấu ∃ , đọc là “tồn tại.” Chẳng hạn, biểu thức sau
∃
*x* thuộc *S*: *x* > 0
nghĩa là “tồn tại phần tử
*x* nào đó trong tập hợp *S* sao cho *x* > 0.” Trong MATLAB, ý này có thể được thể hiện tự nhiên bằng một hàm logic như
exists, vốn trả lại 1 nếu có phần tử như vậy và 0 nếu không có.
function res = exists(X) for i=1:length(X) if X(i) > 0 res = 1; return end end res = 0; end
Trước đây chưa bắt gặp lệnh
return; nó tương tự như
break, chỉ khác là nó thoát khỏi cả hàm chứ không chỉ vòng lặp. Điều đó rất cần đến trong trường hợp này vì ngay khi tìm được một phần tử dương, ta biết được câu trả lời (có tồn tại!) và có thể kết thúc hàm lập tức mà không cần xét đến các phần tử còn lại.
Nếu ta thoát ở cuối vòng lặp, điều đó nghĩa là ta không thể tìm thấy giá trị mong muốn (vì nếu có, ta đã gặp lệnh
return).
### Kiểm tra sự toàn vẹn
Một phép toán véc-tơ thường gặp khác là kiểm tra xem
*tất cả* các phần tử có cùng thỏa mãn một điều kiện không; nó được gọi là **kiểm tra sự toàn vẹn** và được kí hiệu bằng dấu ∀ và được đọc là “với mọi.” Vì vậy biểu thức này
∀
*x* thuộc *S*: *x* > 0
có nghĩa là “với mọi phần tử
*x* trong tập hợp *S*, *x* > 0.”
Một cách khá ngốc nghếch để lượng giá biểu thức này trong MATLAB là đếm số phần tử thỏa mãn điều kiện trên. Một cách tốt hơn là rút gọn bài toán về kiểm tra sự tồn tại; nghĩa là viết lại
∀
*x* thuộc *S*: *x* > 0
theo dạng
∼ ∃
*x* thuộc *S*: *x* ≤ 0
Trong đó ∼ ∃ nghĩa là “không tồn tại.” Nói cách khác, kiểm tra để đảm bảo tất cả các phần tử phải dương thì cũng như kiểm tra điều ngược lại, có tồn tại phần tử không dương.
Hãy viết một hàm có tên
forallnhận vào một véc-tơ và trả lại giá trị 1 nếu tất cả các phần tử đều dương và 0 nếu có bất kì phần tử nào không dương.
### Véc-tơ logic
Khi áp dụng một toán tử logic cho một véc-tơ, kết quả là một
**véc-tơ logic**; nghĩa là một véc-tơ trong đó các phần tử đều là những giá trị logic 1 và 0.
>> V = -3:3 V = -3 -2 -1 0 1 2 3 >> L = V>0 L = 0 0 0 0 1 1 1
Ở ví dụ này,
L là véc-tơ logic có các phần tử tương ứng với các phần tử của
V. Với mỗi phần tử dương của
V, phần tử tương ứng của
L bằng 1.
Véc-tơ logic có thể được dùng như
*cờ* để lưu giữ trạng thái của một điều kiện. Chúng thường được dùng với hàm
find, vốn nhận vào một véc-tơ logic và trả lạ một véc-tơ bao gồm các chỉ số của những phần tử “đúng.”
Áp dụng
find vào
L ta được
>> find(L) ans = 5 6 7
nghĩa là các phần tử thứ 5, 6 và 7 có giá trị bằng 1.
Nếu không có phần tử “đúng” nào, kết quả sẽ là véc-tơ rỗng.
>> find(V>10) ans = Empty matrix: 1-by-0
Ví dụ này tính toán véc-tơ logic và truyền nó làm đối số cho
find mà không gán nó vào một biến trung gian. Bạn có thể đọc đoạn mã lệnh này theo cách trừu tượng là “tìm tất cả những chỉ số của các phần tử trong
V có giá trị lớn hơn 10.”
Bạn cũng có thể dùng
find để viết lại
exists cho gọn hơn:
function res = exists(X) L = find(X>0) res = length(L) > 0 end
Hãy viết một phiên bản của
forallcó dùng
find.
### Thuật ngữ
- hàm cấp cao nhất:
- Hàm đầu tiên trong một tập tin M; là hàm duy nhất có thể gọi đến từ Command Window hoặc từ một tập tin khác.
- hàm phụ trợ:
- Hàm trong tập tin M nhưng không phải hàm cấp cao nhất; nó chỉ có thể được gọi từ một hàm khác trong cùng tập tin.
- mô hình hóa vật lý:
- Quá trình đưa ra phỏng đoán về các hệ vật lý cũng như giải thích biểu hiện của chúng.
- hệ vật lý:
- Thứ tồn tại trong thế giới thực mà chúng ta quan tâm nghiên cứu.
- mô hình :
- Sự mô tả được đơn giản hóa của hệ vật lý, rất thích hợp cho việc phân tích và mô phỏng.
- trừu tượng hóa:
- Quá trình xây dựng một mô hình bằng cách quyết định những yếu tố nào cần được giản hóa hoặc lược bỏ.
- thẩm định:
- Kiểm tra xem mô hình có đạt yêu cầu sử dụng hay không.
- kiểm tra sự tồn tại:
- Một điều kiện logic nhằm diễn đạt ý “có tồn tại” một phần tử thỏa mãn một thuộc tính nhất định trong tập hợp cho trước.
- kiểm tra sự toàn vẹn:
- Một điều kiện logic nhằm diễn đạt ý tất cả các phần tử trong tập hợp đều có chung một thuộc tính nhất định.
- véc-tơ logic:
- Một véc-tơ gồm các giá trị logic 1 hoặc 0, thường là kết quả của phép áp dụng một toán tử logic vào một véc-tơ ban đầu.
## 4 responses to “
Chương 7: Hàm số của véc-tơ”
Pingback: Chương 1. Các biến và giá trị | Blog của Chiến
Pingback: Chương 11: Tối ưu hóa và nội suy | Blog của Chiến
Pingback: Chương 6: Tìm nghiệm | Blog của Chiến
Pingback: Mô hình hóa hiện tượng vật lý bằng MATLAB | Blog của Chiến


text:
sanaky vh-308k3
-
Bảng
-
Danh sách
Xem tất cả 1 kết quả
- Bảng
- Danh sách
Xem tất cả 1 kết quả
- desktop-columns-4 tablet-columns-3 mobile-columns-1
-
- 15%
Tủ mát Inverter Sanaky VH-308K3
10.250.000₫
Có sẵn: Còn hàngHết hàng
INVERTER siêu tiết kiệm điện
Dung tích 300 lít
Kính hai lớp với công nghệ sưởi hiện đại.
Dàn lạnh nhôm
Lốc máy nén khí PANASONIC bền bỉ
Đèn chiếu sáng dọc bên hông tủ.

markdown:
# sanaky vh-308k3
-
Bảng
-
Danh sách
Xem tất cả 1 kết quả
- Bảng
- Danh sách
Xem tất cả 1 kết quả
- desktop-columns-4 tablet-columns-3 mobile-columns-1
-
- 15%
[Tủ mát Inverter Sanaky VH-308K3](https://sanakyvietnam.net/san-pham/tu-mat-inverter-sanaky-vh-308k3/) ~~10.250.000₫~~
Có sẵn: Còn hàngHết hàng
**INVERTER**siêu tiết kiệm điện
Dung tích 300 lít
Kính hai lớp với công nghệ sưởi hiện đại.
Dàn lạnh nhôm
Lốc máy nén khí
**PANASONIC**bền bỉ
Đèn chiếu sáng dọc bên hông tủ.

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

WARC-Identified-Payload-Type: text/html

Server: LiteSpeed

Connection: close

Pragma: no-cache

Accept-Ranges: bytes

X-Frame-Options: SAMEORIGIN

Cache-Control: private, must-revalidate

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


text:
Flaxseed Oil 1000mg giúp cân bằng các axit béo omega 3, 6, 9 trong cơ thể, giúp cơ thể chống lại quá trình oxy hóa da, làm trẻ hóa làn da, tăng cường tái tạo da và làm giảm mẩn đỏ, giảm viêm, hỗ trợ sức khoẻ tim và hệ thống tim mạch, giúp da và tóc khỏe mạnh. Sở dĩ dầu hạt lanh có được những công dụng nêu trên là bởi chúng được chiết xuất từ hạt của quả lanh nguyên chất, có mùi thơm, vị ngọt, có độ bay hơi chậm, bóng, lâu khô… được khoa học chứng minh chứa một hàm lượng cao đến bất ngờ của Omega-3 là giải pháp bổ sung axit béo toàn diện cho cơ thể.
Thành phần
- Mỗi viên nang Flaxseed Oil 1000mg: Dầu hạt lanh (Flaxseed Oil) 1g (1000mg) (có chứa 600mg axit Linolenic). Không thêm đường, nấm men, gluten, lúa mì, ngô, các dẫn xuất sữa, chất bảo quản, màu nhân tạo, hương vị hoặc chất ngọt.
Công dụng của Sundown Flaxseed Oil 1000mg
- Dầu hạt lanh có chứa lượng axit béo thiết yếu gồm axit béo omega 3, 6, 9 nhiều hơn nhiều lần so với dầu cá (fish oil). Dầu hạt lanh còn chứa nhiều các loại vitamin như vitamin nhóm B, vitamin E, và carotene (một dạng vitamin A), khoáng chất như magie, phốt pho, kali và canxi.
- Dầu hạt lanh còn chứa lượng axit béo Alpha-Linolenic (ALA) rất cần thiết cho cơ thể để chuyển hoá thành axit eicosapentaenoic (EPA) và axit docosahexaenoic (DHA).
Giúp cân bằng các axit béo omega 3, 6, 9 trong cơ thể, giúp cơ thể chống lại quá trình ôxy hóa da, làm trẻ hóa làn da đồng thời giúp tăng cường tái tạo da và làm giảm mẩn đỏ, giảm viêm.
- Hỗ trợ sức khoẻ tim và hệ thống tim mạch cho bạn cuộc sống luôn vui tươi, khỏe mạnh.
- Giúp da và tóc khỏe mạnh, tươi trẻ.
Hướng dẫn sử dụng
Người lớn
+ Muốn bổ sung các axit béo thiết yếu: Uống 1 - 2 viên mỗi lần, 3 lần mỗi ngày hoặc theo chỉ dẫn của bác sĩ.
+ Sử dụng như một loại thuốc chống viêm: Uống 2 - 4 viên mỗi lần, 3 lần mỗi ngày hoặc theo chỉ dẫn của bác sĩ.
Trẻ em 6- 12 tuổi: Uống 1 - 2 viên mỗi lần (uống kèm nước hoặc nước trái cây), hoặc theo chỉ dẫn của bác sĩ.
Trẻ em dưới 6 tuổi: Chỉ sử dụng khi có chỉ định của bác sĩ.
Hướng dẫn bảo quản: bảo quản nơi khô ráo thoáng mát, đậy chặt nắp sau khi sử dụng.
Nguon : https://www.sundownnaturals.com/products/flaxseedoil1000mg-100/
Các sản phẩm tại cửa hàng Sức Khỏe Xanh được nhập khẩu từ Mỹ, Úc, Ấn Độ...được kiểm tra, kiểm định đúng chất lượng, đảm bảo tự nhiên và an toàn cho sức khỏe.
Hãy đến cửa hàng Sức Khỏe Xanh chúng tôi để được chuyên gia dinh dưỡng tư vấn MIỄN PHÍ cách sử dụng các loại hạt và thực phẩm sạch hiệu quả cho sức khỏe của bạn và gia đình bạn
Cửa hàng Sức Khỏe Xanh hân hạnh phục vụ quý khách!

markdown:
Flaxseed Oil 1000mg giúp cân bằng các axit béo omega 3, 6, 9 trong cơ thể, giúp cơ thể chống lại quá trình oxy hóa da, làm trẻ hóa làn da, tăng cường tái tạo da và làm giảm mẩn đỏ, giảm viêm, hỗ trợ sức khoẻ tim và hệ thống tim mạch, giúp da và tóc khỏe mạnh. Sở dĩ dầu hạt lanh có được những công dụng nêu trên là bởi chúng được chiết xuất từ hạt của quả lanh nguyên chất, có mùi thơm, vị ngọt, có độ bay hơi chậm, bóng, lâu khô… được khoa học chứng minh chứa một hàm lượng cao đến bất ngờ của Omega-3 là giải pháp bổ sung axit béo toàn diện cho cơ thể.
Thành phần
- Mỗi viên nang Flaxseed Oil 1000mg: Dầu hạt lanh (Flaxseed Oil) 1g (1000mg) (có chứa 600mg axit Linolenic). Không thêm đường, nấm men, gluten, lúa mì, ngô, các dẫn xuất sữa, chất bảo quản, màu nhân tạo, hương vị hoặc chất ngọt.
## Công dụng của Sundown Flaxseed Oil 1000mg
- Dầu hạt lanh có chứa lượng axit béo thiết yếu gồm axit béo omega 3, 6, 9 nhiều hơn nhiều lần so với dầu cá (fish oil). Dầu hạt lanh còn chứa nhiều các loại vitamin như vitamin nhóm B, vitamin E, và carotene (một dạng vitamin A), khoáng chất như magie, phốt pho, kali và canxi.
- Dầu hạt lanh còn chứa lượng axit béo Alpha-Linolenic (ALA) rất cần thiết cho cơ thể để chuyển hoá thành axit eicosapentaenoic (EPA) và axit docosahexaenoic (DHA).
Giúp cân bằng các axit béo omega 3, 6, 9 trong cơ thể, giúp cơ thể chống lại quá trình ôxy hóa da, làm trẻ hóa làn da đồng thời giúp tăng cường tái tạo da và làm giảm mẩn đỏ, giảm viêm.
- Hỗ trợ sức khoẻ tim và hệ thống tim mạch cho bạn cuộc sống luôn vui tươi, khỏe mạnh.
- Giúp da và tóc khỏe mạnh, tươi trẻ.
## Hướng dẫn sử dụng
Người lớn
+ Muốn bổ sung các axit béo thiết yếu: Uống 1 - 2 viên mỗi lần, 3 lần mỗi ngày hoặc theo chỉ dẫn của bác sĩ.
+ Sử dụng như một loại thuốc chống viêm: Uống 2 - 4 viên mỗi lần, 3 lần mỗi ngày hoặc theo chỉ dẫn của bác sĩ.
Trẻ em 6- 12 tuổi: Uống 1 - 2 viên mỗi lần (uống kèm nước hoặc nước trái cây), hoặc theo chỉ dẫn của bác sĩ.
Trẻ em dưới 6 tuổi: Chỉ sử dụng khi có chỉ định của bác sĩ.
Hướng dẫn bảo quản: bảo quản nơi khô ráo thoáng mát, đậy chặt nắp sau khi sử dụng.
Nguon : https://www.sundownnaturals.com/products/flaxseedoil1000mg-100/
Các sản phẩm tại cửa hàng
* được nhập khẩu từ Mỹ, Úc, Ấn Độ...được kiểm tra, kiểm định đúng chất lượng, đảm bảo tự nhiên và an toàn cho sức khỏe. Sức Khỏe Xanh*
Hãy đến cửa hàng
* chúng tôi để được chuyên gia dinh dưỡng tư vấn Sức Khỏe Xanh* **MIỄN PHÍ**cách sử dụng các loại hạt và thực phẩm sạch hiệu quả cho sức khỏe của bạn và gia đình bạn *Cửa hàng Sức Khỏe Xanh hân hạnh phục vụ quý khách!*

WARC-Identified-Payload-Type: application/xhtml+xml

X-Content-Type-Options: nosniff

Cache-Control: no-cache, pre-check=0, post-check=0

Vary: Accept-Encoding,User-Agent

Set-Cookie: nv3_nvvithemever=mw%2C%2C; expires=Tue, 12-Mar-2019 09:51:51 GMT; Max-Age=31104000; path=/; domain=.suckhoexanh.vn; httponly

X-XSS-Protection: 1; mode=block

Content-Language: vi

Content-Type: text/html; charset=utf-8


text:
Android 8.1 của Google có thể sẽ trang bị thêm tính năng cảnh báo các ứng dụng ngốn pin, đồng thời hướng dẫn họ xử lý các vấn đề gây nên hao tốn này.
Một trong những thách thức lớn nhất đối với tuổi thọ pin trên các thiết bị Android trong những năm qua là wakelock. Đây là một cơ chế quản lý pin, có thể sử dụng bởi những ứng dụng khác làm cho CPU luôn hoạt động. Điều này đồng nghĩa với việc điện thoại không thể rơi vào tình trạng ngủ sâu mà vẫn phải duy trì một lượng pin cần thiết.
Đã có nhiều ứng dụng của các bên thứ ba nhằm phát hiện và phá vỡ các wakelock, và có vẻ như Google cũng đang tham gia vào cuộc chạy đua này.
Người dùng trên Twitter (thông qua Android Police) đã báo cáo rằng Android 8.1 Developer Preview mới nhất sẽ có thêm tính năng cảnh báo về các ứng dụng gây nên sự tốn pin không cần thiết. Cảnh báo xuất hiện trong phần cài đặt về pin. Những ứng dụng nào có khả năng gây ra hao tốn pin sẽ có biểu tượng pin màu đỏ. Khi chạm vào biểu tượng này, người dùng sẽ được hướng dẫn để khắc phục sự cố hao tốn pin như tắt dữ liệu vị trí của nó.
Tuy nhiên, sẽ không có gì chắc chắn về việc tính năng này sẽ xuất hiện trong Android 8.1 khi nó phát hành ra với công chúng. Trước đó, Google cũng đã có những tính năng cho người dùng xem trước các dịch vụ của nhà phát triển và họ có thể xóa chúng đi trước khi chính thức ra mắt. Tuy nhiên, điều này cũng ít nhiều thể hiện sự nỗ lực của Google nhằm cung cấp cho người dùng nhiều thông tin hơn và kiểm soát điện thoại của họ tốt hơn.
Google từ lâu đã cố gắng để cải thiện tuổi thọ pin với các sáng kiến như Doze, nhưng với cải tiến mới này sẽ giúp họ đi một bước xa hơn.

Server: cloudflare

X-Permitted-Cross-Domain-Policies: master-only

Set-Cookie: __cfduid=d10779e7900e42ec979db7b3b878c66571521282182; expires=Sun, 17-Mar-19 10:23:02 GMT; path=/; domain=.thongtin.edu.vn; HttpOnly

X-Content-Security-Policy: allow 'self';

X-Turbo-Charged-By: LiteSpeed

X-LiteSpeed-Cache: hit


text:
Tin bán xe
Đăng tin
Đăng nhập
Đăng ký
Tin tức
Đánh giá xe
Kinh nghiệm
Tìm kiếm
Bán xe Hyundai Santa Fe
2002
(5)
2003
(44)
2004
(62)
2005
(35)
2006
(19)
2007
(80)
2008
(285)
2009
(176)
2010
(53)
2011
(47)
2012
(33)
2013
(23)
2015
(884)
Từ khóa nổi bật
Bán xe Hyundai Accent
Bán xe Hyundai County
Bán xe Hyundai Getz
Bán xe Hyundai HD
Bán xe Hyundai i10
Bán xe Hyundai i20
Bán xe Hyundai i30
Bán xe Hyundai Santa Fe
Bán xe Hyundai Sonata
Bán xe Hyundai Tucson
Bán xe theo khoảng giá
>100 triệu
100-150 triệu
150-200 triệu
200-250 triệu
250-300 triệu
300-350 triệu
350-400 triệu
400-450 triệu
450-500 triệu
500-550 triệu
550-600 triệu
600-700 triệu
700-900 triệu
900-1 tỷ
1-1,5 tỷ
1,5-2 tỷ
2-2,5 tỷ
2,5-3 tỷ
trên 3 tỷ
Có thể bạn quan tâm
Hyundai SantaFe
Hyundai SantaFe 2018
Hyundai SantaFe 2017
Đánh giá xe Toyota Camry 2018
Kia Forte 2017
Lexus RX 2018
BMW M4 2017
Đánh giá xe Ford Focus 2017
Kiểu hiển thị :
Danh sách tin rao
Bán xe ô tô Hyundai Santa Fe tại Đà Nẵng
Có
88
tin
Tất cả
Tin rao có hình
Tin rao mới đến cũ
"Cực Hot tháng 4" Hyundai Santa Fe Đà Nẵng, xe nhập, hỗ trợ vay 90% giá trị xe, liên hệ Ngọc Sơn: 0911.377.773
898 triệu
15/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0911377773
Ngọc sơn
Bán ô tô Hyundai Santa Fe mới đời 2017, màu trắng - LH Ngọc Sơn: 0911.377.773
898 triệu
13/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0911377773
Nguyễn Sơn
Bán xe Santa Fe 2018 Đà Nẵng, xe SUV, LH 24/7: 0935.536.365 – Trọng Phương, hỗ trợ giao xe tận nhà
898 triệu
13/03/2018
Tình trạng
: Mới
Xuất xứ
: Trong nước
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0935536365
Trọng Phương
Bán xe Santa Fe Đà Nẵng, LH 24/7: 0935.536.365 – Trọng Phương, hỗ trợ vay 80% giá trị xe
898 triệu
13/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0935536365
Trọng Phương
Cần bán Hyundai Santa Fe đời 2018, màu trắng, nhập khẩu nguyên chiếc, giá tốt
898 triệu
09/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905976950
0905976950
Cần bán xe Hyundai Santa Fe năm 2018, màu nâu, nhập khẩu nguyên chiếc
898 triệu
09/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905976950
0905976950
Khuyến mãi Hyundai Santa Fe 2018 Đà Nẵng, LH: Trọng Phương - 0935.536.365, hỗ trợ vay 80%
898 triệu
06/03/2018
Tình trạng
: Mới
Xuất xứ
: Trong nước
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0935536365
TRỌNG PHƯƠNG
Bán ô tô Hyundai Santa Fe đời 2018 Đà Nẵng, LH: Trọng Phương - 0935.536.365 - Hỗ trợ vay 80% giá trị xe
898 triệu
05/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905699660
0905699660
Hyundai Santa Fe 2018 Đà Nẵng, màu trắng, LH: Trọng Phương - 0935.536.365
898 triệu
05/03/2018
Tình trạng
: Mới
Xuất xứ
: Trong nước
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905699660
Huynhdai Sông Hàn
Giá xe Hyundai Santa Fe 2018 Đà Nẵng, LH: Trọng Phương - 0935.536.365
898 triệu
05/03/2018
Tình trạng
: Mới
Xuất xứ
: Trong nước
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905699660
Huynhdai Sông Hàn
Bán Hyundai Santa Fe đời 2018, màu bạc, nhập khẩu nguyên chiếc. Hotline: 0905.976.950
898 triệu
05/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905976950
Tấn HSH
Bán Hyundai Santa Fe đời 2018, màu nâu, xe nhập. Hotline: 0905.976.950
898 triệu
05/03/2018
Tình trạng
: Mới
Xuất xứ
: Nhập khẩu
Hộp số
: Số tự động
Tỉnh/TP
:
Đà Nẵng
0905976950
Tấn HSH
Trang
Site map
Liên hệ
Trang chủ
Công ty TNHH CAROBEN
Tầng 17, DMC Tower, Kim Mã, Ba Đình, Hà Nội
+8435 231014
Hỗ trợ trực tuyến
Yahoo
Skype
Tin đã lưu

Cache-Control: private


text:
Tại thị trường Nga, Lada XRAY Exclusive có giá khởi điểm từ 805.900 Ruble (tương đương khoảng 309 triệu đồng).
AvtoVAZ, hãng xe lớn nhất nước Nga vừa công bố phiên bản giới hạn của mẫu xe giá rẻ Lada XRAY Exclusive dành cho thị trường quê nhà.
Với giá bán dao động từ 805.900 RUB đến 830.900 RUB (tương đương khoảng 309 triệu đồng đến 318,7 triệu đồng). Nhà sản xuất sẽ bắt đầu nhận đơn đặt hàng bắt đầu từ hôm nay, ngày 21/7.
Trước đây giới truyền thông tại Nga đã gọi Lada XRAY là “Range Rover Evoque của Nga”. Sở dĩ Lada XRAY có tên gọi như vậy vì đây là sản phẩm tâm huyết của Giám đốc thiết kế Steve Mattin từng làm việc cho Mercedes-Benz và Volvo.
Lada XRAY Exclusive có chiều dài 4.164 mm, rộng 1.764 mm, cao 1.570 mm và có chiều dài cơ sở là 2.592 mm. Khoảng sáng gầm xe 195 mm.
Thiết kế của Lada XRAY Exclusive mang đậm phong cách thể thao off-road khi thân xe nổi bật với các đường gân dập nổi, góc cạnh. Cụm đèn pha LED lớn, khe hút gió lớn, mạ nạ dạng hình chữ X uốn lượn, đèn sương mù dạng gương cầu lồi nằm trên hốc hút gió ở cản trước. Bộ mâm hợp kim dạng đa chấu kích thước 17 inch.
Ở bên trong, bản giới hạn với không gian nội thất màu đen kết hợp màu be khá bắt mắt, ghế ngồi bọc da Alcantara, vô-lăng bọc da bao bọc bởi các đường chỉ khâu, điều hòa hai vùng độc lập, các phím chức năng tập trung ở chính giữa khu vực bảng táp-lô, bàn đạp phanh làm bằng thép không gỉ…
Trang bị công nghệ gồm hệ thống phản ứng khẩn cấp ERA-GLONASS, camera lùi, hệ thống màn hình cảm ứng với điều hướng mang lại cảm giác thoải mái cho người sử dụng.
Dòng chữ “Exclusive” xuất hiện ở khắp nơi trên phiên bản đặc biệt của Lada XRAY, từ đuôi xe, bậc cửa đến nội thất bên trong. Có vẻ như hãng Lada không muốn khách hàng quên đây là phiên bản đặc biệt của XRAY.
Xray Exclusive sử dụng động cơ xăng 4 xi-lanh, dung tích 1.8 lít, sản sinh công suất 122 mã lực, đi kèm hộp số tay 5 tốc độ hoặc 5 tốc độ AMT. Mức tiêu hao nhiên liệu theo công bố trung bình 6.8L/100 km.

markdown:
**Tại thị trường Nga, Lada XRAY Exclusive có giá khởi điểm từ 805.900 Ruble (tương đương khoảng 309 triệu đồng).**
AvtoVAZ, hãng xe lớn nhất nước Nga vừa công bố phiên bản giới hạn của mẫu xe giá rẻ Lada XRAY Exclusive dành cho thị trường quê nhà.
Với giá bán dao động từ 805.900 RUB đến 830.900 RUB (tương đương khoảng 309 triệu đồng đến 318,7 triệu đồng). Nhà sản xuất sẽ bắt đầu nhận đơn đặt hàng bắt đầu từ hôm nay, ngày 21/7.
Trước đây giới truyền thông tại Nga đã gọi Lada XRAY là “Range Rover Evoque của Nga”. Sở dĩ Lada XRAY có tên gọi như vậy vì đây là sản phẩm tâm huyết của Giám đốc thiết kế Steve Mattin từng làm việc cho Mercedes-Benz và Volvo.
Lada XRAY Exclusive có chiều dài 4.164 mm, rộng 1.764 mm, cao 1.570 mm và có chiều dài cơ sở là 2.592 mm. Khoảng sáng gầm xe 195 mm.
Thiết kế của Lada XRAY Exclusive mang đậm phong cách thể thao off-road khi thân xe nổi bật với các đường gân dập nổi, góc cạnh. Cụm đèn pha LED lớn, khe hút gió lớn, mạ nạ dạng hình chữ X uốn lượn, đèn sương mù dạng gương cầu lồi nằm trên hốc hút gió ở cản trước. Bộ mâm hợp kim dạng đa chấu kích thước 17 inch.
Ở bên trong, bản giới hạn với không gian nội thất màu đen kết hợp màu be khá bắt mắt, ghế ngồi bọc da Alcantara, vô-lăng bọc da bao bọc bởi các đường chỉ khâu, điều hòa hai vùng độc lập, các phím chức năng tập trung ở chính giữa khu vực bảng táp-lô, bàn đạp phanh làm bằng thép không gỉ…
Trang bị công nghệ gồm hệ thống phản ứng khẩn cấp ERA-GLONASS, camera lùi, hệ thống màn hình cảm ứng với điều hướng mang lại cảm giác thoải mái cho người sử dụng.
Dòng chữ “Exclusive” xuất hiện ở khắp nơi trên phiên bản đặc biệt của Lada XRAY, từ đuôi xe, bậc cửa đến nội thất bên trong. Có vẻ như hãng Lada không muốn khách hàng quên đây là phiên bản đặc biệt của XRAY.
Xray Exclusive sử dụng động cơ xăng 4 xi-lanh, dung tích 1.8 lít, sản sinh công suất 122 mã lực, đi kèm hộp số tay 5 tốc độ hoặc 5 tốc độ AMT. Mức tiêu hao nhiên liệu theo công bố trung bình 6.8L/100 km.

X-Rocket-Nginx-Serving-Static: No

Set-Cookie: __cfduid=dcec431942bb9542a2740e33526bad53d1521283322; expires=Sun, 17-Mar-19 10:42:02 GMT; path=/; domain=.tintaynguyen.com; HttpOnly


text:
Lắc tay cặp tình nhân LTC03 của winz là sản phẩm được làm bằng chất liệu inox không rỉ, không phai màu được thiết kế rất tinh xảo và độc đáo.
Lắc tay của nữ và nam có đính 1 viên đá lấp lánh tạo cho bạn một phong cách trẻ trung, dịu dàng và sang trọng.
+ CHIỀU DÀI LẮC TAY:
- LẮC TAY NỮ: DÀI 20 CM
- LẮC TAY NAM: DÀI 23 CM
- Chất liệu chính: INOX
- Màu: ĐEN (của nam), ĐỒNG (của nữ)
- Thiết kế mang phong cách Hàn Quốc
- Mẫu mã thịnh hành theo trào lưu
- Chất liệu trang sức cao cấp, tôn vinh lên vẻ đẹp của bạn
- Kiểu dáng tinh tế, dễ dàng phối hợp với nhiều trang phục
- Quà tặng ý nghĩa và độc đáo dành cho các đôi tình nhân.

markdown:
**Lắc tay cặp tình nhân LTC03** của winz là sản phẩm được làm bằng chất liệu inox không rỉ, không phai màu được thiết kế rất tinh xảo và độc đáo.
**Lắc tay của nữ** ** và nam** có đính **1 viên đá lấp lánh** tạo cho bạn một phong cách trẻ trung, dịu dàng và sang trọng.
**+ CHIỀU DÀI LẮC TAY:**
**- LẮC TAY NỮ: DÀI 20 CM** **- LẮC TAY NAM: DÀI 23 CM**
- Chất liệu chính:
**INOX**
- Màu:
**ĐEN (của nam), ĐỒNG (của nữ)**
- Thiết kế mang phong cách Hàn Quốc
- Mẫu mã thịnh hành theo trào lưu
- Chất liệu trang sức cao cấp, tôn vinh lên vẻ đẹp của bạn
- Kiểu dáng tinh tế, dễ dàng phối hợp với nhiều trang phục
- Quà tặng ý nghĩa và độc đáo dành cho các đôi tình nhân.

X-Cache: miss

P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"

X-Page: product-detail

Set-Cookie: _orig_referrer=; expires=Sun, 01-Apr-2018 10:37:10 GMT; path=/; HttpOnly


text:
Địa điểm gần đầm Vân Long. Bài trí nội và ngoại thất hợp lý. Có hồ bơi trong nhà nước ấm nhưng hơi cạn. Nhà hàng giá tương đối cao, chất lượng khá. Spa 21giờ thì đóng của. Nhân viên nếu so ở Ninh Bình...Thêm
Có cơ hội lưu trú 2 đêm vào tháng 6, vị trí xa trung tâm, đi lại hơi bất tiện, cũng khó để tìm được chỗ thuê xe hay ăn uống ở khu vực xung quanh.Cơ sở vật chất tốt, phòng thoáng, sạch sẽ. Ăn...Thêm
khu nghi duong Emeralda dich vu rat chuyen nghiep. Nhan vien niem no, chieu long khach nghi duong.
tuy nhien, 1 vai diem can luu y:
- chi dan lai xe ko co trong booking. Google map chi duong rat kho di.
- phu phi...Thêm
Dear KateNguyen88,
Cám ơn chị đã lựa chọn Emeralda Resort Ninh Bình và dành thời gian quý báu góp ý để khu nghỉ có thể đem đến sự hài lòng tuyệt đối cho khách nghỉ dưỡng.
Bản đồ chỉ dẫn tới khu nghỉ có trên...Thêm
Lễ tân thiếu chuyên nghiệp, không niềm nở khi khách check in và check out, không chào hỏi khách lúc đến và đi
Không có dao cạo râu, ko có bàn ủi quần áo, các loại dầu tắm, gội ko rõ nơi sx đc cho...Thêm
Dear Soc20152017,
Cám ơn anh/chị đã đi nghỉ tại Emeralda Resort Ninh Bình và dành thời gian góp ý cho khu nghỉ.
Ban Quản lý Khu nghỉ muốn gửi đến anh/chị lời xin lỗi đối với những trải nghiệm không như ý, và xin ghi...Thêm
vị trí tiện nhưng view bình thường, điểm cộng vào kiến trúc, cảnh quan, vật chất và trang thiết bị. Phục vụ vẫn chưa chuyên nghiệp hóa hoàn toàn, đồ ăn ngon. Giá cả cũng xứng với tầm vóc, tiền nào của nấy!Thêm
Dear Tunghoangnb9,
Cám ơn anh đã dành những lời khen cho Emeralda Resort Ninh Bình về cơ sở vật chất và dịch vụ 5 sao của khu nghỉ.
Đội ngũ khu nghỉ rất mong nhận được thêm nhiều phản hồi và ý kiến đóng góp...Thêm

Server: Apache

P3P: CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT DSP COR CAO PSA IDC ADM DEVi TAIi PSD IVAi IVDi CONi HIS CNT"

Set-Cookie: TAUnique=%1%enc%3AoiKlIapobMXxwpr%2Bq1pfXGQN9kmgvzxfab6lWkBA1jRlvAmHg3GS6Q%3D%3D; Domain=.tripadvisor.com.vn; Path=/; Expires=Mon, 16 Mar 2020 10:19:09 GMT; HttpOnly

Vary: User-Agent,Accept-Encoding

cache-control: private, no-cache, no-store, must-revalidate

X-TA-CDN-Provider: Edgecast


text:
Liên hệ Tư Vấn
1900 6068
Hotline 24/7
Khách sạn: 0938 238 060 / Tour: 0938 238 004
Vé Máy bay: 0938238106
16 Nguyễn Thái Học, Huế, Thừa Thiên Huế, Việt Nam
Tốt 7.7 10
(3 đánh giá)
Ẩn danh 19/08/2013Tuy nhiên thái độ phục vụ của nhân viên làm cho chúng tôi có cảm giác họ chỉ chăm sóc khách nước ngoài, và những người có tiền, hoặc là trông giống người có tiền.
Ẩn danh 14/05/2013Tôi thích nghe âm nhạc nhẹ nhẹ mà khách sạn trang bị cho phòng bằng hệ thống chung của tòa nhà, buffet buổi sáng ngon và phòng sạch sẽ. Vị trí thuận lợi đi bộ ra bờ sông Hương.
Ẩn danh 22/02/2013
CÔNG TY CỔ PHẦN HOTDEAL - Tầng 2, số 70 Lữ Gia, Phường 15, Quận 11, Tp.Hồ Chí MinhMã số doanh nghiệp/Mã số thuế: 0310955176 do Sở Kế hoạch đầu tư TP HCM cấp ngày 29/06/2011 ĐT: 1900 6068 - Fax: (028) 3866 3405 - Email: info@yesgo.vn
©2013 Yesgo.vn - Dịch vụ đặt phòng khách sạn tiện lợi - Phát triển bởi Vinabook.com

markdown:
Liên hệ Tư Vấn
**1900 6068**
Hotline 24/7
Khách sạn:
** 0938 238 060** / Tour: ** 0938 238 004**
Vé Máy bay:
**0938238106**
16 Nguyễn Thái Học, Huế, Thừa Thiên Huế, Việt Nam
Tốt 7.7 10
(3 đánh giá)
Ẩn danh 19/08/2013Tuy nhiên thái độ phục vụ của nhân viên làm cho chúng tôi có cảm giác họ chỉ chăm sóc khách nước ngoài, và những người có tiền, hoặc là trông giống người có tiền.
Ẩn danh 14/05/2013Tôi thích nghe âm nhạc nhẹ nhẹ mà khách sạn trang bị cho phòng bằng hệ thống chung của tòa nhà, buffet buổi sáng ngon và phòng sạch sẽ. Vị trí thuận lợi đi bộ ra bờ sông Hương.
Ẩn danh 22/02/2013
Mã số doanh nghiệp/Mã số thuế: 0310955176 do Sở Kế hoạch đầu tư TP HCM cấp ngày 29/06/2011
ĐT: 1900 6068 - Fax: (028) 3866 3405 - Email:
**CÔNG TY CỔ PHẦN HOTDEAL - Tầng 2, số 70 Lữ Gia, Phường 15, Quận 11, Tp.Hồ Chí Minh**
©2013 Yesgo.vn - Dịch vụ đặt phòng khách sạn tiện lợi - Phát triển bởi
[ Vinabook.com](http://www.vinabook.com)

Cache-Control: max-age=0, no-cache


text:
Liên hệ Tư Vấn
1900 6068
Hotline 24/7
Khách sạn: 0938 238 060 / Tour: 0938 238 004
Vé Máy bay: 0938238106
96A7 Trần Phú, P.Lộc Thọ, Nha Trang, Khánh Hòa, Việt Nam
T.Bình 10
( đánh giá)
CÔNG TY CỔ PHẦN HOTDEAL - Tầng 2, số 70 Lữ Gia, Phường 15, Quận 11, Tp.Hồ Chí MinhMã số doanh nghiệp/Mã số thuế: 0310955176 do Sở Kế hoạch đầu tư TP HCM cấp ngày 29/06/2011 ĐT: 1900 6068 - Fax: (028) 3866 3405 - Email: info@yesgo.vn
©2013 Yesgo.vn - Dịch vụ đặt phòng khách sạn tiện lợi - Phát triển bởi Vinabook.com

markdown:
Liên hệ Tư Vấn
**1900 6068**
Hotline 24/7
Khách sạn:
** 0938 238 060** / Tour: ** 0938 238 004**
Vé Máy bay:
**0938238106**
96A7 Trần Phú, P.Lộc Thọ, Nha Trang, Khánh Hòa, Việt Nam
T.Bình 10
( đánh giá)
Mã số doanh nghiệp/Mã số thuế: 0310955176 do Sở Kế hoạch đầu tư TP HCM cấp ngày 29/06/2011
ĐT: 1900 6068 - Fax: (028) 3866 3405 - Email:
**CÔNG TY CỔ PHẦN HOTDEAL - Tầng 2, số 70 Lữ Gia, Phường 15, Quận 11, Tp.Hồ Chí Minh**
©2013 Yesgo.vn - Dịch vụ đặt phòng khách sạn tiện lợi - Phát triển bởi
[ Vinabook.com](http://www.vinabook.com)


text:
Liên hệ Tư Vấn
1900 6068
Hotline 24/7
Khách sạn: 0938 238 060 / Tour: 0938 238 004
Vé Máy bay: 0938238106
01 Hàn Mặc Tử, phường Ghềnh Ráng, Quy Nhơn, Bình Định, Việt Nam
Tốt 7.0 10
(1 đánh giá)
Ms Bich Danh 31/12/2013Khách sạn sach sẽ,nhân viên nhiệt tình.ăn sáng ít thưc ăn không thay đổi món..không đúng vơi đăng câp 4 sao.không có sân tnic.
CÔNG TY CỔ PHẦN HOTDEAL - Tầng 2, số 70 Lữ Gia, Phường 15, Quận 11, Tp.Hồ Chí MinhMã số doanh nghiệp/Mã số thuế: 0310955176 do Sở Kế hoạch đầu tư TP HCM cấp ngày 29/06/2011 ĐT: 1900 6068 - Fax: (028) 3866 3405 - Email: info@yesgo.vn
©2013 Yesgo.vn - Dịch vụ đặt phòng khách sạn tiện lợi - Phát triển bởi Vinabook.com

markdown:
Liên hệ Tư Vấn
**1900 6068**
Hotline 24/7
Khách sạn:
** 0938 238 060** / Tour: ** 0938 238 004**
Vé Máy bay:
**0938238106**
01 Hàn Mặc Tử, phường Ghềnh Ráng, Quy Nhơn, Bình Định, Việt Nam
Tốt 7.0 10
(1 đánh giá)
Ms Bich Danh 31/12/2013Khách sạn sach sẽ,nhân viên nhiệt tình.ăn sáng ít thưc ăn không thay đổi món..không đúng vơi đăng câp 4 sao.không có sân tnic.
Mã số doanh nghiệp/Mã số thuế: 0310955176 do Sở Kế hoạch đầu tư TP HCM cấp ngày 29/06/2011
ĐT: 1900 6068 - Fax: (028) 3866 3405 - Email:
**CÔNG TY CỔ PHẦN HOTDEAL - Tầng 2, số 70 Lữ Gia, Phường 15, Quận 11, Tp.Hồ Chí Minh**
©2013 Yesgo.vn - Dịch vụ đặt phòng khách sạn tiện lợi - Phát triển bởi
[ Vinabook.com](http://www.vinabook.com)