2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 00:34 
Аватара пользователя


19/10/13
53
Здравствуйте вообще сперва делаю некоторые преобразования потом используб фуекцию Dsolve пробовал и так и этак ничего не выходит.
Помогите пожалуйста разобраться
Код:
d := (\[Mu] k)/(k + \[Mu]);
W1[x_, z_, t_] := A E^(I (c1 x + c2 z - \[Omega] t));
W3[x_, z_, t_] := B E^(I (c1 x + c2 z - \[Omega] t));

a := (\[Lambda] + \[Mu]) D[W1[x, z, t], x, x] + (\[Lambda] + d) D[
     W3[x, z, t], x, z] +
   d D[W1[x, z, t], z,
     z] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
    3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, z,
       z] + D[W3[x, z, t], z, x, x,
       x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
    12 (k + \[Mu])^2) (D[W1[x, z, t], z, z, t, t] +
      D[W3[x, z, t], z, x, t, t]);
b := \[Rho] D[W1[x, z, t], t, t];

c := (\[Lambda] + \[Mu]) D[W3[x, z, t], z, z] + (\[Lambda] + d) D[
     W1[x, z, t], x, z] +
   d D[W3[x, z, t], x,
     x] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
    3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, x,
       z] + D[W3[x, z, t], x, x, x,
       x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
    12 (k + \[Mu])^2) (D[W1[x, z, t], x, z, t, t] +
      D[W3[x, z, t], x, x, t, t]);
d := \[Rho] D[W3[x, z, t], t, t];
eqn1 = a - b
eqn2 = c - d
DSolve[{eqn1, eqn2},  x, z, t]

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 03:14 
Заслуженный участник


27/04/09
28128
1. А чего это у вашей DSolve четыре параметра?
2. Уравнения должны быть вида expr1 == expr2, а у вас не.
3. DSolve любит, чтобы зависимые и независимые аргументы были разделены чётко, и функции были в виде зависимый[независимые]. Смотря на ваши уравнения, я так и не понял, какие из переменных какие, так что никакого автоматического преобразования подсказать не смогу.

Примеры правильных вызовов DSolve:
Код:
DSolve[y'[x] + 28x y[x] == 0, y[x], x]
DSolve[{y''[t] == k y[t], y[0] == s}, y[t], t]
DSolve[{f'[x] == g[x], f[x] == g'[x]}, {f[x], g[x]}, x]
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]
(если чьё-то решение не найдёт — это уже другое дело).

Ну а вообще есть F1. И стоит приводить текст выдаваемой ошибки. Понимаю, можно ваш код скопировать и запустить — но всё же…

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 11:16 
Аватара пользователя


19/10/13
53
Поробовал еще так
Код:
DSolve[{(\[Lambda] + \[Mu]) D[W1[x, z, t], x, x] + (\[Lambda] + d) D[
      W3[x, z, t], x, z] +
    d D[W1[x, z, t], z,
      z] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
     3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, z,
        z] + D[W3[x, z, t], z, x, x,
        x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
     12 (k + \[Mu])^2) (D[W1[x, z, t], z, z, t, t] +
       D[W3[x, z, t], z, x, t, t]) == \[Rho] D[W1[x, z, t], t,
     t], (\[Lambda] + \[Mu]) D[W3[x, z, t], z, z] + (\[Lambda] + d) D[
      W1[x, z, t], x, z] +
    d D[W3[x, z, t], x,
      x] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
     3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, x,
        z] + D[W3[x, z, t], x, x, x,
        x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
     12 (k + \[Mu])^2) (D[W1[x, z, t], x, z, t, t] +
       D[W3[x, z, t], x, x, t, t]) == \[Rho] D[W3[x, z, t], t,
     t]}, {W1[x, z, t], W2[x, z, t]}, {x, z, t}]

получаю
Код:
DSolve::dsfun: "A\ E^(I\(c1\x+c2\z-t\\[Omega])) cannot be used as a function"

