VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test
Java Cơ Bản Các Khái Niệm Java OOPs Java String

Bài Tập Java

Danh sách bài tập java

Lời Giải Bài Tập Java Cơ Bản 1

Giải phương trình bậc 2 Tính giai thừa Chuyển đổi hệ cơ số Dãy so Fibonacci Tìm UCLN và BCNN Liệt kê tất cả số nguyên tố nhỏ hơn n Liệt kê n số nguyên tố đầu tiên Liệt kê tất cả số nguyên tố có 5 chữ số Phân tích số nguyên Tính tổng của các chữ số của một số nguyên Số thuận nghịch Fibonacci nhỏ hơn n là nguyên tố Viết chương trình java tính hàm SLOPE trong excel

Lời Giải Bài Tập Java Cơ Bản 2

Đếm số từ của một sâu ký tự Số lần xuất hiện các từ trong một sâu Sâu s1 chứa sâu s2?

Lời Giải Bài Tập Mảng (Array) Trong Java

Liệt kê các phần tử xuất hiện trong mảng đúng 1 lần Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần Liệt kê số lần xuất hiện của các phần tử trong một mảng Sắp xếp mảng theo thứ tự tăng dần Sắp xếp mảng theo thứ tự giảm dần Chèn phần tử vào mảng trong java Trộn 2 mảng trong java

Lời Giải Bài Tập Java Nâng Cao

Lời giải bài tập QLSV Bài tập quản lý sinh viên trong java - Tạo giao diện bằng Swing
Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Câu Hỏi Phỏng Vấn Java

Bài tập Java - Viết chương trình java tính hàm SLOPE trong excel


Bài tập Java - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố
Bài tập Java - Đếm số từ trong một chuỗi

Nội dung bài viết:

  • Mô tả và công thức tính hàm SLOPE trong Microsoft Excel.
  • Cách dùng hàm SLOPE trong Microsoft Excel.
  • Viết chương trình java tính hàm SLOPE trong excel.

Nội dung chính

  • 1. Mô tả và công thức tính hàm SLOPE trong Microsoft Excel
    • Mô tả
    • Cú pháp
    • Công thức tính
  • 2. Cách dùng hàm SLOPE trong Microsoft Excel
  • 3. Viết chương trình java tính hàm SLOPE trong excel

1. Mô tả và công thức tính hàm SLOPE trong Microsoft Excel

Mô tả

Hàm SLOPE trả về độ dốc của đường hồi quy tuyến tính thông qua các điểm dữ liệu (x, y) trong known_y's và known_x's. Độ dốc là khoảng cách dọc chia cho khoảng cách ngang giữa bất kỳ hai điểm nào trên đường đó, là tỉ lệ thay đổi dọc theo đường hồi quy.

Cú pháp


SLOPE(known_y's, known_x's)

Trong đó:

  • known_y's: Bắt buộc. Mảng hoặc Range có kiểu dữ liệu dạng số hoặc date.
  • known_x's: Bắt buộc. Mảng hoặc Range có kiểu dữ liệu dạng số hoặc date.

Công thức tính

Công thức tính hàm SLOPE trong excel

Trong đó:

  • x: là các phần tử của known_x's.
  • averageX: là giá trị trung bình của known_x's.
  • y: là các phần tử của known_y's.
  • averageY: là giá trị trung bình của known_y's.


2. Cách dùng hàm SLOPE trong Microsoft Excel

Ví dụ:

Ví dụ sử dụng hàm SLOPE trong excel

Trong ví dụ trên:

Công thức Mô tả Kết quả
B6 = SLOPE(A2:A4, B2:B4) Độ dốc của đường hồi quy tuyến tính qua các điểm dữ liệu tại A2:A4 và B2:B4. -0.714285714
E6 = SLOPE(D2:D4, E2:E4) Độ dốc của đường hồi quy tuyến tính qua các điểm dữ liệu tại D2:D4 và E2:E4. -0.714285714

Bạn để ý thấy rằng Range(A2:A4) và Range(D2:D4) tương đương với nhau. Vì B6 và E6 trả về giá trị giống nhau.

Khi giá trị của known_x's hoặc known_y's là kiểu date thì nó sẽ được quy đổi sang kiểu số trước khi tính slope. Với quy ước giá trị date nhỏ nhất bằng 1.0 tính theo đơn vị ngày.


3. Viết chương trình java tính hàm SLOPE trong excel

Đề bài: Viết chương trình java tính hàm SLOPE trong excel. Với known_x's là một mảng các số và known_y's là một mảng các giá trị có kiểu date.

