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
1 / 3
❮ ❯

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ắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Java Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử 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 java

VietTuts on facebook

Học VBA Excel Online
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

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

Scroll back to top

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