переменных у нас всего 3 x,z,t функции W1 и W3 вверху определены остальные все константы

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:21 
Аватара пользователя


19/10/13
53
начал искать ошиьку учиться более простые уравнения решать
Код:
eqn = y'[x, z] == x + 2 z;
sol = DSolve[eqn, y, {x, z}]

что то как несколько переменных где функцию определять надо так вообще беда
The length of the derivative operator Derivative[1] in (y^\[Prime])[x,z] is not the same as the number of arguments. >>

-- 20.02.2015, 13:36 --

вот казалось бы ошибок просто нет но
Код:
ClearAll["Global`*"]
u[x_, y_] := x + y;
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]

"x+y cannot be used as a function"

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:36 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Devin, перестаньте уже тупить, сколько можно. Ответьте чётко, что такое у вас y'[x, z]?

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:44 
Аватара пользователя


19/10/13
53
y'[x, z] первая производная функции y зависящая от x и z.
Самый последний пример как определить функцию u[x, y] для Dsolve ? Я уже замучился с этими дифференциальными уравнениями от нескольких переменных

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:58 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Devin в сообщении #980469 писал(а):
y'[x, z] первая производная функции y зависящая от x и z.
Да вы же издеваетесь.
arseniiv, вы человек вежливый, объясните ему, где он неправ, а то я, поди, сорвусь на некрасивые слова. (Или не сорвусь, но подробнее отвечу попозже.)

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 13:08 
Аватара пользователя


19/10/13
53
Сорвитесь но объясните, в интернете полно легких примеров. Но почти ничего нет от нескольких переменных с определение функции.
u[x_, y_] := x + y;
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]
Здесь например что не так?

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 13:12 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Devin в сообщении #980475 писал(а):
Здесь например что не так?
Вырвиглазное оформление кода. Заключайте его, пожалуйста, в тег tt. Ну невозможно же воспринимать.

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 13:18 
Аватара пользователя


19/10/13
53
u[x_, y_] := x + y;
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]

ну вот оформил в тег тт. Мне нужен всего один пример как определить функцию нескольких переменных для dsolve. Дальше я все сам сделаю.

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 14:27 
Заслуженный участник


25/02/11
1797
Вы сначала определили функцию $u$, а потом решили ее найти? :-) Вот так работает:
Код:
Clear[u]
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 15:42 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Vince Diesel, опередили ;-)
Devin, теперь вам всё понятно?

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 21:56 
Заслуженный участник


27/04/09
28128

(2 Aritaborian.)

Aritaborian в сообщении #980472 писал(а):
вы человек вежливый
Ну, не сказал бы. И в интернете, и даже вне находились недовольные (тут уже чаще отдельными фразами). :lol:

Devin
Если намёк от Vince Diesel увидите — хорошо. Если нет — откройте спойлер:

(Что не так.)

У функции двух переменных ведь нет просто производной. Штрих в M., как и обычно, обозначает производную по единственному аргументу (хотя в физике в функциях от двух переменных $x, t$ производная по $x$ может обозначаться штрихами, а по $t$ точками над). Частную производную проще записать через D, хотя и есть функция Derivative, указывающая, сколько раз по какому аргументу брать, и штрих — это применение Derivative[1] — но этого знать не обязательно, M. сама себе преобразует, хотя в сообщении об ошибке Derivative и встретилось. Ну, тут, как я уже предлагал, можно жать F1.

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 22:44 
Аватара пользователя


