Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> MATLAB

MATLAB - Aljabar

Sejauh ini, kita telah melihat bahwa semua contoh bekerja di MATLAB serta GNU-nya, atau disebut Oktaf. Tetapi untuk menyelesaikan persamaan aljabar dasar, MATLAB dan Oktaf sedikit berbeda, jadi kami akan mencoba membahas MATLAB dan Oktaf di bagian terpisah.

Kami juga akan membahas faktorisasi dan penyederhanaan ekspresi aljabar.

Menyelesaikan Persamaan Aljabar Dasar di MATLAB

menyelesaikan fungsi yang digunakan untuk menyelesaikan persamaan aljabar. Dalam bentuknya yang paling sederhana, fungsi solve mengambil persamaan yang diapit tanda kutip sebagai argumen.

Sebagai contoh, mari kita selesaikan untuk x dalam persamaan x-5 =0

solve('x-5=0')

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

ans =
   5

Anda juga dapat memanggil fungsi penyelesaian sebagai −

y = solve('x-5 = 0')

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

y =
   5

Anda bahkan mungkin tidak memasukkan ruas kanan persamaan −

solve('x-5')

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

ans =
   5

Jika persamaan melibatkan banyak simbol, maka MATLAB secara default mengasumsikan bahwa Anda menyelesaikan x, namun, fungsi penyelesaian memiliki bentuk lain

solve(equation, variable)

di mana, Anda juga dapat menyebutkan variabelnya.

Sebagai contoh, mari kita selesaikan persamaan v – u – 3t 2 =0, untuk v. Dalam hal ini, kita harus menulis

solve('v-u-3*t^2=0', 'v')

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

ans =
   3*t^2 + u

Menyelesaikan Persamaan Aljabar Dasar dalam Oktaf

akar fungsi digunakan untuk menyelesaikan persamaan aljabar dalam Oktaf dan Anda dapat menulis contoh di atas sebagai berikut −

Sebagai contoh, mari kita selesaikan untuk x dalam persamaan x-5 =0

Demo Langsung
roots([1, -5])

Oktaf akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

ans = 5

Anda juga dapat memanggil fungsi penyelesaian sebagai −

Demo Langsung
y = roots([1, -5])

Oktaf akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

y = 5

Menyelesaikan Persamaan Kuadrat di MATLAB

menyelesaikan fungsi juga dapat menyelesaikan persamaan orde tinggi. Ini sering digunakan untuk menyelesaikan persamaan kuadrat. Fungsi mengembalikan akar persamaan dalam array.

Contoh berikut menyelesaikan persamaan kuadrat x 2 -7x +12 =0. Buat file skrip dan ketik kode berikut

eq = 'x^2 -7*x + 12 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

The first root is: 
   3
The second root is: 
   4

Menyelesaikan Persamaan Kuadrat dalam Oktaf

Contoh berikut menyelesaikan persamaan kuadrat x 2 -7x +12 =0 dalam Oktaf. Buat file skrip dan ketik kode berikut

Demo Langsung
s = roots([1, -7, 12]);

disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

The first root is: 
   4
The second root is: 
   3

Menyelesaikan Persamaan Orde Tinggi di MATLAB

menyelesaikan fungsi juga dapat menyelesaikan persamaan orde tinggi. Sebagai contoh, mari kita selesaikan persamaan kubik sebagai (x-3) 2 (x-7) =0

solve('(x-3)^2*(x-7)=0')

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut

ans =
   3
   3
   7

Dalam kasus persamaan orde tinggi, akar panjang mengandung banyak suku. Anda bisa mendapatkan nilai numerik dari akar tersebut dengan mengubahnya menjadi dua kali lipat. Contoh berikut menyelesaikan persamaan orde keempat x 4 7x 3 + 3x 2 5x + 9 =0.

Buat file skrip dan ketik kode berikut

eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = 0';
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
disp('The third root is: '), disp(s(3));
disp('The fourth root is: '), disp(s(4));

% converting the roots to double type
disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));

Saat Anda menjalankan file, ia mengembalikan hasil berikut

The first root is: 
6.630396332390718431485053218985
 The second root is: 
1.0597804633025896291682772499885
 The third root is: 
- 0.34508839784665403032666523448675 - 1.0778362954630176596831109269793*i
 The fourth root is: 
- 0.34508839784665403032666523448675 + 1.0778362954630176596831109269793*i
Numeric value of first root
   6.6304
Numeric value of second root
   1.0598
Numeric value of third root
   -0.3451 - 1.0778i
Numeric value of fourth root
   -0.3451 + 1.0778i

Harap dicatat bahwa dua akar terakhir adalah bilangan kompleks.

Menyelesaikan Persamaan Orde Tinggi dalam Oktaf

Contoh berikut menyelesaikan persamaan orde keempat x 4 7x 3 + 3x 2 5x + 9 =0.

Buat file skrip dan ketik kode berikut

Demo Langsung
v = [1, -7,  3, -5, 9];
s = roots(v);

% converting the roots to double type
disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));

Saat Anda menjalankan file, ia mengembalikan hasil berikut

Numeric value of first root
 6.6304
Numeric value of second root
-0.34509 + 1.07784i
Numeric value of third root
-0.34509 - 1.07784i
Numeric value of fourth root
 1.0598

