Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Решение уравнений в символьном виде - функция solve




Кетков стр 472

Для решения систем нелинейных уравнений следует также использовать функцию solve из пакета Symbolic Math Toolbox. Эта функция способна выдавать результат в символьной форме, а если такого нет, то она позволяет получить решение в численном виде.

 

Пример 1

 

 

Решение квадратного уравнения в общем виде

Syms a b c x;

f=a*x^2+b*x+c

Solve(f)

>> syms a b c x;

f=a*x^2+b*x+c

solve(f)

f =

a*x^2 + b*x + c

ans =

-(b + (b^2 - 4*a*c)^(1/2))/(2*a)

-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

>>

Решение квадратного уравнения в численном виде

solve('x^2-5*x+6=0',x)

>> solve('x^2-5*x+6=0',x)

ans =

или так:

S=solve('x^2-5*x+6=0',x)

Пример 2

Решение кубического уравнения в численном виде

syms x; %описание символьных переменных

S=solve('x^3-9*x^2+26*x-24=0',x)

>> S=solve('x^3-9*x^2+26*x-24=0',x)

S =

Пример 2

2.1

Система двух уравнений с двумя неизвестными

 

syms x y; %описание переменных в символьном виде

solve('x+y=3','x*y^2=4',x,y)% выдает только количество корней

%Переменная S: более одного ответа; распечатаем корни

S=solve('x+y=3','x*y^2=4',x,y)%выдает только количество корней

S.x %указание на распечатку значений для x: (x1=1; x2=4)

S.y %указание на распечатку значений для y: (y1=2; y2=-1)

%слово ans= при распечатке означает значение безымянной переменной

%Ответ:(1; 2) или (4; -1)

Pause

 

2.2

Система двух уравнений с двумя неизвестными

syms x y;

t=solve('2*x+5*y=26','3*x-y=5',x,y)

t.x

t.y

%если в функциях нет равенства, то по умолчанию считается =0

disp('решения для СЛУ с 2 неизвестными, заданными в символьном виде')

syms x y;

t=solve('2*x+5*y-26','3*x-y-5',x,y)%нет точки с запятой,

%поэтому распечатает количество ответов.

%печать x и y (можно просто сразу печатать ответ t.x t.y)

X=t.x %значения корней будет присвоено переменным X и Y

Y=t.y

 

Пример 3

 

Решение трех уравнений с тремя неизвестными

1).

syms x y z;

d=solve('0.1*x-0.04*y-0.13*z=-0.15','-0.04*x-0.34*y+0.05*z=0.31','-0.13*x+0.05*y+0.63*x=0.37',x,y,z);

R=[d.x;d.y;d.z] %возвращает значения x,y,z.

%ответ: R = 0.81135 -0.71347 1.9975

disp(vpa(R,3))

%или

R=vpa(R,3) %выводит 3 значащих цифры (без учета точки и знаков + -)

 

2).

syms x y z;

d=solve('2*abs(x*y-3*y-4*x+12)+z=-23.16','z=-24.08','z-(x^2)-(y^2)+6*x+8*y=0',x,y,z)

dxyz=[d.x;d.y;d.z] %вывод без формата

XYZ=vpa(dxyz,3)%количество значащих цифр числа = 3

%(без точки и знаков + -)

%ответ: x=2.32; y=3.32; z=-24.1

 

 

Пример 4

 

y=x^3-1

 

syms x y; %описание символьных переменных

solve(x^3-1,x)

ans =

- 1/2 - (3^(1/2)*i)/2

- 1/2 + (3^(1/2)*i)/2

 

Или

solve('x^3-1=0',x)

 

Пример 5

 

solve('x^2-5*x+6=0',x) %ответ: 2 и 3

ans =

 

Пример 6

 

Решить систему нелинейных уравнений

 

S=solve('x+y=3','x*y^2=4',x,y) %без; возвращает количество
корней (2 пары),

%далее S.x и S.y возвращают значения x и y.

S.x

S.y

>> S=solve('x+y=3','x*y^2=4',x,y)

S =

x: [2x1 sym]

y: [2x1 sym]

>> S.x

S.y

ans =

ans =

-1

 

% возвращает две пары ответов (1;2)или(4;-1)

Пример 7

solve('2^x=8',x) %ответ: 3

Пример 8

Найти корни уравнения 0.25*x + sin(x) -1=0

solve('0.25*x + sin(x) -1)

ans =

0.89048708074438001001103173059554

_______________________________________________________

4. Решение систем линейных и нелинейных уравнений
к лабораторной работе №2

Матричный метод

disp('вектор решения по трем формулам для СЛУ-2 с 3 неизвестными')

A=[2 3 -2;5 -2 4;3 -1 2]

B=[11;8;5]

x1=A\B

x2=A^(-1)*B

x3=inv(A)*B

A*x1 % Проверка

В символьном виде

Syms x y z;

d=solve('0.1*x-0.04*y-0.13*z=-0.15','-0.04*x-0.34*y+0.05*z=0.31','-0.13*x+0.05*y+0.63*x=0.37',x,y,z);

R=[d.x;d.y;d.z] %возвращает значения x,y,z.

%ответ: R = 0.81135 -0.71347 1.9975

Disp(vpa(R,3))

%или

R=vpa(R,3) %выводит 3 значащих цифры (без учета точки и знаков + -)

Метод Крамера

A=[1 2 3 4;-1 2 -3 4;0 1 -1 1;1 1 1 1]

b=[30;10;3;10]

Rank(A)

A1=A; A2=A; A3=A; A4=A;

A1(:,1)=b;

A2(:,2)=b;

A3(:,3)=b;

A4(:,4)=b;

x1=det(A1)/det(A)

x2=det(A2)/det(A)

x3=det(A3)/det(A)

x4=det(A4)/det(A)

x=[x1;x2;x3;x4];

A*x % Проверка

A*x-b % Проверка (есть погрешность)





Поделиться с друзьями:


Дата добавления: 2015-10-20; Мы поможем в написании ваших работ!; просмотров: 1195 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2489 - | 2155 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.