19/10/13
53
Спасибо я немного запутался с постановкой задачи. Та проблема что была решена. Теперь вот такой вопрос как использовать решения уравнения
Код:
ClearAll["Global`*"]
\[Mu] = 1;
\[Rho] = 1;
\[Mu] = 1;
\[Alpha] = 30;
\[Epsilon] = 1;
\[Lambda] = 1;
a11 = (k + \[Mu])^2*(\[Lambda] +
     2*\[Mu])*(12*\[Rho]*\[Omega]^2 - (12*k*q^2*\[Mu]*Cos[\[Alpha]]^2)/
           (k + \[Mu]) + (q^2*\[Epsilon]^2*\[Mu]^2*\[Rho]*\[Omega]^2*
        Cos[\[Alpha]]^2)/(k + \[Mu])^2 -
         12*q^2*(\[Lambda] + 2*\[Mu])*
      Sin[\[Alpha]]^2 - (q^4*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*
        Sin[2*\[Alpha]]^2)/
           ((k + \[Mu])^2*(\[Lambda] + 2*\[Mu])));
a22 = (k + \[Mu])^2*(\[Lambda] + 2*\[Mu])*(12*\[Rho]*\[Omega]^2 -
     12*q^2*(\[Lambda] + 2*\[Mu])*Cos[\[Alpha]]^2 -
         (12*k*q^2*\[Mu]*
        Sin[\[Alpha]]^2)/(k + \[Mu]) + (q^2*\[Epsilon]^2*\[Mu]^2*\
\[Rho]*\[Omega]^2*Sin[\[Alpha]]^2)/
           (k + \[Mu])^2 - (4*
        q^4*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*Sin[\[Alpha]]^4)/
           ((k + \[Mu])^2*(\[Lambda] + 2*\[Mu])));
a12 = q^2*
   Cos[\[Alpha]]*(-12*
      k^2*(\[Lambda]^2 + 3*\[Lambda]*\[Mu] + 2*\[Mu]^2) -
         12*k*\[Mu]*(2*\[Lambda]^2 + 5*\[Lambda]*\[Mu] + 2*\[Mu]^2) +
         \[Mu]^2*(-2*
         q^2*\[Epsilon]^2*(\[Lambda] + \[Mu]) - (\[Lambda] +
           2*\[Mu])*(12*\[Lambda] - \[Epsilon]^2*\[Rho]*\[Omega]^2)) +
         2*q^2*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*
      Cos[2*\[Alpha]])*Sin[\[Alpha]];
a21 = q^2*
   Cos[\[Alpha]]*(-12*
      k^2*(\[Lambda]^2 + 3*\[Lambda]*\[Mu] + 2*\[Mu]^2) -
         12*k*\[Mu]*(2*\[Lambda]^2 + 5*\[Lambda]*\[Mu] + 2*\[Mu]^2) +
         \[Mu]^2*(-2*
         q^2*\[Epsilon]^2*(\[Lambda] + \[Mu]) - (\[Lambda] +
           2*\[Mu])*(12*\[Lambda] - \[Epsilon]^2*\[Rho]*\[Omega]^2)) +
         2*q^2*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*
      Cos[2*\[Alpha]])*Sin[\[Alpha]];
det = Simplify[a11 a22 - a12 a21]
sol = Simplify[Solve[det == 0, \[Omega]]]
Cv = sol[[1]]/q

Если так как в последней строчке то просто с боку переписаваеться единица на q, просто потом мне надо построить график омега/q от к
{(1/q)(\[Omega] -> -(1/Sqrt[
6])(\[Sqrt]((108 q^2 + 252 k q^2 + 144 k^2 q^2 + 10 q^4 -
4 q^4 Cos[60] +
3 q^4 Cos[
120] - \[Sqrt](q^4 ((108 + 252 k + 144 k^2 +
q^2 (10 - 4 Cos[60] + 3 Cos[120]))^2 -
24 (12 + 24 k + 12 k^2 + q^2) (54 k^2 -
18 k (-4 + Cos[120]) - 18 (-1 + Cos[120]) -
q^2 (-4 + 5 Cos[60] - 2 Cos[120] +
Cos[180])))))/(12 + 24 k + 12 k^2 + q^2))))}


-- 20.02.2015, 23:50 --

Разобрался
Cv = \[Omega]/q /. sol[[1]]

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 22:52 
Заслуженный участник


27/04/09
28128
Правильно, это лучший способ!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: gris


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group