Memecahkan Sistem Persamaan di MATLAB

menyelesaikan fungsi juga dapat digunakan untuk menghasilkan solusi sistem persamaan yang melibatkan lebih dari satu variabel. Mari kita ambil contoh sederhana untuk mendemonstrasikan penggunaan ini.

Mari kita selesaikan persamaan

5x + 9y =5

3x – 6y =4

Buat file skrip dan ketik kode berikut

s = solve('5*x + 9*y = 5','3*x - 6*y = 4');
s.x
s.y

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

ans =
   22/19
ans =
   -5/57

Dengan cara yang sama, Anda dapat menyelesaikan sistem linier yang lebih besar. Perhatikan himpunan persamaan berikut

x + 3y -2z =5

3x + 5th + 6z =7

2x + 4y + 3z =8

Memecahkan Sistem Persamaan dalam Oktaf

Kami memiliki pendekatan yang sedikit berbeda untuk menyelesaikan sistem persamaan linear 'n' dalam 'n' yang tidak diketahui. Mari kita ambil contoh sederhana untuk mendemonstrasikan penggunaan ini.

Mari kita selesaikan persamaan

5x + 9y =5

3x – 6y =4

Sistem persamaan linier seperti itu dapat ditulis sebagai persamaan matriks tunggal Ax =b, di mana A adalah matriks koefisien, b adalah vektor kolom yang memuat ruas kanan persamaan linier dan x adalah vektor kolom yang mewakili solusi sebagai ditunjukkan pada program di bawah ini

Buat file skrip dan ketik kode berikut

Demo Langsung
A = [5, 9; 3, -6];
b = [5;4];
A \ b

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

ans =

   1.157895
  -0.087719

Dengan cara yang sama, Anda dapat menyelesaikan sistem linier yang lebih besar seperti yang diberikan di bawah ini −

x + 3y -2z =5

3x + 5th + 6z =7

2x + 4y + 3z =8

Memperluas dan Mengumpulkan Persamaan di MATLAB

perluas dan mengumpulkan fungsi memperluas dan mengumpulkan persamaan masing-masing. Contoh berikut menunjukkan konsep −

Ketika Anda bekerja dengan banyak fungsi simbolik, Anda harus mendeklarasikan bahwa variabel Anda adalah simbolis.

Buat file skrip dan ketik kode berikut

syms x   %symbolic variable x
syms y   %symbolic variable x
% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(sin(2*x))
expand(cos(x+y))
 
% collecting equations
collect(x^3 *(x-7))
collect(x^4*(x-3)*(x-5))

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

ans =
   x^2 + 4*x - 45
ans =
   x^4 + x^3 - 43*x^2 + 23*x + 210
ans =
   2*cos(x)*sin(x)
ans =
   cos(x)*cos(y) - sin(x)*sin(y)
ans =
   x^4 - 7*x^3
ans =
   x^6 - 8*x^5 + 15*x^4

Memperluas dan Mengumpulkan Persamaan dalam Oktaf

Anda harus memiliki simbolik paket, yang menyediakan perluas dan mengumpulkan fungsi untuk memperluas dan mengumpulkan persamaan, masing-masing. Contoh berikut menunjukkan konsep −

Ketika Anda bekerja dengan banyak fungsi simbolik, Anda harus mendeklarasikan bahwa variabel Anda adalah simbolik tetapi Oktaf memiliki pendekatan yang berbeda untuk mendefinisikan variabel simbolik. Perhatikan penggunaan Sin dan Cos , yang juga didefinisikan dalam paket simbolis.

Buat file skrip dan ketik kode berikut

% first of all load the package, make sure its installed.
pkg load symbolic

% make symbols module available
symbols

% define symbolic variables
x = sym ('x');
y = sym ('y');
z = sym ('z');

% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(Sin(2*x))
expand(Cos(x+y))
 
% collecting equations
collect(x^3 *(x-7), z)
collect(x^4*(x-3)*(x-5), z)

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

ans =

-45.0+x^2+(4.0)*x
ans =

210.0+x^4-(43.0)*x^2+x^3+(23.0)*x
ans =

sin((2.0)*x)
ans =

cos(y+x)
ans =

x^(3.0)*(-7.0+x)
ans =

(-3.0+x)*x^(4.0)*(-5.0+x)

Faktorisasi dan Penyederhanaan Ekspresi Aljabar

faktor fungsi memfaktorkan ekspresi dan penyederhanaan fungsi menyederhanakan ekspresi. Contoh berikut menunjukkan konsep

Contoh

Buat file skrip dan ketik kode berikut

syms x
syms y
factor(x^3 - y^3)
factor([x^2-y^2,x^3+y^3])
simplify((x^4-16)/(x^2-4))

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

ans =
   (x - y)*(x^2 + x*y + y^2)
ans =
   [ (x - y)*(x + y), (x + y)*(x^2 - x*y + y^2)]
ans =
   x^2 + 4

MATLAB

  1. MATLAB - Ikhtisar
  2. MATLAB - Sintaks Dasar
  3. MATLAB - Variabel
  4. MATLAB - Perintah
  5. MATLAB - Tipe Data
  6. MATLAB - Operator
  7. MATLAB - Vektor
  8. MATLAB - Matriks
  9. MATLAB - Array
  10. MATLAB - Notasi Titik Dua