Tạo hàm lớp common chứa các phương thức tính slope và phương thức chuyển đổi dạng list date thành dạng list các số:


package vn.viettuts;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Common {
    public static final long MILLI_SECOND_PER_DAY = 60 * 60 * 24 * 1000;
    public static final String DATE_FOMART = "MM/dd/yyyy";
    
    /**
     * tinh slope theo cong thuc slope=∑(x-averageX)(y-averageY)/∑(x-averageX)^2
     * trong do: averageX la gia tri trung binh cua listX
     *           averageY la gia tri trung binh cua listY
     *
     * @param listY: danh sach so thuc
     * @param listX: danh sach so thuc
     * @return slope cua listX va listY
     * @throws ParseException
     */
    public static float slope(List<Float> listY, List<Float> listX) 
            throws ParseException {
        float averageX;
        float averageY;
        float totalX = 0;
        float totalY = 0;
        float totalAX_AY = 0;
        float totalAX_AX = 0;
        int i;

        // tinh tong cot x va y
        for (i = 0; i < listX.size(); i++) {
            totalX = totalX + listX.get(i);
            totalY = totalY + listY.get(i);
        }
        // tinh gia tri trung binh cua listX va listY
        averageX = totalX / listX.size();
        averageY = totalY / listX.size();

        for (i = 0; i < listX.size(); i++) {
            // tinh tong (x-averageX)*(y-averageY)
            totalAX_AY = totalAX_AY 
                    + ((listX.get(i) - averageX) * (listY.get(i) - averageY));
            // tinh tong (x-averageX)^2
            totalAX_AX = totalAX_AX 
                    + ((listX.get(i) - averageX) * (listX.get(i) - averageX));
        }
        // return slope cua day so x va day so y
        return totalAX_AY / totalAX_AX;
    }

    /**
     * chuyen doi danh sach date dang chuoi thanh danh sach so thuc
     * voi quy uoc min date (day) = 1.0
     * 
     * @param listStrDates: danh sach date dang chuoi
     * @return List<Float>: danh sach so thuc
     * @throws ParseException
     */
    public static List<Float> parseDateToFloats(List<String> listStrDates) 
            throws ParseException {
        List<Date> listDates = new ArrayList<>();
        List<Float> listY = new ArrayList<>();
        
        // phan tich string thanh date
        listDates = parseStringToDates(listStrDates);
        Date minDate = listDates.get(0);

        // tim min date
        for (Date date : listDates) {
            if (minDate.getTime() > date.getTime()) {
                minDate = date;
            }
        }

        // chuyen doi date thanh so thuc voi quy uoc min date (day) = 1.0
        for (Date date : listDates) {
            listY.add((float) (
                    (date.getTime() - minDate.getTime()) / MILLI_SECOND_PER_DAY) 
                    + 1.0F);
        }
        
        return listY;
    }
    
    /**
     * phan tich list string thanh list date
     * 
     * @param listStrDates: list date dang string
     * @return List<Date>
     * @throws ParseException
     */
    public static List<Date> parseStringToDates(List<String> listStrDates) 
            throws ParseException {
        List<Date> listDates = new ArrayList<>();
        SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FOMART);

        for (String strDate : listStrDates) {
            listDates.add(dateFormat.parse(strDate.trim()));
        }

        return listDates;
    }
}

Tạo lớp Test.java


package vn.viettuts;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        float slope;
        List<String> listStrDates = new ArrayList<>();
        List<Float> listY = new ArrayList<>();
        List<Float> listX = new ArrayList<>();

        try {
            // add gia tri cho listStrDates
            listStrDates.add("12/19/2017");
            listStrDates.add("12/18/2017");
            listStrDates.add("1/2/2018");
            // chuyen doi listStrDates sang dang so listY
            listY = Common.parseDateToFloats(listStrDates);
            // define listX
            listX.add(4F);
            listX.add(1F);
            listX.add(2F);
            // tinh slope cua listY va listX
            slope = Common.slope(listY, listX);
            System.out.println(slope);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Kết quả:

-0.7142857

Bài tập Java - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố
Bài tập Java - Đếm số từ trong một chuỗi

Recent Updates

Sử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaBài tập quản lý sinh viên trong JavaHashSet trong javaHashMap trong javaLớp WindowAdapter trong Java SwingLớp MouseMotionAdapter trong Java SwingLớp MouseAdapter trong Java Swing

VietTuts on facebook

Học VBA Excel Online

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml